[发明专利]在网络中的多个节点中分配多个任务的方法和系统有效
申请号: | 200710129135.8 | 申请日: | 2007-07-13 |
公开(公告)号: | CN101126992A | 公开(公告)日: | 2008-02-20 |
发明(设计)人: | 苏工;伯纳德·R.·皮尔斯;唐纳德·W.·施密特;斯蒂芬·J.·海斯格;唐娜·N.·第兰博格;格雷格·A.·狄克 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 | 代理人: | 杜娟 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 网络 中的 节点 分配 任务 方法 系统 | ||
技术领域
本发明总体上涉及处理器负载平衡领域,具体而言,涉及处理器亲缘关系(affinity)负载平衡领域。
背景技术
在多处理器体系结构中,希望尽可能地在同一处理器上执行任务以便发挥高速缓存的效用。在非统一存储器访问(Non-UniformMemory Access,NUMA)体系结构中这是尤其重要的,在该体系结构中高速缓存间的访问等待时间明显高于高速缓存内部的访问等待时间。在这种NUMA体系结构中,如果频繁地把任务分派给没有共享硬件高速缓存的多个处理器,那么会出现相当大的性能退化。
为了尽可能地使任务在同一处理器(或者一组处理器)上执行,定义了被称为亲缘关系节点的逻辑概念。亲缘关系节点是共享硬件高速缓存的一组处理器。利用一个值(称为其亲缘关系)来标记任务,所述值用于将该任务与亲缘关系节点相关联。任务调度器(TaskDispatcher)通过始终把任务分派给属于由任务的亲缘关系值指定的亲缘关系节点的处理器来试图兑现(honor)任务的亲缘关系。
因为总是把任务分派给它们各自的亲缘关系节点,所以随着时间的经过,任务的改变特性和处理需求将在亲缘关系节点之间产生处理器负载不平衡。因此,需要处理器负载平衡机制来重新分配任务的亲缘关系,以便平衡跨越所有亲缘关系节点的总体系统处理器消耗。另外,亲缘关系节点可能包含不同数量的处理器,因此,每个亲缘关系节点可能具有不同的能力。术语“平衡”,不是经常使用的使所有亲缘关系节点上的处理器消耗相等的含义,而一般是指使所有亲缘关系节点上的处理器消耗满足特定标准。平衡系统的常用标准是这样一种标准,其中总体系统处理器消耗跨越所有亲缘关系节点、与其能力成比例地分布。
例如UNIX(以及UNIX变型)的成品操作系统中的现有处理器负载平衡方案具有一个共同的特性:它们都使用平均任务运行队列长度(average task run queue length)作为对处理器负载的估计。这是因为任务运行队列长度(亦称运行队列长度)容易测量,并且现今大部分的成品操作系统不具有嵌入式机制来以每一任务为基础进行精确的处理器消耗测量。虽然足以满足大多数情况的需要,但是平均任务运行队列长度并不总是准确地反映实际处理器负载。
参考图1,该图示出了具有两个节点的处理器网络100的简单示例,将用此示例来说明此概念。所述系统利用两个节点140和160以及逻辑任务管理器120和130来操作,其中每个节点包含一个CPU。任务管理器120把任务180分派给节点A 140,并且任务管理器130把任务分派给节点B 160。因为任务管理器120和130独立地操作,所以随着时间的经过,网络100内的处理器负载可能会因任务数目和到达节点140和160上的任务的CPU需求特性有很大不同而变得失衡。因此,需要平衡器150在任务管理器120和130之间移动任务,以便平衡节点140和160上的处理器负载。在已知的处理器网络中,平衡器150通过使用节点的平均运行队列长度来判断该节点上的处理器负载;队列长度越长,节点的负载越大。然而,正如我们下面举例说明的那样,此方法具有缺陷。
假定n+1个任务180进入亲缘关系节点A 140;所述节点在较短的一段时间t内使用其全部的处理能力;然后所有任务180结束。然后,在另外的n+1个任务180进入节点A以前,亲缘关系节点A 140中的处理器在较短的一段时间t内空闲,并且重复此循环,直到亲缘关系节点A的队列中不再有任务为止。对于节点A 140来说,处理器负载的平均值大约为50%(即,一半时间处理器繁忙而一半时间处理器空闲),并且运行队列长度大约为n/2(一半时间存在n个任务等待而一半时间没有任务在等待)。
现在考虑另一亲缘关系节点,即节点B 160,其中单个长期运行的处理器绑定任务使用节点B的全部处理能力并且没有别的任务在等待。对于此节点来说,处理器负载的平均值是100%(处理器总是繁忙),然而运行队列长度是零(没有任务在等待)。使用平均运行队列长度方法,所述平衡器150将把任务从半负载的节点A 140移动到全负载节点B 160,这往往使工作负载进一步失衡。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710129135.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:改善残影现象的方法
- 下一篇:一种上网行为数据加密系统及方法