专利名称:对在异构计算系统中执行的应用的调度的制作方法
技术领域:
本发明涉及一种对异构计算系统中执行的应用的调度。本发明尤其涉及对多处理器计算机系统中包含有若干优先约束(precedence constrained)的并行任务的应用进行调度,该多处理器计算机系统具有多个处理器,每个处理器能够在不同的供电电压水平下运行,但本发明并不局限于此。本发明的各方面包括方法、软件、计算机调度模块和调度。
背景技术:
在过去的几十年里,计算量和数据量急剧增加,这促使计算机系统结构的研究人员和设计人员将其注意力集中于高性能的研究上;这使得诸如多核微处理器、大容量存储装置、和超高速通信设备等资源密集型技术得以发展。高效地利用这些效力强大的资源一直是个至关重要的问题,尤其对于诸如网格技术(grids)和云技术(clouds)等多处理器计算机系统(MCS,Multiprocessor Computer System)而言,MCS中有大量的处理器,常常多达数十万个。因为科学及工程领域中优先约束的并行应用是最典型的应用模型,所以在过去的几十年里已经对在同构和异构计算系统中调度这些应用(任务调度)的问题进行了广泛研究。然而,任务调度研究中的大部分成就集中于两个问题,最小化应用完成时间(完工时间 (makespan)/调度长度)和时间复杂度;换句话说,任务调度算法的主要目的是用最小量的调度时间对给定的应用进行最佳调度。直到最近人们才将大量的注意力放在调度中的能耗上,特别是在高性能计算系统 (HPCS,High-performance Computing system)中。HPCS 中的能耗问题引起了各种对财政、 环境和系统性能方面的关注。近来对服务器功率消耗的一项研究[2]表明,全世界用于服务器的电力费用(包括其相关的冷却设备和辅助设备)在2005年为72亿美元。该项研究还指出该年度的用电量是2000年用电量的2倍。显然,在发电方面存在着环境问题。集成在现今的英特尔安腾2 (Intel Itanium幻处理器中的晶体管数量达到了将近10亿。如果照这个速率继续下去,那么未来的Intel处理器每平方厘米所产生的热量将会超过太阳表面每平方厘米所产生的热量[3];这意味着有可能使系统可靠性下降,最终导致系统性能变差。
发明内容
本发明的第一方面提供了一种对应用于异构计算系统性能的应用进行调度的方法,其中该应用包含两个或两个以上优先约束的并行任务,并且该异构计算系统包含多个处理器,每个该处理器能够在不同的供电电压水平(VSL,voltage supply level)下运行; 所述方法包括以下步骤基于该任务的计算成本和通信成本确定该任务的优先级顺序;以及按照该任务的优先级顺序,为每个该任务指定处理器和电压水平,与以处理器和电压水平的不同组合执行该任务的能耗及完成时间相比,所指定的该处理器和该电压水平最大程度减少了执行该任务的能耗及完成时间。本发明的优势是所述调度不仅考虑了完成时间(完工时间(makespan)),而且也考虑了能耗。本发明能够考虑作为异构网络一部分的处理器的不同容量,在特定的电压水平下,采用使完成时间和能耗均平衡的方式按优先级顺序给处理器指定任务。最大程度减少可以包括为任务、处理器和电压水平的不同组合,确定同时代表能耗和完成时间的因子。该因子可以包含多个因子。这可能会涉及选择用于指定的组合,该组合具有代表最小化能耗与最小化完成时间之间的最佳权衡因子。所述能耗因子的确定,可以基于在所组合的电压水平下该任务的计算成本。所述完成时间因子的确定,可以基于在所组合的处理器与电压水平下该任务的计算成本。所述完成时间因子的确定,可以基于在所组合的处理器与电压水平下该任务的估计开始时间与计算成本的结合。该估计开始时间,可以基于优先于该任务的最具影响力任务的估计结束时间,以及在适合的情况下,可以基于指定给该最具影响力任务的处理器与所述组合的处理器之间的通信成本。所述完成时间因子的确定,可以包括使在处理器与电压的那些组合下会产生较长任务完成时间的任务处于不利地位。对于每个任务,所述方法可以进一步包括以下步骤确定在处理器与电压水平的不同组合中,该任务的能耗及计算时间;当一个组合所确定的该计算时间并未导致该应用的完工时间增加,并且所确定的该能耗小于在已指定的处理器和已指定的电压下该任务的能耗时,将该任务重新指定给该组合中的处理器与电压水平。本发明的此实施例的优势在于,可以对该调度进行评估,以确定所述调度的任何变化是否会在不增加完工时间的情况下使能耗进一步降低。每个任务的优先级可以基于每个任务分别沿着其所属的优先约束任务的最长路径上的计算成本和通信成本。每个任务的优先级是基于该任务的b_级或t_级。所述方法还包括按照该调度来执行任务的步骤。所述异构计算系统是多处理器计算系统,如高性能计算系统,并且所述任务可以是异构的。本发明的另一个方面提供了一种软件,该软件包含记录于计算机可读介质中的计算机指令,从而运行计算机以执行上述方法。本发明的又一个方面提供了一种根据上述方法产生的、用于对在异构计算系统中执行的应用的调度。本发明的再一个方面提供了一种对在异构计算系统中执行的应用进行调度的调度系统,其中所述应用包含优先约束并行任务,并且异构计算系统包含多个处理器,每个该处理器能够在不同的供电电压水平下运行,所述调度模块可操作地用于基于所述任务各自的计算成本和通信成本来确定所述任务的优先级顺序;并且对于各任务来讲,按照所述任务的优先级顺序,为每个任务指定处理器和电压水平,与将所述任务指定给不同组合的处理器与电压水平相比,所指定该处理器和电压水平最大程度减少了执行该任务的能耗和完成时间。
以下将参考附图来描述本发明的实施例,其中图1为显示此实施例中所使用的电压-相对速度对的表;图2示出了此实施例中所用应用的简单任务图;图3为显示图1中所示任务的t-级(t-level)和b_级任务优先级的表;图4为显示图1中所示任务的计算成本的表;图5示出了本实施例的能量模式;图6示出了本实施例的能量敏感调度(ECS,Energy Conscious Scheduling) 的方法,并且包括完工时间守恒的能量降低(MCER,Makespan-conservative Energy Reduction);图7(a)和图7(b)示意性地示出了分别对由HEFT(异构环境最早结束时间)算法和DBUS(基于复制的倒置调度,Duplication Based Bottom-Up Scheduling)算法所产生的图1的任务图的调度(现有技术);图8示意性地示出了对在此实施例中所产生的图1的任务图的调度,其中(a)使用不带有MCER的ECS,以及(b)使用带有MCER的ECS ;图9示意性地示出了对在此实施例中产生的用于图1的任务图的调度,其中(a) 使用不带有MCER的ECS+空闲,以及(b)使用带有MCER的ECS+空闲;图10为对由图7、图8和图9中的6种不同方法所生成的调度的能耗进行比较的表;图11为总结以下详述的实验中所采用参数的表;以及图12为显示以下详述的实验的比较结果的表。
具体实施例方式在此实施例中,提供了 50个构成计算机集群的异构处理器。这些处理器能够在不同的供电电压水平下运行,并且以统一或随机的方式利用高带宽连接而互连,如堆栈式放置在架子上的处理器。该计算机集群负责执行包含多个优先约束并行任务的应用,例如在大的数据集上进行多模式匹配分析。在此实施例中,每个任务的优先级信息是已知的,并且应用的执行不是基于实时期限。一个处理器(这里称为调度系统)负责生成调度。该调度系统可以构成集群的一部分或者作为集群外的附加部分。该调度系统能够接收并储存关于处理器、每个处理器的可能的电压水平以及关于任务的信息,并且能够利用此信息并以下述方式生成调度。该调度系统也使得每个处理器接收调度中其各自的对应部分。也就是说,所生成的调度为任务指定特定的处理器和电压。每个任务直接或间接地从调度系统接收关于任务的信息、和为该任务所指定的电压水平以及执行的时间。在此实施例中将对能量敏感调度(ECS)的启发式算法(heuristics)进行描述,该启发式算法不仅考虑了完工时间而且考虑了能耗。该启发式算法能够很容易地应用于采用提前预约和频率-电压对各种组合的松散耦合的高性能计算系统(HPCS)。ECS设计成中引入动态电压调节(DVS,Dynamic Voltage Scaling)以降低能耗。这表明存在着调度质量(完工时间)与能耗之间的权衡。ECS对这两个性能问题的平衡做出了有效的权衡。此外,将采用MCER技术的降低能耗阶段并入ECS中。在MCER阶段中,对在调度阶段中所生成的当前调度进行仔细检查, 以确定是否对调度的任何改变会在不使完工时间增加的情况下进一步降低能耗。还应当注意ECS具有低的时间复杂度。这里现在描述本实施例中所使用的系统、应用、能量和调度的模型。系统樽型此工作中所使用的目标系统包括由ρ个完全互连的异构处理器/机器构成的组P。 各处理器Pi e P,且是DVS-启动的;换句话说,它可以在不同的VSL(即,不同的时钟频率) 下运行。对于每个处理器Pj e P来讲,ν个VSL构成的组乂」是随机并统一地分布于不同的 4组VSL(见图1)中。处理器在空闲时会消耗能量,即假设当处理器空闲时向其提供最低电压。因为时钟频率转换开销耗用的时间可忽略(例如,10 μ s 150 μ s),所以在此实施例中不考虑这些开销。假设处理器间通信的执行速度与所有没有竞争的链路上的执行速度相同。还假设当在接收方处理器中执行任务时可以将消息从一个处理器发送给另一个处理器,这在许多系统中都可能发生。应用樽型一般来说,可以用有向无环图(DAG,Directed Acyclic Graph)来表示并行程序。 DAG包括由η个节点构成的组N以及由e个边构成的组E,G = (N, E)。DAG也称为任务图或者宏数据流图。一般来说,节点代表了从应用中分隔出的任务;边代表了优先约束。任务 Hi与任务η」之间的边(i,j) e E也代表了任务间通信。换句话说,必须将任务Iii的输出传送给任务ηρ从而使任务r^.开始执行。没有前续的任务称为入口任务η入口,而出口任务η 口是指没有任何后继的任务。在任务Iii的前续中,将在最迟时间完成通信的前续称为该任务的影响最大本源(MIP,Most Influential Parent),表示成MIP (Iii)。任务图的最长路径是关键路径(CP,Critical Path)。任务Iii上的权重(表示成力)代表了该任务的计算成本。此外,将处理!Pi中的任务的计算成本表示成Wy并且将其平均计算成本表示成冗。边上的权重(表示成Ci, j)代表了 Iii和Iij两个任务之间的通信成本。然而,仅当把两个任务指定给不同的处理器时才需要通信成本。换句话说,当把任务指定给相同的处理器时可以忽视通信成本,即通信成本为0。处理器Pj中的任务Iii的最早开始时间和最早结束时间定义为
‘Jii 二 η 入。
EST(jH,Pj、= I EFnMIPiniIpk) + cM!PW 其他情况
、 (1)其中,pk是对任务Iii的MIP进行调度的处理器。EFT (n" Pj) = EST (η” Pj) +Wi, j (2)要注意的是,如果调度到相同的处理器中的另一个任务的实际结束时间迟于 ESTfci, Pj),那么处理器Pj中的任务Iii的实际开始时间和结束时间(表示为AST(I^pj)和AFTfci, Pj))可以不同于其最早的开始时间和结束时间即ESTfci, Pj)和EFTfci, Pj)。在采用任务插入的情况下,只要未违反优先约束,就可以在已指定给处理器的两个连续任务之间的空闲时隙中对任务进行调度。此插入方案将会尤其有助于增加具有细粒度任务的通信密集型任务图的处理器利用率。图2中示出了简单的任务图,并且将其细节在图3和图4的表中示出。图3的表中所示的值是使用两种经常被采用的任务优先化方法(t-级和b-级)而计算得到。注意到,在所有模式和链路下对计算成本和通信成本求平均值。任务的t-级定义为沿着任务图中从入口任务开始的最长的节点路径的计算成本与通信成本的总和。所述计算中不包括该任务本身。相比之下,通过将沿着任务图中从出口任务(包括该任务)开始的该任务的最长路径的计算成本与通信成本相加,而计算出任务的b-级。在此实施例中采用b-级。通信-计算比(CCR,Communication to Computation Ratio)是表示任务图为通信密集型、计算密集型还是中间型的衡量尺度。对于给定的任务图,用目标系统中的平均通信成本除以平均计算成本而计算出其通信-计算比。能量樽型这里的能量模型源自于互补金属氧化物半导体(CMOS,Complementary Metal-oxide Semiconductor)逻辑电路中的功率消耗模型。将基于CMOS的微处理器的功率消耗定义为电容功率、短路功率和漏电功率的总和。所述电容功率(动态功率消耗)是功率消耗的最显著因子。电容功率(P。)定义为Pc = ACV2 f (3)其中,A是每个时钟周期的转换数,C是总电容负荷,V是供电电压,f是频率。公式3清楚地显示出供电电压是主导因子;因此,供电电压的降低对降低功率消耗影响最大。因为处理器在空闲时会消耗一定的能量,所以执行此实施例中使用的优选约束并行应用的总能耗包含直接能耗和间接能耗。直接能耗58定义为
权利要求
1.一种对在异构计算系统中执行的应用进行调度的方法,其特征在于,该应用包含两个或两个以上优先约束并行任务,并且该异构计算系统包含多个处理器,每个该处理器能够在不同的供电电压水平下运行,该方法包括以下步骤基于该任务的计算成本和通信成本来确定该任务的优先级顺序;并且按照该任务的优先级顺序,为每个该任务指定处理器和电压水平,与以处理器和电压水平的不同组合执行该任务的能耗及完成时间相比,所指定的该处理器和电压水平最大程度减少执行该任务的能耗及完成时间。
2.根据权利要求1所述的方法,其特征在于,所述最大程度减少包括为任务、处理器与电压水平的不同组合,确定同时代表能耗和完成时间的因子。
3.根据权利要求2所述的方法,其特征在于,所述最大程度减少包括选择要指定的组合,该组合具有代表最小化能耗与最小化完成时间之间的最佳权衡因子。
4.根据权利要求2或3所述的方法,其特征在于,所述能耗因子的确定是基于在所组合的电压水平下所述任务的计算成本。
5.根据权利要求2、3或4所述的方法,其特征在于,所述完成时间因子的确定是基于所组合的所述处理器和电压水平下所述任务的计算成本。
6.根据权利要求5所述的方法,其特征在于,所述完成时间因子的确定是基于所组合的处理器和电压水平下所述任务的估计开始时间与所述计算成本的结合。
7.根据权利要求6所述的方法,其特征在于,所述估计开始时间是基于优先于所述任务的最具影响力任务的估计结束时间,在适合的情况下,基于指定给该最具影响力任务的处理器与所述组合的处理器之间的通信成本。
8.根据权利要求5、6或7所述的方法,其特征在于,所述完成时间因子的确定包括使在所述处理器与电压水平的那些组合下会产生较长完成时间的任务处于不利地位。
9.根据前述权利要求中的任一项所述的方法,其特征在于,对于每个任务,所述方法进一步包括以下步骤确定在所述处理器与电压水平的不同组合中,该任务的能耗和计算时间;当一个组合所确定的该计算时间并未导致所述应用的完工时间增加,并且所确定的该能耗小于已指定的处理器和已指定的电压下该任务的能耗,则将该任务重新指定给该组合中的处理器与电压水平。
10.根据前述权利要求中任一项所述的方法,其特征在于,每个所述任务的优先级是基于每个所述任务沿着其所属的优先约束任务的最长路径上的计算成本和通信成本。
11.根据权利要求10所述的方法,其特征在于,每个所述任务的优先级是基于所述任务的b-级或t-级。
12.根据前述权利要求中任一项所述的方法,其特征在于,所述方法进一步包括按照所述调度执行所述任务的步骤。
13.根据前述权利要求中任一项所述的方法,其特征在于,所述异构计算系统是多处理器计算系统。
14.根据前述权利要求中任一项所述的方法,其特征在于,所述任务是异构的。
15.一种软件,其特征在于,该软件包含记录于计算机可读介质中的计算机指令,运行计算机以执行前述权利要求中的任一项所述的方法。
16.一种对在异构计算系统中执行的应用的调度,其特征在于,该调度是由根据权利要求1至11中的任一项所述的方法生成。
17.—种对在异构计算系统执行的应用进行调度的调度系统,其特征在于,所述应用包含两个或两个以上优先约束并行任务,并且所述异构计算系统包含多个处理器,每个该处理器能够在不同的供电电压水平下运行,所述调度模块可操作地用于基于该任务的计算成本和通信成本来确定该任务的优先级顺序;并且, 按照该任务的优先级顺序,为每个该任务指定处理器和电压水平,与以处理器与电压水平的不同组合执行所述任务的能耗及完成时间相比,所指定的所述处理器和电压水平最大程度减少执行该任务的能耗及完成时间。
全文摘要
本发明涉及对高性能计算机系统中包含优先约束并行任务的应用进行调度。所述计算机系统具有多个处理器,每个处理器能够在不同的供电电压水平下运行。首先,基于任务的计算成本和通信成本确定任务的优先级顺序。接着,基于任务的优先级顺序,为每个任务指定处理器和电压水平,与以处理器和电压水平的不同组合执行该任务的能耗及完成时间相比,所指定的该处理器和该电压水平最大程度地减少了执行该任务的能耗及完成时间。本发明的优势在于调度中不仅考虑了完成时间(完工时间),而且也考虑了能耗。本发明的各方面包括方法、软件、计算机调度模块和一种调度。
文档编号G06F9/46GK102171627SQ200980139507
公开日2011年8月31日 申请日期2009年10月1日 优先权日2008年10月3日
发明者李永春, 阿尔贝特·佐马雅 申请人:悉尼大学