服务器在线4月29日报道 集群节点数量在快速增长,但其使用效率却在低水平徘徊不前,以应用最普遍的X86服务器集群为例,普遍认为其利用率低于30%,IBM更是称Intel服务器平均利用率只有10%,从而造成大量电力资源的浪费。
集群服务器获得广泛应用的主要原因在于其较高的性价比,通过数量上的优势来弥补节点处理性能的不足。节点数量大幅增长的同时不可避免的带来电力消耗的快速增长,IDC(internationaldatacorporation)研究数据表明,在2007年中国用于服务器的电源和冷却的总开支达到了19 亿美元,仅在北京和广东两个地区,这部分的投入就达到了3.2和3.6亿美元,占到了全国的35.8%。据统计,中国2007年全年IT产品总耗电量在 300亿到500亿度,相当于三峡电站一年的总发电量。巨大的耗能引来了各方的关注。
集群节点数量在快速增长,但其使用效率却在低水平徘徊不前,以应用最普遍的X86服务器集群为例,普遍认为其利用率低于30%,IBM更是称Intel服务器平均利用率只有10%,从而造成大量电力资源的浪费。
现代机房的功耗分布
集群服务器一般安装在专用机房中,一般采用高架地板,标准机柜,UPS(UninterruptiblePowerSupply),精密空调等设备。
可以明显看出,服务器与冷却设备在机房总功耗中共占到了80%以上的份额,显而易见,冷却设备的功耗是和服务器运行时产生的热量密切相关的,如何更好的进行集群功耗管理就成为了关键。
集群功耗管理的要求
功耗管理属于集群基础设施管理的范畴,主要关心两个方面的情况,一方面是怎样把集群的实际负载与功耗联系起来;另一方面是怎样在不影响应用的前提下最小化集群的总功耗,最终目的是实现电力能源的量化与最优化调度。由于是从集群的角度分析功耗,所以不涉及单节点的绝对功率的大小,例如为节点更换更节能的 CPU就不在考虑之中。
基于上述思路,可以将集群功耗管理归纳为如下几点功能:
集群功耗的实时监控与分析
对集群功耗的监控是实现功耗管理的基础,可以通过两种手段来实现:通过在服务器电源模块上增加功率感应器(功率计)使用主板的带外管理模块(BMC)直接读取。该方式的优点是简单直接,缺点是精度受限,目前只能达到+-10%,而且必须将功率传感器布置在电源AC端,由于刀片服务器采用共享电源无法探测每个刀片的功率,所以不能支持刀片服务器。另一种手段是服务器生产厂家在服务器生产之后标定各种负载条件下的服务器功率,用户使用时打开节点上的监控软件,就能够估算出节点的功率,只要厂家标定的负载样本足够多就可以实现较高的精度,同时,由于采用软硬件结合的方式,无论是机架式还是刀片服务器均可支持。
在准确的集群实时功耗监控基础之上可以计算应用的功耗与能耗,通过对不同负载状况集群功耗的分析可以得到应用的有效功耗与无效功耗,如果使用了作业调度系统,更可以直接计算作业的能耗。集群峰值功耗的控制
主要是基于三方面的考量:第一,集群的UPS与冷却单元所能支撑IT设备最大功耗是决对不能超越的,因此用户往往需要配置较多的冗余设备,而其利用率很低,如果能够对集群功耗上限进行控制,可以相应的减少冗余设备数量,减少无效投资。第二,UPS与冷却单元还对机柜的功耗密度有相应要求,设计功耗密度太高会使成本大幅提升,设计密度过低又会造成空间利用率低下,因此需要选择一个合适的功耗密度。以前,功耗密度只能根据服务器的额定功率确定,而这个值几乎很难在实际应用中达到,据此进行设计就不可避免的造成空间的浪费以及供电与冷却设备的过度投资。准确地进行工作组级别,机柜级别和集群级别的功耗上限调整可以明显提升设备使用率。第三,不同种类的应用负载特点是不同的,例如高性能计算通常CPU利用率较高,对节点间通讯延迟敏感,而互联网应用往往更关心数据的快速读写,CPU利用率并不很高。即便是同一应用,其负载往往也会有大幅度的波动,下图左侧是某公司内部邮件服务器的负载情况,右侧是负载的自相关函数,可以看出负载有较明显的周期性,根据应用的负载特点进行功耗上限的调整会明显提升服务器的能效。
历史负载分析与功耗分配策略
服务器运行的应用一般不会频繁改变,可以将负载与功耗的实时数据保存下来形成历史数据,监控系统据此可以自动分析负载的特点与发展趋势并做出相应调整。现有的自动控制技术可以给出多种策略,其细节超出本文范围,不再一一赘述,但原则上既要保证功耗分配对负载波动的快速响应,又要避免过于频繁的调整造成电力资源的浪费。完善的功耗分配策略可以使管理员将精力集中在对负载特点的分析上,而不用为其具体数值以及调整时间等细节耗费大量精力。如果使用了作业调度系统,用户可以引入新的算法,根据集群的功耗分布对作业进行调度,提升系统的能效。
热量分布与冷却设备控制
从上文对机房功耗分布的分析中可以看出冷却系统的功耗仅次于IT设备,但事实上这部分功耗中的大部分被浪费掉了。图一是现有机房进行的三维温度分布模拟,从中可以看出,由于负载在机房中空间上与时间上是分布不均的,造成温度的分布也是不均匀的,有热点(图中红色部分)与冷点(图中蓝色部分),是典型的非稳态热力学系统!现有机房的散热设计一般是基于热力学稳态系统进行的,造成了大量的能源浪费,有研究表明,有效制冷量不足50%。因此,通过建立热力学散热模型,基于集群功耗的实时监控数据与功耗分配策略进行精确制冷是必然的发展方向。
集群功耗管理的发展趋势
现有数据中心的各种设备大多是单独进行管理的,例如盘阵,服务器,UPS,空调等,笔者认为其管理模式将向两个方向发展,一方面要根据外部环境变化和负载的波动进行统一任务调度并调节各种设备,实现更广泛意义上的最优化调度;另一方面,管理的粒度会更细,例如对每节点的任务进行调整,对每个CPU内核的主频进行单独调整,进行分区冷却等。
这两方面是相辅相成的,统一管理是精细管理的基础,精细管理是统一管理的实现手段。