基于节点主动休眠的数据中心能耗优化方法

2018-05-23 09:35:47李少华闫江宝耿贞伟陈先富张少泉
软件 2018年4期
关键词:内存数据中心能耗

李少华,闫江宝,耿贞伟,陈先富,张少泉

(1. 云南电网有限责任公司电力科学研究院,云南 昆明 650217;2. 云南电网有限责任公司信息中心,云南 昆明 650217;3. 昆明理工大学信息工程与自动化学院,云南 昆明 650504)

0 引言

云计算在应用上的普及促进了数据中心的发展并因此产生巨大的能耗,数据中心已经成为重要的能源用户。能耗问题已成为大型数据中心服务器和网站代管设施设计的关键。一方面,能耗花费已成为数据中心运营支出的重要组成部分,占数据中心运营成本的很大部分;另一方面,在紧密排列的云计算系统中,持续的运转使得计算节点经常过热,导致服务间歇性失效;同时,我国电力的主要来源为燃煤的火电,巨量的电能消耗对应大量的二氧化碳排放。因此研究数据中心节能具有重要的现实意义,并已取得科研机构和工业界的广泛关注。

云计算系统中,除了处理任务时产生的必要能耗开销,其运行过程中还存在长期开启而等待计算任务到达的能耗浪费的现象。计算节点的空闲功耗常占到其峰值功率的40%以上,因而产生大量的空闲功耗。本文考虑数据中心能耗成本收益比,提出多目标决策的能耗模型,数据中心的能耗管理使用休眠/唤醒技术将轻载节点置于休眠状态以降低能耗,在保证服务等级协议及负载均衡的前提下有效降低系统能耗。

本文首先建立数据中心节点的能耗模型,然后引入了灰度模型对即将到达的作业进行预测,并将资源、负载和即将到达的作业作为约束条件设计主动休眠算法,最后使用CloudSim仿真验证了系统在负载均衡状态下主动休眠算法节能的有效性。

1 相关工作

罗亮等人[1]为了建立一个准确、高效的能耗模型,首先取处理器的性能计数器和系统使用率作为能耗的主要影响因素并采样, 利用回归分析的方法筛选能耗因子降低模型复杂度,使用 SPEC2006作为能耗建模中的 Benchmark,并在线性回归下的最小二乘法、套索回归和非线性的SVR等三种模型下分别对能耗进行了预测。

王肇国等人[2]注意到机器学习算法已经成为数据中心所运行应用的重要组成部分,为了减少机器学习算法执行过程中产生的能耗,对PageRank算法和K-means算法的能耗和计算冗余等特性进行了深入分析,提出根据输入差异度判断是否为冗余计算的方法,通过减少冗余计算实现节能的目标。

陈晓华等人[3]利用处理器负载动态调节下网络设备能耗对流量负载不敏感的特点,提出基于混合整数规划模型的虚拟网络映射节能多目标决策模型以实现收益成本比最大化前提下的节能目标。通过分析网络及映射算法的动态特征,设计基于主动休眠的启发式算法训练底层网络资源利用率,降低混合整数规划时间复杂度,并找到虚拟网络映射解。

魏蔚等人[4]为了降低资源最优化放置问题中随机需求模型的计算复杂度,基于非线性规划理论,提出了一个快速资源分配算法,在效果逼近最优解算法的同时,大幅降低了计算复杂度。

宋杰等人[5]为了解决MapReduce系统中资源闲置造成的能源浪费,针对MapReduce集群的特点,提出根据节点计算能力和数据特性动态地调整Map任务和Reduce任务大小,提高资源利用率和节点并行性,降低MapReduce系统的整体能耗。

孙大为等人[6]为了最小化云计算能耗,选取云计算的5个性能指标进行量化,并通过最小化系统能耗、碳排放量,最大化系统健康、系统经济、可持续性得出优化策略。

窦晖等人[7]首先以风力发电为例对绿色能源的进行建模,然后提出数据中心电费和负载功耗的相关模型,并在不使用未来信息的前提下使用李雅普诺夫优化将随机优化问题转化为有约束线性规划问题,得出负载调度算法以最小化数据中心电费。

林闯等人[8]为节省网络能耗、构建绿色网络,分析了网络系统中服务器、网络通信设备的能耗模型,并分析了网络系统在不同应用场景下的节能机制和策略即网络节能评价指标,最终提出以优化理论对网络系统建模,并使用随机Petri网对系统资源状态进行分析的的绿色评价框架。

谭一鸣等人[9]针对云计算系统在运行过程中的能耗浪费问题,首先用随机模型对云计算任务建模,然后对云计算系统使用M/M/1排队模型进行任务调度并得出系统平均功率,结合负载均衡条件并使用基于优先规则的启发式算法得出期望能耗最小值。该调度策略可以在满足一定性能条件下,有效降低云计算过程中的能耗。

Kien Le等人[10]提出一种通用的、基于优化的支持多数据中心服务的框架,在遵守服务等级协议和降低能源成本的条件下管理棕色能源消耗并利用绿色能源。基于此框架,提出了一种跨数据中心请求分布的策略。

曹杰等人[11]为了最大化物理资源的效用,首先给出节点物理资源分配的基本假设,然后利用一阶累加序列预测在k+1时间到达的服务请求数,然后使用折线拟合以得到系统行为变化的波形,接着提出服务效用函数,并通过对物理机内节点总服务效用最大化函数进行求解得出物理资源分配策略。

2 能耗模型

减少单个计算节点的能耗是降低数据中心能耗的有效措施,但往往带来处理能力的损失。为了更好的分析处理能力和能耗的关系,我们首先使用两段模型对数据中心节点的能耗进行建模。

两段模型将节点的能耗看作由固定能耗和可变能耗两部分组成,固定能耗由网卡、硬盘、风扇、内存、CPU维持基本运行的部分能耗构成;可变能耗随处理器、硬盘、内存等设备的运行速度提高同步增加。Moreno-Vozmediano等人[12]的研究指出,数据中心计算节点的处理器和内存是重要的耗能部件,且具有较灵活的可调节能力,对二者的调度是能耗优化的主要部分,因此我们对CPU和内存部分的能耗进行建模,其他部分硬件能耗视为常量。

CPU是数据中心重要的耗能部件,并且具有便捷的调节方法,固定能耗常占节点能耗的40%以上,使得低负载节点的能效比较低,成为能耗优化中的重点环节。CPU能耗与使用率的函数关系如下:

其中常数 CCPU0表示CPU在0负载时的运行能耗, CCPU表示 CPU使用率对能耗的影响因子,CCPUsleep表示CPU在休眠状态下的能耗。

在内存空闲时,可以通过将其待机、休眠或关掉的方式减少能耗,但会增加响应时间。内存能耗长与CPU能耗正相关联,可通过节约CPU能耗减少内存能耗。内存能耗模型为:

其中常数 CMEMORY0表示内存在0负载时的运行能耗,CMEMORY表示内存使用率对能耗的影响因子,CMEMORYSleep表示内存在休眠状态下的能耗。

节点的能耗即可简单表示为

其中常数 C0表示云计算系统除CPU、内存之外的其他能耗,常数C表示云计算系统在0负载时的基本能耗, CSleep表示系统在休眠状态的基本能耗。

3 节点主动休眠

云计算能耗优化管理技术中的关闭/休眠技术(resource hibernation)主要用来降低空闲能耗。休眠节点的能耗通常不到节点额定功率的5%,且相较关闭的节点能大量减少启动时间。

3.1 作业预测

唤醒休眠节点执行作业会导致系统性能一定程度的下降,建立模型对下一个时间片到达的作业进行预测,在其他节点能够承载轻载节点作业和即将到达的作业前提下对轻载节点休眠,反之则及时唤醒休眠节点,可以在降低系统空闲能耗的同时,有效避免性能下降。

在一个资源分配周期T内,连续n个等时间间隔内到达数据中心的任务请求计算量序列记为表示第 i个时间间隔内到达节点的服务请求数量。曹杰等人[11]使用灰色预测模型得出第 i个时间槽到达节点的服务请求计算量

3.2 负载均衡

在降低云计算系统的能耗时,需要兼顾完成时间及负载均衡等因素,以保证 SLAs(服务登记协议),并避免部分节点严重损耗。轻载节点和重载节点之间的任务调度,可以有效降低作业运行的能耗,并提高云计算系统的整体利用率和性能,为此,赵辰吟等人[13]提出使用免疫算法进行任务调度。将 t时刻节点上的服务请求的总计算量与节点的处理速度的比值定义为节点在t时刻的负载率tU,即

其中tX为t时刻到达节点的计算量与t时刻未完成的计算量之和,w为节点的处理速度。

张栋梁等人[14]提出使用遗传算法对负载均衡求解,一般的,节点在负载平衡时应满足条件:

3.3 多目标决策

对下一时间片到达的作业进行预分配时,需要结合作业所需资源、节点剩余资源、节点负载综合考虑。郑伟伟等人[15]提出使用遗传算法解决资源分配中的碎片最小化问题,假设作业 i资源需求向量needi=(needi1, needi2, … ,n eedin),节点 j资源向量resj= (resj1, resj2, … ,r esjn),需求向量与资源向量需满足关系needik≤resjk,表示为needi<resj。

决策算法优先将作业分配到满足条件的较高负载节点;若已有激活节点不能承载即将在下一时间片到达的作业,激活睡眠节点;若节点上负载的作业执行结束,对节点休眠。

使用t表示时间片,wakT表示T时刻的作业,wakeup表示唤醒一个睡眠节点,m achinemaxU(l)表示满足条件且负载率最高的节点,主动休眠算法可表示为:

4 实验与结论

为了验证方法的有效性,使用CloudSim在物理机上搭建环境进行了云环境仿真实验。CloudSim可以方便的对云、数据中心、主机、网络、作业、用户进行模拟,并提供了能耗计算模型接口,可以以线性增长、平方增长、立方增长、平方根增长及SPEC能耗基准等方式计算能耗。CloudSim为开源软件,可以通过添加和修改类配置出所需环境。

4.1 实验设计

实验运行硬件环境:一台PC机,CPU主频2.3 GHz,内存8 GB。使用CloudSim创建了5个节点,并执行了30个作业。对CPU密集型、数据密集型、I/O密集型作业分别取典型应用,随机生成作业顺序及时间间隔,作为算法输入,以模拟不同规模的云资源调度情况,仿真过程的产生的能耗、周转时间等信息保存至文件。对比实验选择经典的 MIN-MIN算法。

4.2 仿真结果

为了准确的了解主动休眠方法的效果,我们从实时功率、周转时间两个维度对 MIN-MIN调度算法和基于主动休眠的节能方法进行了对比。设定当虚拟机资源利用率 80%时虚拟机处于重载状态,当虚拟机资源利用率 20%时虚拟机处于轻载状态,并根据重载轻载状态对作业调度,并对轻载节点进行休眠操作。

系统实时功率如图 1,0时刻系统处于初始状态,两种算法下系统功率一致。约6分钟时,主动休眠算法将全部节点激活以执行作业,系统功率与MIN-MIN算法下一致。主动休眠算法通过休眠部分轻载节点,有效的降低了系统能耗。

图1 系统实时功率Fig.1 Real-time power of the system

作业周转时间如图2所示,主动休眠算法的作业周转时间高于MIN-MIN算法,MIN-MIN算法将任务指派给能最早完成的节点,不关注负载均衡及系统能耗,因此周转时间较主动休眠算法小。主动休眠算法通过使用灰度模型对作业量进行预测,可以在需要时及时唤醒睡眠节点,有效的避免因节点休眠影响服务质量。

图2 作业周转时间Fig.2 Turnover time of jobs

主动休眠算法在保证SLA的前提下,通过休眠轻载节点,牺牲部分作业周转时间,达到有效降低系统能耗的目的,仿真实验表明此方法有效。

5 结论

云计算作为一种新的资源使用模式给互联网带来了新的机遇,同时它也给能耗问题带来了诸多挑战。我们不仅要满足持续增长的计算需求,更需要结合多种层面的技术促使云计算朝着更加节能和高效的方向发展。本文针对云计算系统中存在的能好浪费问题,利用不同计算机负载不同的现象,结合任务到达的随机性,建立了基于主动休眠的数据中心能耗优化方法。实验表明,本文提出的能耗优化方法在保证SLA的前提下,通过对低负载节点进行休眠,大幅度降低了云计算系统的能耗。

参考文献

[1] 罗亮, 吴文峻, 张飞.面向云计算数据中心的能耗建模方法.软件学报, 2014, 25(7): 1371-1387. http://www.jos.org.cn/1000-9825/4604.htm.

[2] 王肇国, 易涵, 张为华. 基于机器学习特性的数据中心能耗优化方法. 软件学报, 2014, 25(7): 1432-1447. http://www.jos.org.cn/1000-9825/4601.htm.

[3] 陈晓华, 李春芝, 陈良育, 曾振柄. 主动休眠节点链路的高效节能虚拟网络映射. 软件学报, 2014, 25(7): 1416-1431.http://www.jos.org.cn/1000-9825/4306.html.

[4] 魏蔚, 刘扬, 杨卫东, 一种通用云计算资源调度问题的快速近似算法, 计算机研究与发展, 2016, 53(3): 697-703.

[5] 宋杰, 徐澍, 郭朝鹏, 鲍玉斌, 于戈, 一种优化MapReduce系统能耗的任务分发算法, 计算机学报, 2016, 39(2): 323-338.

[6] 孙大为, 常桂然, 陈东, 王兴伟, 云计算环境中绿色服务级目标的分析、量化、建模及评价, 计算机学报, 2013, 36(7): 1509-1525.

[7] 窦晖, 齐勇, 王培健, 张恺玉. 一种最小化绿色数据中心电费的负载调度算法.软件学报, 2014, 25(7): 1448-1458.http://www.jos.org.cn/1000-9825/4599.htm.

[8] 林闯, 田源, 姚敏, 绿色网络和绿色评价: 节能机制、模型和评价, 计算机学报, 2011 , 34(4): 593-612.

[9] 谭一鸣, 曾国荪, 王伟, 随机任务在云计算平台中能耗的优化管理方法, 软件学报, 2012, 23(2): 266-278.

[10] K Le, R Bianchini, TD Nguyen, O Bilgir, M Martonosi,Capping the Brown Energy Consumption of Internet Services at Low Cost, International Green Computing Conference,2010, 11(2): 3-14.

[11] 曹洁, 曾国荪, 匡桂娟, 张建伟, 马海英, 胡克坤, 钮俊.支持随机服务请求的云虚拟机按需物理资源分配方法.软件学报, 2017, 28(2): 457-472. http://www.jos.org.cn/1000-9825/5054.htm.

[12] Moreno-Vozmediano R, Montero RS, Llorente IM. Key challenges in cloud computing: Enabling the future Internet of services. Internet Computing, IEEE, 2013, 17(4): 18-25.

[13] 赵辰吟, 姚文斌. 基于一种改进免疫算法的云计算任务调度策略研究[J]. 软件, 2015, 36(12): 149-153.

[14] 张栋梁, 谭永杰. 云计算中负载均衡优化模型及算法研究[J]. 软件, 2013, 34(8): 52-55.

[15] 郑伟伟, 邹华, 林荣恒. 云虚拟环境下资源分配的研究与实现[J]. 软件, 2012, 33(1): 46-48.

猜你喜欢
内存数据中心能耗
酒泉云计算大数据中心
120t转炉降低工序能耗生产实践
昆钢科技(2022年2期)2022-07-08 06:36:14
能耗双控下,涨价潮再度来袭!
当代水产(2021年10期)2022-01-12 06:20:28
探讨如何设计零能耗住宅
“春夏秋冬”的内存
当代陕西(2019年13期)2019-08-20 03:54:22
日本先进的“零能耗住宅”
华人时刊(2018年15期)2018-11-10 03:25:26
民航绿色云数据中心PUE控制
电子测试(2018年11期)2018-06-26 05:56:24
基于云计算的交通运输数据中心实现与应用
Overlay Network技术在云计算数据中心中的应用
河南科技(2014年11期)2014-02-27 14:16:49
基于内存的地理信息访问技术