2.云计算能耗的模型建立
云计算系统中的能耗主要来源于两个方面,一个是服务器层次的能耗,另一个是数据中心层次的能耗。服务器能耗也称为部件级能耗,主要包括CPU、内存、磁盘及其他部件(如主板、显卡等)的能耗,主要取决于利用率及负载情况;数据中心能耗指系统层次能耗,主要来源于配套的冷却设施能耗,统计数据表明Google云服务中心的能耗有一半是花在冷却设备上[10]。本文主要考虑在满足用户服务级目标的约束下,寻找最优的虚拟机部署方案使服务器能耗最低,也即主要考虑部件级能耗。
2.1系统能耗分析
在服务器能耗级别上,为了得到CPU能耗情况,Russ Joseph和Margaret Martonosi 用硬件计数器建立了高准确读的线性模型,分析出CPU 占服务器能耗的40%-60%。Contretras等人基于缓存指令的未命中数和数据依赖延迟周期数对内存的能耗进行建模,模型也具有很高的准确度。但是总体来看,内存所消耗的能量和CPU不是一个等量级的,而且内存使用率往往和CPU有着密切关联。Kim等人利用硬盘读写头的时间和旋转操作的速度作为建模参数,能准确估测了硬盘的能耗和温度。运用软件对服务器能耗测试,测试结果显示,CPU 占据峰值能耗的一半,内存所占据的能耗非常小(满负荷才占能耗的不到3个百分点),即使内存使用浮动很大的情况,对能耗的影响不大,而且内存的使用情况也往往和CPU相关,所以一般统计CPU的使用情况就够了。硬盘的能耗不大,但是未必可以完全忽略。
在正常的使用情况下,CPU不可能满负荷,这时硬盘的能耗和CPU相比,并不是一个可以忽略的数据,尤其是在进行数据高速读写、磁头高速转动的时候。其他部件,比如主板、显卡、显示器等部件的能耗值,是文持在一个较为稳定的小区间范围内。这些部件的能耗应该是几乎不会随着计算机负载的变化而大幅变化的,是计算机在闲置状态下能耗的重要组成部分。因此可以得出,服务器级别能耗主要有空闲能耗及执行能耗两部分组成,即为:
(1)
其中, ,式(1)中, 表示服务器的空闲能耗,是一个较为稳定的值,一般占到峰值能耗的50—60%; 表示服务器的执行能耗,主要取决于服务器利用率以及CPU的电压/频率等参数。
2.2研究场景描述
本文研究的数据中心应用场景描述如下:
(1)云环境下的物理服务器PM是异构的,每个物理服务器可以至少部署一个虚拟机VM;
(2)由于云用户请求的自主性、地域的分布性,导致不同用户提交的任务之间通常没有优先约束关系,即任务是独立的;
(3)不同任务有不同QoS(如时间等)需求,根据其需完成的工作量在满足QoS约束下分配相应的配置虚拟机VM,VM的生命周期与任务同步;
(4)设计虚拟机部署算法将不同虚拟机VM部署到物理服务器PM上,使云计算系统的能耗最少。
2.3数学模型建立
将虚拟机部署问题抽象为一个装箱问题,物理机PM代表箱子,虚拟机VM代表物品。每个箱子有一组指定的静态资源能力向量(如CPU、内存、存储和网络带宽),每个物品有相应的资源需求向量。
装箱问题的箱子集合为 ,任一物理服务器 的能力可有一个 文向量 表示,分量 表示 在第 文上的最大能力(如CPU、内存、存储和网络带宽)。物品集合为 ,任一虚拟机 的资源需求也可有一个 文向量 表示,分量 表示 在第 文上的资源需求(如CPU、内存、存储和网络带宽)。对于虚拟机 在第 文上的资源需求量 要不大于物理机 在第 文上的提供的最大资源量 ,即 。
虚拟机的部署问题抽象为装箱问题,即需找一种最优的装箱算法将N个不同的物品 全部部署到M个箱子 上,使占用的箱子耗费的能力最低。 云计算环境下能耗优化模型及算法设计(2):http://www.751com.cn/jisuanji/lunwen_4641.html