本发明专利技术公开了一种计算机集群系统资源分配方法,该方法包括如下步骤一、读取实验所用到的各种重要参数信息。三、获取初始基本分簇结果集合Φ(G)。四、优化初始基本分簇结果,得到最佳分簇结果。五、任务簇映射。六、处理器动态电压调节。本发明专利技术针对同构集群系统中的能量优化问题,将基于分簇的调度算法和DVS技术结合起来,在满足系统性能要求的同时优化系统能耗。
【技术实现步骤摘要】
本专利技术涉及计算机
,具体地指一种。
技术介绍
随着微电子、互连网络和自由软件等技术的迅速发展,以集群架构搭建的高性能计算机系统技术也日益成熟,其应用也越来越普及,这就使得集群系统无论是在计算性能还是在系统规模上都得到了较大的发展。由于集群系统具有极高的性价比,因此越来越多的用户愿意选择基于集群架构的高性能计算机系统作为其计算平台。然而,随着系统规模的日益扩大,随之而来的系统能耗问题也愈加突出,高性能计算平台提供强大的计算性能 是以消耗巨大的能量为代价的。根据研究调查资料显示,高性能计算平台已经出现了能源危机。在节能环保的时代环境下,如何构建一台绿色节能的集群计算机系统成为众多厂商和研究机构关注的重点和时代的需求。集群系统作为一种并行分布式处理系统,由很多连接在一起的独立计算机组成,但整体对外像一个单独集成的计算资源一样协同工作,因此对于用户来说就像一个独立的计算系统。自20世纪90年代以来,随着PC机性能的显著提高和价格的日益下降,高速网络的发展,以及集群软件的日益成熟,集群系统已经成为高性能计算的主流平台,为计算密集型和通信密集型任务提供各种计算需求。集群系统已经在工商业等诸多领域得到广泛应用。然而,集群系统在提供强大计算能力的同时也消耗了巨大的能量。而且随着越来越多的并行应用被更广泛地应用于科学研究和商业应用中,巨大的能量消耗正日益成为集群技术发展的主要阻碍因素。因此,如何有效地降低集群系统中的能量消耗是一个非常值得研究的问题。在集群系统中,调度大规模并行应用时,因其高通信延时和高能耗而存在着很大的挑战。因此,缩短调度长度和节约能耗是设计友好的商业集群系统的两个主要着眼点。用有向无环图(Directed Acyclic Graph, DAG)来表示并行任务调度问题一直是学术界的研究热点,并行任务调度问题已经被证明是NP完全问题,即Non-deterministicPolynomial的问题,即多项式复杂程度的非确定性问题,在国内外引起了广泛的研究。调度的目标是要在满足任务优先约束关系的前提下,根据适当的分配策略确定一种分派和执行顺序,将可并行执行的任务合理分配到各处理机上有序地执行,以达到减少总的执行时间的目的。在集群、网格等分布式系统中,能量的消耗主要集中于CPU和互联设备上,所以系统中的能耗主要由节点计算能耗和节点间通信能耗构成。在调度具有约束关系的并行任务时,任务复制策略是改善其系统性能的一种行之有效的方法。这主要是因为通过运用任务复制策略,各处理器间不必要的通信延时被消除了,因而极大的降低了系统总体的通信开销。一般情况下,对于同一个有向无环图(DAG),较之于未运用复制策略的分簇算法,采用了复制策略的分簇算法总是具有更好的系统性能。该方法虽然可以有效地降低任务调度长度,节省通信能耗,但同时也会增加复制任务的计算能耗,因此在节能调度中需慎重考虑。动态电压调节(Dynamic Voltage Scaling, DVS)技术是一种新型硬件节能机制。其基本思想是在不影响处理器正常运行的情况下动态地调节处理器执行电压和频率,使得处理器不总以最高电压工作,从而起到降低处理器能耗的目的。目前绝大多数处理器都用CMOS技术制造,而且支持多种处理器频率和电压设置。CMOS电路的功耗正比于时钟频率和电压的平方,即每个时钟周期的能量消耗正比于电压的平方。对于一个任务来说,完成它所需要的时钟周期是固定的,所消耗的能量与电压的平方成正比,通过降低电压就可以降低能耗。虽然时钟频率与电压之间的线性关系,降低电压会调低时钟频率,增加任务的完成时间,但可以利用任务的空闲时间降低处理器电压或频率,在不影响其他任务执行的前提下降低系统能耗。在电压调节过程中,电压管理芯片能够执行微小的电压调整,并且能在极短的时间内(几十微秒内)完成电压的调整。动态电压调节(DVS)技术已经被证明是设计低功耗系统最有效的方法之一,并且已成为一种比较成熟的节能机制。近些年来,许多研究者已经成功地将DVS机制运用到了基于能耗感知的集群计算当中。 在先前的工作中,研究人员要么忽略了网络通信过程中的能耗,要么考虑问题过于理想化而不符合系统实际工作情况,要么在给定系统性能的情况下不能最大化节省能耗。近年来,基于集群上的节能调度技术逐渐引起人们的关注,系统能量优化成为研究人员关注的焦点。目前,国内外有关同构集群系统环境下基于性能和能耗的研究主要有美国辛辛那提大学的D. P. Agrawal等人在同构集群系统中提出了一种基于任务复制的调度算法TDS,该算法尽可能地复制任务前驱以改进系统性能。见Sekhar Darbha and D. P. Agrawal. “Optimal Scheduling Algorithm forDistributed-Memory Machines, ” IEEE Trans. Parallel and Distributed Systems,9(1) :87-95, 1998。IEEE的Michael A. Palis等人提出了一种基于并行分布式架构的任务分簇调度算法,该算法在分簇过程中将复制考虑进去,以期获得更优的系统性能。见MichaelA. Palis, Jing-Chiou Liou and David S. L. Wei. “TaskClustering and Scheduling for Distributed Memory Parallel Architectures, ” IEEETransactions Parallel and Distributed Systems, 7(1): 46-55, 1996。美国奥本大学的宗子良等人针对任务复制所产生的额外能量开销过高的问题,提出了一种基于任务复制的节能调度算法,该算法设置了一个随机的阈值来控制任务复制,即选择性地复制任务最佳前驱来平衡系统的性能和能耗,以期同时改善系统的性能和能效。见Ziliang Zong, Adam Manzanares, Xiaojun Ruan and Xiao Qin. EAD andPEBD: Two Energy-Aware Duplication Scheduling Algorithm for Parallel Tasks onHomogeneous Clusters. IEEE TRANSACTIONS ON COMPUTER, 60 (3):360-374, 2011。清华大学的林闯等人将能量看成一种系统资源,从资源分配和任务管理的角度对绿色网络的机制和策略进行了综述,介绍了模型方法在绿色评价中的应用,提出了基于随机模型的绿色评价框架,为构建绿色网络和节能机制的评价体系奠定了基础。见林闯,田源,姚敏.绿色网络和绿色评价节能机制、模型和评价.计算机学报,34(4) :593-612, 2011。国防科技大学的易会战等人在分析了并行处理提高能效的基本原理,给出了并行处理的时间开销和能量开销模型,并基于模型的分析,给出了动态电压调节(DVS)改善并行系统能效的空间。见易会战,刘永鹏.改善系统能量效率的体系结构方法.并行处理.计算机学报,32(12):2475-2481, 2009。澳大利亚Sydeny大学本文档来自技高网...
【技术保护点】
一种计算机同构集群系统高能效资源分配方法,该方法包括如下步骤:步骤1.1:DSP的程序读入并行任务有向无环图文件,还读入处理器参数信息、网络参数信息以及平均通信计算比率信息;步骤2.1:通过拓扑排序读入并行任务有向无环图,生成拓扑排序序列;步骤2.2:通过COMPUTE?E?VALUE(v,G)算法,按照所述拓扑排序序列从入口任务v1开始,计算每个任务的最早开始时间下界e值直至出口任务vn结束,从而获得各任务的e值和相应的簇;步骤2.3:按照所述各任务的e值非降序排列每个簇中的任务;步骤3.1:逆拓扑排序所有上述任务节点,生成有序序列queqe;步骤3.2:所述有序序列queqe中的第一个节点v被标记为“1”,并将第一个节点v相应的簇C(v)放入集合Φ(G)中,同时标记这个簇中的所有节点已经被分簇,即这个簇中的所有节点已经在集合Φ(G)中;步骤3.3:标记所有满足以下条件的节点u为“1”:存在边arc(u,w),其中且w∈C(v),并将上述满足条件的节点u中相应的簇放入集合Φ(G)中,同时标记这个簇中的所有节点已经被分簇,即上述簇中的所有节点已经在集合Φ(G)中;步骤3.4:对经过上述步骤3.2和步骤3.3后没有被标记为“1”的节点中的第一个节点标记为“1”,并将上述节点相应的簇C(v)放入集合Φ(G)中;然后按照步骤3.3中的方式对满足以下条件的节点标记为“1”:存在边arc(u,w),其中且w∈C(v),并将上述满足条件的节点u中相应的簇放入集合Φ(G)中,同时标记这个簇中的所有节点已经被分簇,即上述簇中的所有节点已经在集合Φ(G)中;步骤3.5:重复步骤3.4,直到所有节点都被标记分簇为止;步骤4.1:计算各个任务的计算能耗和所有的具有优先约束关系的任意两个任务之间的通信能耗;其中,计算能耗的计算方法为:eni=PNhighest·ti---(3)公式(3)中eni表示任务vi执行时所产生的计算能耗,PNhighest表示最高功耗,ti表示任务vi在处理器上的执行时间,???????????????????任务集V中所有任务的计算能耗:ENactive=∑i=1|V|eni=∑i=1n(PNhighest·ti)=PNhighest·∑i=1nti,---(4)下面公式(5)中PNidle代表处理器的空闲功耗,即处理器不工作时的功率,因此,有了空闲功耗和空闲时间,就可以得到任一处理器的空闲能耗,其中,n表示任务个数,xij?表示任务i被分配到了处理器j上:ENidlej=PNidle·(makespan?∑i=1n(xij·ti)),---(5)公式(5)中makespan表示所有任务最终都被执行完毕的时间,也即最后一个任务被执行完毕的时间,如果m表示总的处理器个数,所有节点总的空闲能耗:ENidle=PNidle·(m·makespan?∑j=1m∑i=1n(xij·ti)),---(6)整个并行应用总的计算能耗:EN=ENactive+ENidle;---(7)所述整个网络的通信能耗:EL=∑i=1n∑j=1,j≠in∑p=1m∑q=1,p≠qm(xip·xjq·PL·cij);---(8)公式(8)中,PL表示网络连接功耗,而且,如果任务vi被分配到处理器p上,xip为“1”,?否则为“0”;如果任务vj被分配到处理 器q上,xjq为“1”,?否则为“0”,cij是信息传递时间;最终,整个集群系统总的能耗为:Etotal=EN+EL;---(9)步骤4.2:将所述第一个被标记的节点所对应的簇定为主任务簇,且初始标记主任务簇中的所有任务都已经分簇;步骤4.3:从主任务簇开始遍历每个簇中的各个任务,如果一个簇中至少存在一个任务没有被分簇,则进入该簇分析该分簇中的各个任务的more_energy,more_energy的计算方法为:more_energy?=?enu???eluv,其中,任务u是任务v的前驱节点,enu代表u的计算能耗,eluv代表u和v之间的通信能耗;将最大的more_energy记为max_more_energy,判断max_more_energy是否大于0,如果max...
【技术特征摘要】
【专利技术属性】
技术研发人员:刘伟,杜薇,段玉光,
申请(专利权)人:武汉理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。