异构集群下动态任务调度策略.docVIP

  • 7
  • 0
  • 约7.45千字
  • 约 14页
  • 2018-09-08 发布于福建
  • 举报
异构集群下动态任务调度策略

异构集群下动态任务调度策略   作者简介作者简介:冯焕霞(1983-),女,硕士,广东职业技术学院纺织服装研究所教师,研究方向为计算机应用技术、物联网技术、射频识别技术、云计算技术;刘莉(1988-),女,硕士,佛山市南方数据科学研究院教师,研究方向为任务调度算法;李正淳(1981-),男,硕士,广东职业技术学院纺织服装研究所讲师,研究方向为电子商务平台建设、ERP、物联网、云计算。0引言    高效的任务调度是高性能计算平台性能的集中体现之一,而数据中心严重的能耗问题,如2009年,我国数据中心总耗电量约364亿KW/h,占当年全国总电耗的1%[1],使当前的任务调度研究趋向于更小的调度长度,更少的能源消耗。    任务分配技术可分为静态分配[2,3]和动态分配[4,5]。静态分配是在预先知道应用特性的情况下,编译时就寻找整体优化的调度方法,作出调度决定,适合可预测环境和任务的调度。动态分配则是在运行期间作出任务调度决策,只考虑目前就绪任务的特性,决定当前的调度序列,比较灵活,适合于环境变化,任务不断生成的动态实时应用。    本文提出了异构集群环境中,一种先进行基于聚簇[6]的任务分配,再进行基于复制[7??8]的任务调度算法CTDS。CTDS的主要思想是将相互依赖的任务分配到相同的计算节点上,再考虑分配到不同节点的关系任务之间的任务复制,目标是在不明显增加能耗的情况下减少调度长度甚至同时优化能耗和调度长度,以提高异构集群处理并行应用的能力。CTDS是一种动态分配策略,因为集群的异构性,使得同一任务在不同计算节点上的执行时间可能不同,两个关联任务因分配到不同节点上,不同的网络结构可能导致其通信时间不同。   1算法能耗模型   本文用由高速互连连接的一组计算结点的集合P={p1,p2,…,pm}来表示集群。为了简化集群系统,假设所有节点是全相连的,分配到同一个计算节点上的两个优先约束的任务之间不计通信时间,集群系统是无故障的。集群的异构在于计算节点的异构和互连的异构,其中各计算节点具有不同处理能力及能耗率;集群中有不同的互连设备,其能耗各不同。   并行应用以有向无环图[9] (Directed Acyclic Graph, DAG)的形式展示,表示为G=(V,E),其中V={v1,v2,…vn}表示一组具有优先约束的任务集合,E是DAG中有向边的集合,表示任务之间的通信。令ei j= (vi ,vj )∈E表示任务vi和vj之间传递的消息,eiu表示任务vi在计算节点pu上的计算时间,cijuv表示当任务vi在计算节点pu上,任务vj在计算节点pv上时,两个任务之间的通信时间。DAG只有一个入口任务ventry和一个出口任务vexit。   1.1计算能耗   用PNhighu表示各计算节点工作时的功耗,则各任务在各计算节点上的计算消耗表示如下:eniu=PNhighu×eiu(1)执行整个应用,即任务集V中所有任务调度结束后,产生的所有计算节点的计算能耗如式(2):ENhigh=∑|V|i=1∑|P|u=1eniu×xiu=∑ni=1∑mu=1xiu×PNhighu×eiu   =∑mu=1(PNhighu×∑ni=1xiu×eiu)(2)令PNlowu为各计算节点空闲时的功耗,则各节点的空闲能耗计算如下:ENulow=PNlowu×(maxni=1fi-∑ni=1xiu×eiu) (3)其中,maxni=1fi为总的调度时间,而(maxni=1fi-∑ni=1xiu×eiu)为节点pu所有的空闲时间。则所有节点的空闲总能耗如下:ENlow=∑mu=1ENulow=∑mu=1(PNlowu×(maxni=1fi-∑ni=1xiu×eiu))(4)计算节点造成的总能耗,即计算能耗由式(2)和(4)派生出来,如式(5):EN=ENhigh+ENlow=∑mu=1(PNhighu×∑ni=1xiu×eiu)+   ∑mu=1(PNlowu×(maxni=1fi-∑ni=1xiu×eiu))(5)1.2通信能耗   已有研究证明集群中高速互连在空闲和完全使用时能耗基本相同[10],设PLuv表示链路的能耗率,则互连上的总能耗,即通信能耗表示如下:EL=∑mu=1∑mv=1,v≠umaxni=1(fi)×PLuv(6)在异构集群上运行一个并行应用产生的总能耗即为总能耗与通信总能耗之和:E=EN+EL(7)2算法描述   CTDS算法包括两个主要步骤,基于聚簇的任务初始分配和基于复制的任务调度。   2.1任务初始分配   本文基于聚簇的任务分配主要包括拓扑排序和关键路径求解两步。   (1) 拓扑排序。步骤为:①统计每个任务的前任数量;②找到入口任务,将任务放入前任列表中;③逐一取出前任列表中的

文档评论(0)

1亿VIP精品文档

相关文档