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

文档序号:9672989阅读:423来源:国知局
一种面向异构平台的能耗优化调度方法
【技术领域】
[0001] 本发明设及分布式系统的能耗优化调度方法,特别设及一种面向异构平台的能耗 优化调度方法。
【背景技术】
[0002] 云计算目前已经成为学术界和产业界的研究热点,越来越多的高校、研究所、IT公 司W及互联网企业开始深入研究并开展云平台的项目。在云计算环境下,分布存储的规模 巨大,能耗开销也很大。而且为了使得设备能够正常运转,能耗还要包括制冷设备的能耗。 在24X7的不间断运行模式下,能耗成为构成数据中屯、存储开销的一个重要组成部分。在美 国,2000年至2005年之间,数据中屯、的能耗翻了一番。研究人员调查还发现,一台服务器4年 的能耗基本上等于其硬件的成本,而且降低能耗能够提高磁盘等硬件设备的运行寿命,进 而降低数据中屯、的成本。云计算提供商作为依靠服务盈利的企业,降低能耗进而降低成本 是一个必须追求的目标,而且节约能耗可W节约能源,促进环境保护,节能技术已成为分布 存储设计中与效率、容错并列的关键技术之一。最近几年,计算机系统电能消耗的不断增 加,能源的高效利用已经成为现代计算机系统(如数据中屯、和云端)的一个非常重要研究内 容。大型的云计算集群通常W异构的形式存在,节点之间的性能差异很大,很容易导致资源 分配不均匀、能耗过大的问题。
[0003] 近年来关于异构平台的能耗优化调度方法的研究正在逐渐升溫。2013年Abdul 化meed等人详细研究了云计算集群的资源分配与调度方法。他擬弃了传统的集群节能方 案,提出了使用资源预测算法来预测任务所需要的各种资源(包括CPU,内存,带宽等)。借助 机器学习的手段,预测出任务所需要的资源,然后进行资源的分配。文中提出了Ξ种分配方 案:基于功率的分配方案;基于热量的分配方案;基于服务的分配方案。2014年Albedo Cocafm-Fern0ndez教授等人也发表了类似的观点。对于异构集群的资源分配与调度,应 该放弃过往的人工配置方法。他提出了使用"参数学习算法"和"混合的模糊遗传系统模型" 来进行集群资源的自我分配。除了使用机器学习的手段之外,也有一些学者提出使用反馈 的机制来设定集群的资源分配与调度。Mohsen Sharifi教授针对异构集群的能耗优化问题 提出了基于集群负载情况的反馈分配机制。通过监测集群的运行情况,动态地将负荷较轻 的任务的资源动态分配给负荷较重的任务,W达到资源的合理分配。此外,当前化doop平台 的Ξ种主流调度算法:FIK)算法、公平调度算法和计算能力算法,主要考虑同构环境的任务 调度的性能改进问题,没有考虑能耗优化问题,特别是没有考虑在异构环境中执行效率和 能耗优化问题。
[0004] 虽然最近几年在云计算的能耗优化资源调度方向已经开展了不少研究工作,但大 部分算法没有利用平台异构性来更好地分配资源和调度任务,且基于机器学习算法等智能 算法来优化调度问题往往复杂度比较高、不实用。因此,针对异构平台的能耗优化资源调度 问题,使用更轻量级的方式进行资源的分配和调度是云计算领域亟待解决的重要问题。

【发明内容】

[0005]本发明的目的在于克服现有技术的缺点与不足,提供一种面向异构平台的能耗优 化调度方法,能够根据集群内各个节点的物理能力进行资源的重新分配,能力强的节点承 担更繁重的计算任务,能力弱的节点承担较轻松的计算任务。重新分配资源后,由DRF算法 计算出作业所需要的虚拟资源份额,随后使用"能耗最优分配算法"在各个节点中选择最适 合的虚拟资源大小供其运行。其中,一份虚拟资源份额是资源调度的最小单位。该方案提高 了异构化doop集群的资源利用率,从而达到提高集群整体运行效率和节省能耗的目的。
[0006]本发明的目的通过W下的技术方案实现:
[0007] -种面向异构平台的能耗优化调度方法,包含W下顺序的步骤:
[0008] S1.通过集群监控软件采集集群平台中所有异构物理节点的资源信息;
[0009]S2.将采集到的资源信息发送给虚拟资源配置决策器,由虚拟资源配置决策器进 行下一步的决策;
[0010] S3.所述虚拟资源配置决策器根据采集到的资源信息计算出每个异构物理节点对 应的虚拟资源份额,并相应修改每个异构物理节点的虚拟资源份额大小;
[0011] S4.刷新集群平台中所有异构物理节点的配置信息,每个异构物理节点的虚拟资 源份额被更新,集群平台重新启动,接收用户提交的作业并放入作业队列中;
[0012] S5.集群平台从作业队列中取出一个作业,根据数据块大小将作业切分成若干个 任务;
[0013] S6.按照DRF算法计算出该作业所需要的虚拟资源份额,集群平台通过能耗最优调 度算法将该作业所需的虚拟资源分配给该作业;
[0014] S7.作业执行完毕后,返回步骤S5。
[001引步骤S1中,所述资源信息包括集群平台所有异构物理节点的CPU核屯、数、CPU频率、 内存大小、带宽大小信息。
[0016]步骤S3中,所述计算出每个异构物理节点对应的虚拟资源份额,具体通过W下方 法实现:
[0 017 ]假设异构物理节点的资源向量为ReSij,i表示异构物理节点,j分别代表CPU核屯、 数、CPU频率、内存大小、带宽大小;函数minO表示取所有数据中的最小值;Viri表示异构物 理节点i分得的虚拟资源份额;参数Pi为调和系数,其牛
i=l,2,3···,j=l,2,3···, 则异构物理节点对应的虚拟资源份额的计算公式如下所示:
[0018]
(1)
[0019]Xj=min(Resij) (2)
[0020] 其中,(2)式表示j能力在所有异构物理节点当中的最小值。
[0021] 步骤S6中,所述按照DRF算法计算出该作业所需要的虚拟资源份额为:当集群平台 有若干个作业提交时,作业首先被切割成若干个任务,如图4,计算每个作业的主资源份额, 假设为Si;DRF算法每次循环开始时,选取各个作业中主资源份额最小的一个,分配一份资 源给该作业,随后更新当前各个作业的主资源份额,进入下一次的循环;当其中一种资源达 到物理最大值时,停止分配。图4中,假设集群总资源的容量为R= {ri,…,rm},已经用掉的资 源为C={:Cl,一,Cm},初始值为0,分配给用户i的资源为111={化1,。',化。},初始值为0。
[0022] DRF算法的全称为"主资源公平算法",即用户分配到的虚拟资源份额应该由其主 导份额的资源来决定。主导份额的资源是在所有已经分配给用户的多种资源中,占据最大 份额的一种资源。作业向集群申请资源,是W任务为单位申请的,每个任务需要的资源集合 为R= {ri,…,rm},DRF算法的目的是将虚拟资源最大化地分配到各个作业上,同时又不超过 机器本身的负载,避免节点出现过载现象,最大化地将电能转化为计算能力,从而达到能耗 最优的目标。
[0023] 步骤S6中,所述集群平台通过能耗最优调度算法将该作业所需的虚拟资源分配给 该作业为:
[0024] 收集不同任务在集群平台中各个异构物理节点的运行速度和能效(其中能效是指 单位时间的耗电量大小),构造任务调度的速度矩阵Vi,神日能效矩阵El,当有新的作业提交 到集群中,集群将其切分成若干任务,调度时依据Vi,神此十算出执行运些任务时所需要 总能耗最小的异构物理节点集合,然后将该作业调度到总能耗最小的异构物理节点上。
[0025] DRF算法计算出该作业所需要的虚拟资源份额后,集群平台使用"能耗最优调度算 法"将该作业所需的虚拟资源分配给该作业。在初始的分配策略中,调度器随机地将任务分 配到若干节点执行,运种分配策略使得任务并没有在最合适的节点中执行,造成执行速度 慢,能耗高的现象。因此,能耗最优分配算法的思想就是通过统计过往任务的执行数据,调 度器依照运些历史数据将被切割成若干任务的作业分配到合适的若干节点中,使得完成作 业的总能耗最小。能耗最优分配算法的核屯、思想为:收集不同任务在集群中各个节点的运 行速度和能效,组成速度矩阵Vi,神日能效矩阵El,J。能效是指单位时间的耗电量大小。当有新 的作业提交到集群中,集群将其切分成若干任务,调度器依据Vi,神蛇1,北勺信息,计算出运些 任务应该分配某些节点上时能使得能耗总量最小。算法具体内容为:首先收集不同任务在 集群中各个节点的运行速度和能效,组成速度矩阵Vi,神日能效矩阵El,J。其中i表示任务种 类,j表示节点,则有:
[0026]
[0027]当有新的作业提交到集群时,集群收集当前每个节点的剩余
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1