提高云计算系统能量有效性的数据摆放及节点调度方法

文档序号:9551388阅读:393来源:国知局
提高云计算系统能量有效性的数据摆放及节点调度方法
【技术领域】
[0001] 本发明涉及云计算能量有效性领域,尤其涉及提高云计算系统能量有效性的数据 摆放及节点调度方法。
【背景技术】
[0002] 近年来随着云计算的兴起,大量的云应用和云项目在网络中被应用,如Google云 计算平台,亚马逊的EC2,IBM的BlueCloud,百度云等。然而数据中心由成千上万台服务器 组成,除提供信息处理服务外还需对其进行维护,这将消耗巨大的能量。因此能量消耗成为 了数据中心成本的重要因素。经计算在一个面积为20000平方英尺的企业数据中心中,每 平方英尺消耗100W的功耗,这相当于400000平方英尺的商业办公大楼所消耗的能量。2005 年美国数据中心服务器的能量消耗约占美国能量消耗的1.2%,2006年美国数据中心消耗 了大约610亿kW·Η的能量,这等价于耗费45亿美元。大型联机事务处理系统(如0LTP, 数据密集型的应用程序)的存储消耗功率占所有IT设备消耗总功率的70%以上。数字信 息的快速增长导致数据中心设备能量消耗率会在短时间内大幅增长,能量的消耗已经逐渐 超过了机器的硬件成本。如此巨大的能量耗费,已经引起越来越多重视,数据中心节能技术 的研究迫在眉睫。
[0003] 服务器大部分能量是在资源空闲状态下被消耗的,NRDC报告指出服务器在空闲状 态下消耗的能量占服务器总消耗能量的69%~97%,将空闲服务器关闭可达到节能目的。 现有的云平台节能技术局限于Hadoop平台,使用HDFS内部架构进行动态数据摆放太过于 局限,并不适用于大部分云计算环境。如何在云平台中进行数据摆放成为减少能量消耗的 重要问题。

【发明内容】

[0004] 本发明为克服上述的不足之处,目的在于提供提高云计算系统能量有效性的数据 摆放及节点调度方法,本方法采用动态数据摆放算法及节点调度策略,解决了动态数据摆 放的局限性问题,同时提高了能量有效性。
[0005] 本发明是通过以下技术方案达到上述目的:提高云计算系统能量有效性的数据摆 放及节点调度方法,包括如下步骤:
[0006] (1)将任务请求抽象成对指定数据块的读写计算操作,对云平台存储的数据作初 始化布置;
[0007] (2)初始化布置后,根据动态数据摆放算法调整数据摆放;
[0008] (3)基于数据摆放结果确定得到开启最少的节点且能达到最大节能效果的调度优 化策略,完成节点调度优化。
[0009] 作为优选,所述步骤(1)初始化布置的方法如下:
[0010] 1)将数据划分为大小为B的数据块,得到全数据块集合为D= {d。,山,d2,…,dMJ, 其中,Μ为数据块个数;
[0011] 2)在节点中建立数据块备份,将备份的数量定义为备份因子K(K>1),每个数据块 山(0 <i<Μ)有一个主备份块Ρ和Κ-1个从备份数据块匕,…,hKi;
[0012] 3)设定任务请求优先访问主备份块,过载时访问从备份块;设定存储节点集合为 S= {s。,s2,…,sNJ,其中,N代表节点个数;
[0013] 4)根据备份因子数将每个数据块的数据分为K个数据组;组与组之间采取随机映 射方式,每组中的数据块随机映射到组内的N/K个节点并得出该组的位置映射表;
[0014] 5)将所有组的位置映射表放到全局位置映射表Map中。
[0015] 作为优选,所述的K个数据组,每组等价于一个包含Μ个数据块的全数据集合,将 这组数据块存储到Ν/Κ个节点上,分配给每个分组的节点均不相同。
[0016] 作为优选,所述步骤(2)动态数据摆放算法如下:
[0017] (a)通过Map查找资源利用率高于设定的最大值或者低于设定的最小值的节点, 组成集合Sutll;
[0018] (b)计算节点集合Sutll中的节点s在数据摆放过程中的节点资源利用率,计算公 式如下:
[0019] U=e·Ucpu+(l_e) ·Udlsk
[0020] 其中Ucpu,Udls#别表示cpu和磁盘的利用率,e为比例因子;(c)若节点s的资源 利用率高于设定的最大值或低于设定的最小值,则查找并开启数据可交换节点St,将节点s 中过载的数据块转移到节点st中后关闭节点St;
[0021] (d)重复循环执行步骤(a)_步骤(c)直至调整完成数据摆放。
[0022] 作为优选,所述数据可交换节点定义为如果节点s和节点st中有相同数据块的备 份,则8和\是数据可交换的。
[0023] 作为优选,所述调度优化策略如下:
[0024] ⑴设定任务执行时间上限T_,在时间T_内,查找满足任务请求且当前集群消 耗功率1^_最小的节点集合,得到消耗功率最小的开启节点集合问题F(JS,Τ);
[0025] (ii)将开启节点集合问题F(Jra_st,S,T)转化为带权重的集合覆盖问题 WSC(U,S#),其中,U代表任务请求的数据块在节点中的位置,S#代表所有数据在节点中存储 的位置;
[0026] (iii)计算得到节点的权重,公式为及=f7; < 其中,I;为任务请求队列的 j=0 总执行时间,?\是开启节点s^丸行任务请求的时间;
[0027] (iv)采用批处理节点调度算法解决带权重的集合覆盖问题WSC(U,S#)。
[0028] 本发明的有益效果在于:(1)解决了动态数据摆放的局限性问题,基本适用于全 部云计算环境;(2)减少能量消耗,提高了能量有效性。
【附图说明】
[0029] 图1是本发明实施例的云系统结构图。
【具体实施方式】
[0030] 下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于 此:
[0031] 实施例:提高云计算系统能量有效性的数据摆放及节点调度方法,包括如下步 骤:
[0032] 第一步,将任务请求抽象成对指定数据块的读写计算等操作,因为云平台事先存 储了大量的数据,所以对这部分数据做初始化布置。
[0033] 图1所示的为本实施例的云系统结构图,已知云平台的节点资源集合 (s。,Sds2,…,sN》和任务请求队列(r。,1^,r2,…,rN ^,当云平台中节点资源利用率发生变 化时,将发生数据迀移,动态数据摆放算法给出摆放策略,并启动节点调度策略生成节点开 关方案,在调度中有两个优化目标:1)给定消耗功率上限,通过节点调度使任务请求的执 行时间最小;2)给定任务请求执行时间上限,通过节点调度使开启的节点集合消耗功率最 小。
[0034] 在本发明的实施例中所述的数据初始化布置具体方法如下,首先将数据划分成大 小为B的数据块,得到全数据块集合D= {cUc^c^,…,dM1}(M代表数据块的个数)。为了 保证数据的可靠性,数据块在节点中存有备份,将备份的数量定义为备份因子K(K>1),因 此每个数据块山(0<i<Μ)有一个主备份块Ρ,和Κ-1个从备份数据块h,…,hKi。假 定任务请求在访问数据块时首先访问主备份块P,当主备份块P有更新时,在统一时间内 将更新传递给所有从备份数据块,如无特殊情况只有当主备份块。设存储节点集合为S= {s。,Sl,s2,…,sNJ(N代表节点个数)。数据块做如下初始化摆放:按照备份因子数,将包含 主数据块和从数据块在内的所有数据分为K组:每组等价于一个包含Μ个数据块的全数据 集合,将这组数据块存储到Ν/Κ个节点上,分配给每个分组的节点均不相同。每组中存放一 张数据块与节点的位置映射表,在主控制模块中存储所有数据块的位置映射表Map。分组集 合定义为G= {g。,g2,…,gN/KJ,其中gi表示第i个分组(0彡i彡K-1),
[0035] g;= {···,sj, ···,sz, ···} (0 ^i^N, 0 ^z^N,j^z)
[0036] 集合gl中元素代表集群节点。从响应时间和节能两方面的综合考虑,组与组之间 应采用不同的布置策略,综合考虑,这里采用了组间不同的数据分配方式,为了尽可能的使 组与组之间映射位置不同,这里采用随机映射方式,每组中的数据块都随机映射到组内的 N/K个节点并得出该组的位置映射表,最后将所有组的位置映
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1