一种面向异构平台的能耗优化调度方法_3

文档序号:9672989阅读:来源:国知局
p2.X调度平台下的ResourceManager W虚拟资源的方式向作业提供资源,是 化doop2.0的资源分配中屯、。每个节点的Container设定参数包括了虚拟CPU个数和最大可 用内存量,ResourceManager在初始化时读取各个节点的参数,并在后续的资源分配中保证 不超过Container的最大使用量。
[0070]节点在经过Container重新分配前,所有节点的虚拟CPU数都为C,最大可用内存量 为M。在异构集群中,运种资源的初始化方式存在很大的问题。假设异构集群中有节点N,拥 有良好的CPU性能,但是内存很小。用户提交了一个内存密集型的作业到集群中,在统一的 Container配置下,ResourceManager视所有节点都是一样的。如果该作业被分配到节点N 上,必然会造成内存的频繁换页,严重影响效率。故我们需要构建一套合理的方法,依照异 构集群中节点的能力对每个节点的Container重新进行配置。具体方法为:
[0071] Container配置决策器依据集群监控软件Ganglia采集到的物理信息计算每个节 点对应的Container大小。Con化iner的大小设定由两部分组成,分别为虚拟CPU数和最大可 用内存量。其中计算Container虚拟CPU个数的方法为:选取集群中物理节点最小的CPU频率Cmin,将集群中每个节点的总CPU能力PiXCoreNumber除WCmin,对结果四舍五入后得到该节 点的虚拟CPU数Ci(i=l,2,3...)。设定Container最大可用内存量的方法为:根据采集到的 物理信息,设定可用内存量的大小为该节点的物理内存大小Mi(i= 1,2,3...)。
[0072]经过分配后,每个节点的虚拟CPU数为Cl(i=l,2,3...),最大可用内存量为Ml(i= 1,2,3...)。在给作业进行资源分配时,ResourceManager使用DRF算法计算作业能获得的 Container大小,然后使用"资源最优分配算法"对资源进行最大化的分配。使用DRF算法计 算各个作业所需的资源量时,即使在资源富余的情况下,也能使得每个节点的利用率保持 在一个大致相同的水平上。ResourceManager分配虚拟资源的时候完全依照物理机的能力 进行分配,避免了机器过载的现象,从而提高了资源的利用率。假设现在用户向 ResourceManager申请Cneed和Mneed的资源。节点在满负荷时的耗电量和完成时间分别为Ei(i = 1,2,3...)和ti(i=l,2,3...),过载时的耗电量和完成时间分别为E/(i=l,2,3...)和 ti'(i=l,2,3...)。任务申请Container时依照ResourceManager的资源分配机制,会优先 分配数据所在节点的Container,如果所在节点的Container不足,会分配同一机架上的 Container,如果依然不足,会分配到相邻的机架上,直到获取到足够的Container为止。
[0073] -个作业在分配到特定的资源后,其完成时间是不变的。在此实施例中, Container配置前和配置后所获得的虚拟资源是一样多的。唯一不同的是,在没有重新配置 Con化iner的情况下,由于有部分节点的能力被高估,其物理能力(CPU,内存等)比配置的值 要小,故作业获得的总物理资源数Cx<Cneed,Mx<Mneed。作业在运行时,运些节点会出现内存缺 页和CPU拥挤的情况,大大延长了作业的完成时间和增加了作业的总能耗。假设在 Container配置前作业申请到的资源分布在集群的1、2、3号机器中,2号机器为慢节点,总消 耗时间和能耗公式如下:
[0074]Tbef〇re=max(ti,t2',t3) (11)
[007引Ebef。re=化l巧2'巧3)XTbef。re (12)
[0076]在Container配置后作业申请到的资源分布在集群的1、2、3号机器中,总消耗时间 和能耗公式如下:
[0077]Tafter= max(tl,t2,t3) (13)
[0078]Eafter=Kl+E2W3)XTafter (14)
[0079] 因为t2<t2/瓜也/,故在作业相同的情况下,可W得到Con化iner配置前的完成时 间Tbefore大于Container配置后的Tafter,Container配置前的能耗Ebefore大于Container配置 后的Eaf1;er。
[0080]上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的 限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化, 均应为等效的置换方式,都包含在本发明的保护范围之内。
【主权项】
1. 一种面向异构平台的能耗优化调度方法,其特征在于,包含以下顺序的步骤:51. 通过集群监控软件采集集群平台中所有异构物理节点的资源信息;52. 将采集到的资源信息发送给虚拟资源配置决策器,由虚拟资源配置决策器进行下 一步的决策;53. 所述虚拟资源配置决策器根据采集到的资源信息计算出每个异构物理节点对应的 虚拟资源份额,并相应修改每个异构物理节点的虚拟资源份额大小;54. 刷新集群平台中所有异构物理节点的配置信息,每个异构物理节点的虚拟资源份 额被更新,集群平台重新启动,接收用户提交的作业并放入作业队列中;55. 集群平台从作业队列中取出一个作业,根据数据块大小将作业切分成若干个任务;56. 按照DRF算法计算出该作业所需要的虚拟资源份额,集群平台通过能耗最优调度算 法将该作业所需的虚拟资源分配给该作业;57. 作业执行完毕后,返回步骤S5。2. 根据权利要求1所述的面向异构平台的能耗优化调度方法,其特征在于,步骤S1中, 所述资源信息包括集群平台所有异构物理节点的CPU核心数、CPU频率、内存大小、带宽大小 信息。3. 根据权利要求1所述的面向异构平台的能耗优化调度方法,其特征在于,步骤S3中, 所述计算出每个异构物理节点对应的虚拟资源份额,具体通过以下方法实现: 假设异构物理节点的资源向量为Res小i表示异构物理节点,j分别代表CPU核心数、CPU 频率、内存大小、带宽大小;函数min〇表示取所有数据中的最小值;Viri表示异构物理节点 i分得的虚拟资源份额;参数Pi为调和系数,其中,则异 构物理节点对应的虚拟资源份额的计算公式如下所示:其中,(2)式表示j能力在所有异构物理节点当中的最小值。4. 根据权利要求1所述的面向异构平台的能耗优化调度方法,其特征在于,步骤S6中, 所述按照DRF算法计算出该作业所需要的虚拟资源份额为:计算每个作业的主资源份额,假 设为 Sl;DRF算法每次循环开始时,选取各个作业中主资源份额最小的一个,分配一份资源 给该作业,随后更新当前各个作业的主资源份额,进入下一次的循环;当其中一种资源达到 物理最大值时,停止分配。5. 根据权利要求1所述的面向异构平台的能耗优化调度方法,其特征在于,步骤S6中, 所述集群平台通过能耗最优调度算法将该作业所需的虚拟资源分配给该作业为: 收集不同任务在集群平台中各个异构物理节点的运行速度和能效,构造任务调度的速 度矩阵和能效矩阵当有新的作业提交到集群中,集群将其切分成若干任务,调度时 依据和计算出执行这些任务时所需要总能耗最小的异构物理节点集合,然后将该作 业调度到总能耗最小的异构物理节点上。6. 根据权利要求1所述的面向异构平台的能耗优化调度方法,其特征在于,步骤S5中, 所述若干个任务的大小均为b 1 ock的倍数。
【专利摘要】本发明公开的一种面向异构平台的能耗优化调度方法,包含以下步骤:采集所有异构物理节点的资源信息并发送给虚拟资源配置决策器;虚拟资源配置决策器计算出每个异构物理节点对应的虚拟资源份额,并相应修改;刷新所有异构物理节点的配置信息,每个异构物理节点的虚拟资源份额被更新,平台重新启动,接收用户提交的作业并放入作业队列中;集群平台从作业队列中取出一个作业,根据数据块大小将作业切分成若干个任务;按照DRF算法计算出该作业所需要的虚拟资源份额,集群平台通过能耗最优调度算法将该作业所需的虚拟资源分配给该作业。本发明的方法具有充分利用集群平台资源异构性特征提高平台资源调度效率和减少平台任务调度能耗等优点。
【IPC分类】G06F9/50
【公开号】CN105446816
【申请号】CN201510765040
【发明人】林伟伟, 杨超
【申请人】华南理工大学
【公开日】2016年3月30日
【申请日】2015年11月11日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1