消除热点资源竞争的方法和装置的制造方法

文档序号:9235347阅读:197来源:国知局
消除热点资源竞争的方法和装置的制造方法
【技术领域】
[0001] 本发明涉及计算机技术领域,特别涉及一种消除热点资源竞争的方法和装置。
【背景技术】
[0002] 随着多核技术、虚拟化技术和云计算技术的不断成熟,多核处理器被广泛地应用 于云计算环境。在云计算环境下,服务器普遍采用多核处理器、非一致内存访问的系统架 构。在该种系统架构下,每台服务器上拥有多个节点,每个节点上拥有多个虚拟处理核也且 该些个虚拟处理核也共享最后一级缓存等资源。由于同一节点上的不同虚拟处理核也共享 相同的资源,当任务运行在不同的虚拟处理核也上时,各个虚拟处理核也将竞争共享资源, 该共享资源即为热点资源。由于热点资源不仅影响不同程序的性能,而且影响整个系统的 性能。因此,为了提高系统的性能,如何消除热点资源竞争,成为本领域技术人员较为关注 的问题。
[0003] 相关技术在消除热点资源竞争时,采用如下两种方式:
[0004] 方式一:首先为每个虚拟处理核也分配对应的缓存区域,并根据每个虚拟处理核 也上运行的程序将为每个虚拟处理核也分配的缓存区域划分成不同的行且每一行对应不 同的程序,然后将每个程序和对应的缓存行着W相同的颜色,当不同的虚拟处理核也从内 存读取数据之后,根据不同的虚拟处理核也读取的数据对应的程序将读取到的数据存储到 对应的缓存行中,从而避免了不同的虚拟处理核也之间及同一虚拟处理核也的不同程序之 间的资源竞争,达到了消除热点资源竞争的目的。
[0005] 方式二:首先将适合一起运行的虚拟处理核也调度到同一个节点上,然后分析每 个节点上的虚拟处理核也的性能信息,当某一虚拟处理核也与同一节点上的其他虚拟处理 核也竞争资源导致其他虚拟处理核也的性能下降时,则将该虚拟处理核也复制到新的服务 器上进行细粒度性能特征分析,得到该虚拟处理核也的最新性能信息,进而根据得到的该 虚拟处理核也的最新性能信息采用测试程序模拟将该虚拟处理核也调度到目的服务器上 之后该虚拟处理核也对其他虚拟处理核也产生的影响,若影响较小,则可将该虚拟处理核 也调度到目的服务器上,若影响较大,则需重新启动一台服务器,进而将该虚拟处理核也调 度到新的服务器上,从而消除了被调度的虚拟处理核也所在的节点上的各个虚拟处理核也 之间的热点资源竞争。
[0006] 在实现本发明的过程中,发明人发现相关技术至少存在W下问题:
[0007] 由于方式一将每个虚拟处理核也的不同程序分配对应的缓存行,而当某个虚拟处 理核也上的某一程序发生变化时,该程序的缓存使用情况也相应的发生变化,分配给该程 序的缓存区域也将发生相应的变化,而此时方式一就不能很好地适应该种变化,导致相关 技术在消除热点资源竞争的灵活性较差。
[0008] 由于方式二需要将对同一节点上的其他虚拟核也的性能产生影响的虚拟处理核 也复制到新的服务器上进行细粒度的行为特征分析,且需要将该虚拟处理核也调度到其他 服务器上,导致相关技术在消除热点资源竞争时的资源消耗较大。

【发明内容】

[0009] 为了解决现有技术的问题,本发明实施例提供了一种消除热点资源竞争的方法和 装置。所述技术方案如下:
[0010] 第一方面,提供了一种消除热点资源竞争的方法,所述方法包括:
[0011] 确定系统中每个节点的节点压力,并根据所述每个节点的节点压力得到系统节点 压力的相对标准差;
[0012] 根据所述系统节点压力的相对标准差判断系统中是否存在满足调度条件的节 占. ;、、、?
[0013] 若系统中存在满足调度条件的节点,则在满足调度条件的节点上确定需要调度的 虚拟处理核也,并对需要调度的虚拟处理核也进行调度。
[0014] 结合第一方面,在第一方面的第一种可能的实现方式中,所述确定系统中每个节 点的节点压力,包括:
[0015] 获取系统中每个节点的虚拟处理核也运行时的硬件行为信息;
[0016] 根据获取到的每个节点的虚拟处理核也运行时的硬件行为信息确定每个节点上 的节点压力。
[0017] 结合第一方面,在第一方面的第二种可能的实现方式中,所述根据所述系统节点 压力的相对标准差判断系统中是否存在满足调度条件的节点,包括:
[0018] 获取系统中每个节点的中央处理器CPU的负载值,并根据所述每个节点的CPU的 负载值确定系统的CPU负载值的相对标准差;
[0019] 将所述系统中节点压力的相对标准差与系统的CPU负载值的相对标准差进行比 较;
[0020] 若所述系统中节点压力的相对标准差大于系统的CPU负载值的相对标准差,则判 断系统中存在满足调度条件的节点。
[0021] 结合第一方面,在第一方面的第H种可能的实现方式中,所述在满足调度条件的 节点上确定需要调度的虚拟处理核也,包括:
[0022] 在满足调度条件的节点上查找每千条指令失配次数MPKI值最大和最小的虚拟处 理核也;
[0023] 判断所述MPKI值最大的虚拟处理核也的是否为内存非本地的虚拟处理核也;
[0024] 若所述MPKI值最大的虚拟处理核也是内存非本地的虚拟处理核也,则将所述 MPKI值最大的虚拟处理核也确定为需要调度的虚拟处理核也;
[00巧]若所述MPKI值最大的虚拟处理核也不是内存非本地虚拟处理核也,则将所述 MPKI值最小的虚拟处理核也确定为需要调度的虚拟处理核也。
[0026] 结合第一方面,在第一方面的第四种可能的实现方式中,所述对需要调度的虚拟 处理核也进行调度,包括:
[0027] 在每个节点的节点压力中查找节点压力值最小的节点,并将节点压力最小的节点 作为目的节点
[0028] 将目的节点上的CPU总负载与满足调度条件的节点上的CPU的总负载进行比较;
[0029] 根据比较结果对需要调度的虚拟处理核也进行调度。
[0030] 结合第一方面,在第一方面的第五种可能的实现方式中,所述根据比较结果对需 要调度的虚拟处理核也进行调度,包括:
[0031] 若目的节点上的CPU总负载小于满足调度条件的节点上的CPU的总负载,则将所 述需要调度的虚拟处理核也调度到目的节点上负载最小的处理核也上;
[0032] 若目的节点上的CPU总负载大于等于满足调度条件的节点上的CPU的总负载,贝U 将目的节点上的内存非本地的虚拟处理核也中MPKI值最小的虚拟处理核也与所述需要调 度的虚拟处理核也位置调换。
[0033] 第二方面,提供了一种消除热点资源竞争的装置,所述装置包括:
[0034] 第一确定模块,用于确定系统中每个节点的节点压力,并根据所述每个节点的节 点压力得到系统节点压力的相对标准差;
[00巧]判断模块,用于根据所述系统节点压力的相对标准差判断系统中是否存在满足调 度条件的节点;
[0036] 第二确定模块,用于当系统中存在满足调度条件的节点时,在满足调度条件的节 点上确定需要调度的虚拟处理核也;
[0037] 调度模块,用于对需要调度的虚拟处理核也进行调度。
[0038] 结合第二方面,在第二方面的第一种可能的实现方式中,所述第一确定模块,包 括:
[0039] 获取单元,用于获取系统中每个节点的虚拟处理核也运行时的硬件行为信息;
[0040] 确定单元,用于根据获取到的每个节点的虚拟处理核也运行时的硬件行为信息确 定每个节点上的节点压力。
[0041] 结合第二方面,在第二方面的第二种可能的实现方式中,所述判断模块,包括:
[0042] 获取单元,用于获取系统中每个节点的中央处理器CPU的负载值,并
[0043] 确定单元,用于根据所述每个节点的CPU的负载值得到系统的CPU负载值的相对 标准差;
[0044] 比较单元,用于将所述系统中节点压力的相对标准差与系统的CPU负载值的相对 标准差进行比较;
[0045] 判断单元,用于当所述系统中节点压力的相对标准差大于系统的CPU负载值的相 对标准差时,判断系统中存在满足调度条件的节点。
[0046] 结合第二方面,在第二方面的第H种可能的实现方式中,所述第二确定模块,包 括:
[0047] 查找单元,用于在满足调度条件的节点上查找每千条指令失配次数MPKI值最大 和最小的虚拟处理核也;
[0048] 判断单元,用于判断所述MPKI值最大的虚拟处理核也的是否为内存非本地的虚 拟处理核也;
[0049] 第一确定单元,用于当所述MPKI值最大的虚拟处理核也是内存非本地的虚拟处 理核也时,将所述MPKI值最大的虚拟处理核也确定为需要调度的虚拟处理核也;
[0050] 第二确定单元,用于当所述MPKI值最大的虚拟处理核也不是内存非本地虚拟处 理核也时,将所述MPKI值最小的虚拟处理核也确定为需要调度的虚拟处理核也。
[0051] 结合第二方面,在第二方面的第四种可能的实现方式中,所述调度模块,包括:
[0052] 查找单元,用于在每个节点的节点压力中查找节点压力值最小的节点,并将节点 压力最小的节点作为目的节点
[0053] 比较单元,用于将目的节点上的CPU总负载与满足调度条件的节点上的CPU的总 负载进行比较;
[0054] 调度单元,用于根据比较结果对需要调度的虚拟处理核也进行调度。
[00巧]结合第二方面,在第二方面的第五种可能的实现方式中,所述调度单元,包括:
[0056] 比较子单元
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1