具有功耗意识的数据中心应用服务调度方法

文档序号:6338752阅读:205来源:国知局
专利名称:具有功耗意识的数据中心应用服务调度方法
技术领域
本发明涉及计算机技术领域的应用服务调度方法,具体涉及一种具有功耗意识的 数据中心应用服务调度方法。
背景技术
随着能源危机、全球气候变暖等环境问题的加重,人们已经认识到处理能耗问题 的严重性和紧迫性。作为企业能耗大户的数据中心的能耗管理问题已经突现出来,数据中 心能耗需求的增长速度越来越明显,数据中心开始凸显能耗危机。例如,深圳某银行系统的 信息中心机房(建筑面积4000平方米,在用面积2000平方米),一年的电费达到了 800万元 人民币,约合0. 4万元/平米/年(单位面积电费)。调查显示,对于一般中低密度的企业数 据中心(EDC),每年的单位面积电费大约在0. 4-1万元人民币之间,对于一般的互联网数据 中心(IDC),单位面积电费则在0.8-1. 5万元之间。一个长期满负荷运行的、功率为IkW的 服务器,每年的耗电量为8760kWh,服务器在实际运行负荷下的功耗,约为满载的40%-60%, 但同时为服务器提供环境的机房设备所消耗的电能,则可能是服务器能耗的2-3倍。在一 个典型的数据中心中,空调系统消耗45%的电能,UPS供配电系统消耗对%的电能,照明系 统消耗1%的电能,IT得到的电能仅占30%。据广东省电信规划设计院提供的数据,深圳地 区大型IDC机房的空调系统全年耗电平均占IDC总耗电的45% (2008年数据)。事实上,数据中心电力不足和电费高昂已经成为全球化的问题。据专家预测,至 2012年年底,全球近一半的数据中心将无法拥有足够的能源和冷却装置,用以支持高密度 的服务器和存储设备。而到2011年,数据中心1/3以上的预算将是环境成本。我们对 深圳市各企业的访问调查结果显示6 的被访企业认为,其数据中心面临着诸如散热、供 电、成本等问题;23%的被访企业认为,其数据中心供电和散热能力不足,限制了 IT基础设 施扩展,或无法部署高密度计算设备;有19%的被访企业认为,其数据中心的耗电量太大, 费用无法负担;有17%的被访企业认为,机房温度过高,影响了计算设备的稳定运行。数据中心的软硬件提供商、企业和机构本身、政府等都开始从不同层面致力于降 低数据中心的能耗问题。2007年2月,由AMD、HP、Sun和IBM发起成立了绿色网格(The Green Grid)组织,旨在协助企业降低数据中心不断增长的功耗和散热成本。绿色网格组 织希望通过制定和宣传数据中心运营、构建与设计方面的最佳实践,优化数据中心和其它 IT设施的能源使用模式,并与其它组织协作,共同制定与平台无关的能耗管理标准、测量 方法、工艺及新技术,以不断改进全球数据中心的高能效表现。作为数据中心的用户,企业 和机构的管理层也已经开始认为,数据中心的节能降耗指标是采购数据中心设备及软件 时需要优先考虑的因素之一。总之,“绿色数据中心”的概念已经从“起点”升至了“沸点”,无论是从芯片级入手 提升服务器性能,还是改进基础软件架构效率,或者是改善机房基础设施环境。金融、电信、 能源三大行业的被访企业对“绿色数据中心”的认知度和认同度明显高于总行业的平均值, 其中金融和电信均为阳%,高出平均值12个百分点;能源为53%,高出平均值10个百分点。然而,不管是从技术方面还是市场方面,国内外数据中心能耗管理还处于早期阶段,但人们 对于节约能源和保护环境的迫切需求又要求数据中心在能耗管理方面有较大的改善和提
尚ο

发明内容
本发明的目的在于提供一种具有功耗意识的数据中心应用服务调度方法,以解决 数据中心能耗较大的问题。本发明的技术方案如下
一种具有功耗意识的数据中心应用服务调度方法,包括
Sl 获取当前数据中心中所有节点服务器的状态,以及应用服务在节点的分布和 资源占用情况;
S2:利用历史日志数据和当前应用负载情况,采用多尺度时间序列回归分析方法 对数据中心的每个应用服务负载进行预测;
S3:根据预测的负载和当前应用负载情况,进行具有功耗意识的应用服务调度优
化计算;
S4 依据应用服务调度优化计算结果,对节点进行管理,对应用服务进行调度。所述的具有功耗意识的数据中心应用服务调度方法,其中,步骤Sl具体包括
5101获取集群中所有节点的主要硬件信息;
5102获取集群中所有节点的状态;
5103统计处于各状态的节点总数;
5104获取各节点的资源利用情况。所述的具有功耗意识的数据中心应用服务调度方法,其中,步骤S2具体包括
5201选择历史日志数据作为初始时间序列回归分析输入数据,并设定最大匹配尺度 层数;
5202逐尺度对每一个应用服务的历史序列数据进行时间序列回归分析;
S203:每尺度下,采用多种时间序列回归分析方法进行分析,选择误差最小的回归模型 作为当前尺度的预测模型;
S204:用当前时间序列输入数据减去当前预测模型预测数据作为下一尺度的时间序列 回归分析输入数据;
S205:检查当前匹配误差是否小于设定的误差上限,如果是,转入步骤S206,如果否, 转入步骤S207 ;
5206检查当前匹配尺度层数是否小于设定的最大匹配尺度层数,如果是,将当前匹配 尺度层数加1,然后转入步骤204,如果否,转入步骤S207 ;
5207检查当前所有的应用是否预测完,如果是,转入步骤S3,如果否,转入步骤S201。所述的具有功耗意识的数据中心应用服务调度方法,其中,步骤S203具体包括如 下步骤
A 每一尺度下,采用多种时间序列回归模型进行负载预测; B 计算各模型预测结果的绝对误差;
C 选择相对误差最小的一个模型,作为当前尺度的最终预测模型。
6
所述的具有功耗意识的数据中心应用服务调度方法,其中,步骤S3具体包括 S301 根据预测模型逐应用服务进行一段时间内的负载预测;
S302:计算I个预测时间段
内的CPU占用率炳}仏,内存占用率㈣)仏,存储占用率㈨丨i,故障节点发生量柄记;
5303根据预测负载值估计第j个应用服务所需的节点总数;
5304找出节点的热启动时间点集和休眠时间点集~。所述的具有功耗意识的数据中心应用服务调度方法,其中,步骤S304具体包括 a 依据步骤S303计算第个应用服务在时间段,所需的节点总数I / ,将计算结果与
该应用服务在上一时间段 -1的计算节点总数服J进行比较,若爾/大于Nd J ,则转 入b,反之,转入c ;
b 比较第j个应用服务在时间段『所需的节点总数JW/与当前工作的节点数 的大小,若Mf/大于AZwrt,则表示需要启动新的节点,计算,时刻需要启动的新节点数 Md ^ - Nwiirk的值,将当前时间段i和当前时间段,需要启动的新节点数作为一个二元元 素(!, Nd/ - Fwfe )加入集合Sj,将当前工作结点总数Nmrk设置为厕/ ,转入d ;
c 计算时间段 +1之后的连续Γ个时间段内分别所需的节点数,计算所得的Γ个结 果都加入集合[1,/Π ,并与进行比较,若脇/小于集合中的所有
值,则表示确实可以进行节点休眠,找出{厕i+1+/}的最小值ΜΛ,计算ι.时刻需要休眠的 节点数^rt-Mft ;将当前时间段 和当前时间段ι需要休眠的节点数作为一个二元元素 (Nmrk — Ndk )}加入集合~ ,转入d ; d 判断当前时间段i是否小于M ,如果是,使i=i+l,然后转入a ;否则,转入e ; e 假定热启动的预热时间为p,遍历热启动时间点集S/ ,将第一维的值减-使得
记录的是第j个应用服务需要热启动节点的实际启动时间。所述的具有功耗意识的数据中心应用服务调度方法,其中,步骤S4具体包括
5401依据步骤S3的结果,每隔采样时间逐应用服务进行节点调度;
5402依据步骤S3的结果,进行热启动节点、休眠节点调度、故障节点调度。所述的具有功耗意识的数据中心应用服务调度方法,其中,步骤S402具体包括
I选择一个应用服务,初始化当前热启动调度指数O为1,初始化休眠调度指数f/ 为1 ;
II获取当前时间为『,当前热启动调度指数々,休眠调度指数为Ii ;
III进行热启动节点调度,检测Si中第~元素的第一分量是否小于或等于m若
否,则转入步骤IV ;若是,则令i 等于S』·中第h元素的第二分量,并设定现有热启动节点
7数位σ,将ρ - G个休眠节点唤醒成热等待节点,等待应用部署使用,同时热启动调度指数 /,加丨,转入步骤V;
IV:进行休眠节点调度,检测Lj中第^^·元素的第一分量是否小于或等于T,若是, 则令A等于Zy中第A^I元素的第二分量,检测第个应用服务是否可以释放节点,如果
是,在保证f个热启动节点的前提下,将多余的节点进行休眠,转入步骤V ;
V进行故障节点调度,检测是否出现故障节点,若有故障节点,且数量为E,则将故障 节点的应用迁移至热启动节点,将休眠节点唤醒成热启动节点,保证F个热启动节点,若没 有故障节点,则转入步骤VI ;
VI判断是否所有的应用服务已经处理完,如果否,转入步骤I,如果是,进行下一次调度。本发明的有益效果是本发明针对数据中心运行中的高功耗问题,在应用服务调 度和节点管理方法上进行创新,通过对服务器负载进行统一监控和统一管理,来选择服务 的执行节点和调整节点的运行状态,从而实现数据中心节点运行的最优化配置,达到每瓦 特性能的最大化,有效降低整个数据中心的能耗。


图1为本发明的具有功耗意识的数据中心应用服务调度方法的流程图。图2为图1中步骤S2的流程图。
具体实施例方式以下将结合附图,对本发明的具体实施方式
和实施例加以详细说明,所描述的具 体实施例仅用以解释本发明,并非用于限定本发明的具体实施方式
。本发明提出的一种具有功耗意识的数据中心应用服务调度方法,针对数据中心运 行中的高功耗问题,在应用服务调度和节点管理方法上进行创新,通过对服务器负载进行 统一监控和统一管理,来选择服务的执行节点和调整节点的运行状态,从而实现数据中心 节点运行的最优化配置,达到每瓦特性能的最大化,有效降低整个数据中心的能耗。
本发明针对数据中心中的各个应用服务,依据历史负载数据进行应用服务负载预测, 然后进行应用服务的动态调度,控制数据中心节点的运行状态,有效的降低了整个数据中 心的能耗。请参阅图1,本发明的具有功耗意识的数据中心应用服务调度方法包括如下步 骤
Sl 获取当前数据中心中所有节点服务器的状态,以及应用服务在节点的分布和资源 占用情况。S2:利用历史日志数据和当前应用负载情况,采用多尺度时间序列回归分析方法 对数据中心的每个应用服务负载进行预测。S3:根据预测的负载和当前应用负载情况,进行具有功耗意识的应用服务调度优 化计算。
S4:依据应用服务调度优化计算结果,对节点进行管理,对应用服务进行调度。其中,步骤Sl是利用监控软件获取当前数据中心中所有节点服务器的状态,以及 应用服务在节点的分布和资源占用情况,具体包括如下步骤
SlOl 利用数据中心集群监控软件采集集群中所有节点的主要硬件信息。需要采集的硬件信息主要是CPU的颗数及型号、磁盘空间容量、物理内存大小、网 络带宽等。S102 获取集群中所有节点的状态。每个节点有4种可能的状态运行、热等待、休眠和故障。S103 统计处于各状态的节点总数。节点总数包括运行节点数iV,、热等待节点数Ww、休眠节点数I5以及故障节点数
i、h OS104 获取各节点的资源利用情况。主要包括CPU利用率、内存利用率、存储占用率、磁盘利用率等。请参阅图2,步骤S2具体包括如下步骤
S201 选择历史日志数据作为初始时间序列回归分析输入数据,并设定最大匹配尺度层数。选择一个应用的历史日志数据作为初始时间序列回归分析输入数据。对于某一 个应用服务,根据一定的采样频率采集其历史负载序列,得到序列值,作为初始时 间序列输入回归模型进行负载预测;采样时间St=30分钟/次,N取四周的总采样次数 2*24*7*4=1344 ;设定匹配尺度层数。一般设定三层或者四层,设定预测误差精度为〗。S202:逐尺度对每一个应用服务的历史序列数据进行时间序列回归分析。将前一尺度的预测差量做为下一层数的预测输入数据。S203:每尺度下,采用多种时间序列回归分析方法进行分析,选择误差最小的回归 模型作为当前尺度的预测模型。S204:用当前时间序列输入数据减去当前预测模型预测数据作为下一尺度的时间 序列回归分析输入数据。更新输入数据的公式是巧=Xi - W ,其中Σ = It..., 。S205:检查当前匹配误差是否小于设定的误差上限,如果是,转入步骤S206,如果 否,转入步骤S207。S206:检查当前匹配尺度层数是否小于设定的最大匹配尺度层数,如果是,将当前 匹配尺度层数加1,然后转入步骤204,如果否,转入步骤S207。S207 检查当前所有的应用是否预测完,如果是,转入步骤S3,如果否,转入步骤 S201。其中,步骤S203具体包括如下步骤
A 每一尺度下,采用多种时间序列回归模型进行负载预测,一般取自回归』力>) 模型、移动平均M我的模型、自回归滑动平均模型3Λ·(Ρ, )和自回归移动平均模型ARlMAip,q)四种。每种模型预测值为,其中J = 1,2,3,4,表示第几种模型;
B 计算各模型预测结果的绝对误差,第;种模型的误差计算公式为
^ = ZK-^f ;
“1
C:选择相对误差最小的一个模型,作为当前尺度的最终预测模型,找到Ej , J = 1.2,3,4中的最小值,假定为k。请参阅图3,步骤S3具体包括如下步骤
S301 根据预测模型逐应用进行一段时间内的负载预测。预测的时间间隔可以设为一周。S302 计算ι个预测时间段内的CPU占用率㈣}=,内存占用率{ 丄 ,存储占用
率hfi ,故障节点发生量柄) ;其中,每个预测时间段应与S201中的采样时间长度M — 致,为 Af = 7*24*60/Μ。S303 根据预测负载值估计第j个应用服务所需的节点总数。所需节点总数的计算公式为_ =+約,其中.
C0 M0 M0je[IM]
C0M01R0分别表示每个节点可以提供的CPU、内存和存储量大小。S304 找出节点的热启动时间点集&和休眠时间点集、·。设当前工作节点数为Nwerk,节点启动的时间门限为K,即在连续的,个时间段内 不同时出现节点的热启动和休眠操作。和i/分别初始化为空集,则
a 依据步骤S303计算第个应用服务在时间段,所需的节点总数Mi/ ,将计算结果与
该应用在上一时间段;-1的计算节点总数Nd J进行比较,若Nd/大于Nd J ,表示需要 增加节点则转入b,反之,表示有节点需要休眠,转入C。b:比较第j个应用服务在时间段i所需的节点总数Mi/与当前工作的节点数 Mmrk的大小,若AW/大于A^wa,则表示需要启动新的节点,计算,时刻需要启动的新节点 数i /- Nmrk的值。将当前时间段,和当前时间段i需要启动的新节点数作为一个二元 元素(ι,厕/ - Nwsrk )加入集合Sj,将当前工作结点总数Nwgrk设置为爾/ ,转入d ;
c 计算时间段之后的连续Γ个时间段内分别所需的节点数,计算所得的Γ个结 果都加入集合(iWi+1+/},,fc e,并与Mf/进行比较,若Mf/小于集合中的所有值,
则表示确实可以进行节点休眠,找出[1,Γ]的最小值μλ,计算-时刻需 要休眠的节点数W1^-Mft ;将当前时间段,和当前时间段1需要休眠的节点数作为一个二
10元元素仏{N-k — Ndk )}加入集合~,转入d ;
d 判断当前时间段 是否小于〗f如果是,使i=i+l,然后转入a ;否则,转入e。e 假定热启动的预热时间为ρ,遍历热启动时间点集S/ ,将第一维的值减f,使
得 记录的是第j个应用需要热启动节点的实际启动时间。步骤S4具体包括如下步骤
S401 依据步骤S3的结果,每隔采样时间St逐应用服务进行节点调度。S402 依据步骤S3的结果,进行热启动节点、休眠节点调度、故障节点调度。步骤S402具体包括以下步骤
I 选择一个应用服务,初始化当前热启动调度指数々为1,初始化休眠调度指数Ii为1。II 获取当前时间力τ当前热启动调度指数々,休眠调度指数为Kj。III 进行热启动节点调度,检测Sj中第元素的第一分量是否小于或等于了, 若否,则转入步骤IV ;若是,则令J7等于S/中第O元素的第二分量,并设定现有热启动节 点数位σ,将个休眠节点唤醒成热等待节点,等待应用部署使用,同时热启动调度指 数O加1,转入步骤V。IV 进行休眠节点调度,检测h中第元素的第一分量是否小于或等于τ,若
是,则令丑等于、·中第f/元素的第二分量,检测第个应用是否可以释放节点,如果可
以,在保证i 个热启动节点的前提下,将多余的节点进行休眠;转入步骤V。V 进行故障节点调度,检测是否出现故障节点,若有故障节点,且数量力S则将 故障节点的应用迁移至热启动节点,将休眠节点唤醒成热启动节点,保证F个热启动节点。 若没有故障节点,则转入步骤VI。VI 判断是否所有的应用服务已经处理完,如果否,转入步骤I,如果是,等待采样 时间M进行下一次调度。本发明的具有功耗意识的数据中心应用服务调度方法与现有的数据中心系统管 理软件系统结构兼容,易于实现,并在数据中心中实际应用。能够根据预测的负载与实际负 载的误差自动进行优化调节,实现数据中心的低能耗管理。应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可 以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保 护范围。
1权利要求
1.一种具有功耗意识的数据中心应用服务调度方法,其特征在于,包括Sl 获取当前数据中心中所有节点服务器的状态,以及应用服务在节点的分布和 资源占用情况;S2:利用历史日志数据和当前应用负载情况,采用多尺度时间序列回归分析方法 对数据中心的每个应用服务负载进行预测;S3:根据预测的负载和当前应用负载情况,进行具有功耗意识的应用服务调度优化计算;S4 依据应用服务调度优化计算结果,对节点进行管理,对应用服务进行调度。
2.根据权利要求1所述的具有功耗意识的数据中心应用服务调度方法,其特征在于, 步骤Sl具体包括5101获取集群中所有节点的主要硬件信息;5102获取集群中所有节点的状态;5103统计处于各状态的节点总数;5104获取各节点的资源利用情况。
3.根据权利要求1所述的具有功耗意识的数据中心应用服务调度方法,其特征在于, 步骤S2具体包括5201选择历史日志数据作为初始时间序列回归分析输入数据,并设定最大匹配尺度 层数;5202逐尺度对每一个应用服务的历史序列数据进行时间序列回归分析;S203:每尺度下,采用多种时间序列回归分析方法进行分析,选择误差最小的回归模型 作为当前尺度的预测模型;S204:用当前时间序列输入数据减去当前预测模型预测数据作为下一尺度的时间序列 回归分析输入数据;S205:检查当前匹配误差是否小于设定的误差上限,如果是,转入步骤S206,如果否, 转入步骤S207 ;5206检查当前匹配尺度层数是否小于设定的最大匹配尺度层数,如果是,将当前匹配 尺度层数加1,然后转入步骤204,如果否,转入步骤S207 ;5207检查当前所有的应用是否预测完,如果是,转入步骤S3,如果否,转入步骤S201。
4.根据权利要求3所述的具有功耗意识的数据中心应用服务调度方法,其特征在于, 步骤S203具体包括如下步骤A 每一尺度下,采用多种时间序列回归模型进行负载预测;B 计算各模型预测结果的绝对误差;C 选择相对误差最小的一个模型,作为当前尺度的最终预测模型。
5.根据权利要求1所述的具有功耗意识的数据中心应用服务调度方法,其特征在于, 步骤S3具体包括S301 根据预测模型逐应用服务进行一段时间内的负载预测;S302:计算 f个预测时间段内的CPU占用率炳汜,内存占用率㈣}仏,存储占用率⑷工故障节点发生量⑷思;5303根据预测负载值估计第j个应用服务所需的节点总数;5304找出节点的热启动时间点集S,·和休眠时间点集~。
6.根据权利要求5所述的具有功耗意识的数据中心应用服务调度方法,其特征在于, 步骤S304具体包括a 依据步骤S303计算第,个应用服务在时间段^所需的节点总数Mi/ ,将计算结果与该应用服务在上一时间段Σ — 1的计算节点总数爾J进行比较,若Nd/大于Nd J,则转 入b,反之,转入c ;b:比较第j个应用服务在时间段,所需的节点总数Mf/与当前工作的节点数Fwrt 的大小,若AH/大于Miwrt.,则表示需要启动新的节点,计算时刻需要启动的新节点数 Nd/ - Nwsrk的值,将当前时间段,和当前时间段,需要启动的新节点数作为一个二元元 素(ι, Md/ - .Vwrfc )加入集合Sj,将当前工作结点总数Nw。rk设置为Ndf ,转入d ;c 计算时间段ζ+1之后的连续Γ个时间段内分别所需的节点数,计算所得的Γ个结 果都加入集合e,并与厕/进行比较,若厕/小于集合中的所有值,则表示确实可以进行节点休眠,找出{Mi的最小值Mft,计算,时刻需要休眠的节点数Afiwfc-AtA ;将当前时间段,和当前时间段,需要休眠的节点数作为一个二元元素 {!,(N- Ndk ))加入集合& ,转入d ;d 判断当前时间段i是否小于Af ,如果是,使i=i+l,然后转入a ;否则,转入e ; e 假定热启动的预热时间为ρ ,遍历热启动时间点集S/,将第一维的值减『使得、记录的是第j个应用服务需要热启动节点的实际启动时间。
7.根据权利要求1所述的具有功耗意识的数据中心应用服务调度方法,其特征在于, 步骤S4具体包括5401依据步骤S3的结果,每隔采样时间逐应用服务进行节点调度;5402依据步骤S3的结果,进行热启动节点、休眠节点调度、故障节点调度。
8.根据权利要求1所述的具有功耗意识的数据中心应用服务调度方法,其特征在于, 步骤S402具体包括I选择一个应用服务,初始化当前热启动调度指数々为1,初始化休眠调度指数 为1 ;II获取当前时间为7,当前热启动调度指数O ,休眠调度指数为f/ ;III进行热启动节点调度,检测S/中第々元素的第一分量是否小于或等于m若 否,则转入步骤IV ;若是,则令5·等于L中第O元素的第二分量,并设定现有热启动节点 数位σ,将F - σ个休眠节点唤醒成热等待节点,等待应用部署使用,同时热启动调度指数“加1,转入步骤V;IV:进行休眠节点调度,检测 中第Ti元素的第一分量是否小于或等于,若是, 则令ι等于Iy中第I)元素的第二分量,检测第j个应用服务是否可以释放节点,如果是,在保证兄个热启动节点的前提下,将多余的节点进行休眠,转入步骤V ;V进彳」:故障节点调度,检测是否出现故障节点,若有故障节点,且数量为E,则将故障 节点的应用迁移至热启动节点,将休眠节点唤醒成热启动节点,保证F个热启动节点,若没 有故障节点,则转入步骤VI ;VI判断是否所有的应用服务已经处理完,如果否,转入步骤I,如果是,进行下一次调度。
全文摘要
本发明公开了一种具有功耗意识的数据中心应用服务调度方法,包括S1获取当前数据中心中所有节点服务器的状态,以及应用服务在节点的分布和资源占用情况;S2利用历史日志数据和当前应用负载情况,采用多尺度时间序列回归分析方法对数据中心的每个应用服务负载进行预测;S3根据预测的负载和当前应用负载情况,进行具有功耗意识的应用服务调度优化计算;S4依据应用服务调度优化计算结果,对节点进行管理,对应用服务进行调度。本发明通过对服务器负载进行统一监控和统一管理,来选择服务的执行节点和调整节点的运行状态,从而有效降低整个数据中心的能耗。
文档编号G06F9/46GK102063327SQ201010589580
公开日2011年5月18日 申请日期2010年12月15日 优先权日2010年12月15日
发明者冯圣中, 文高进, 杨念, 樊建平, 贝振东, 赵娟娟 申请人:中国科学院深圳先进技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1