在资源紧缺越来越严重的今天,进行集群功耗管理方面的研究并推出相关产品节约电力资源具有很高的社会与经济价值。
文/岳玉 郑光辉
集群服务器获得广泛应用的主要原因在于其较高的性价比,通过数量上的优势来弥补节点处理性能的不足。节点数量大幅增长的同时不可避免的带来电力消耗的快速增长,IDC(international data corporation)研究数据表明,在2007年中国用于服务器的电源和冷却的总开支达到了19亿美元,仅在北京和广东两个地区,这部分的投入就达到了3.2和3.6亿美元,占到了全国的35.8%。据统计,中国2007年全年IT产品总耗电量在300亿到500亿度,相当于三峡电站一年的总发电量。巨大的耗能引来了各方的关注。
集群节点数量在快速增长,但其使用效率却在低水平徘徊不前,以应用最普遍的X86服务器集群为例,普遍认为其利用率低于30%,IBM更是称Intel服务器平均利用率只有10%,从而造成大量电力资源的浪费。
现代机房的功耗分布
集群服务器一般安装在专用机房中,一般采用高架地板,标准机柜,UPS(Uninterruptible Power Supply),精密空调等设备。
可以明显看出,服务器与冷却设备在机房总功耗中共占到了80%以上的份额,显而易见,冷却设备的功耗是和服务器运行时产生的热量密切相关的,如何更好的进行集群功耗管理就成为了关键。
集群功耗管理的要求
功耗管理属于集群基础设施管理的范畴,主要关心两个方面的情况,一方面是怎样把集群的实际负载与功耗联系起来;另一方面是怎样在不影响应用的前提下最小化集群的总功耗,最终目的是实现电力能源的量化与最优化调度。由于是从集群的角度分析功耗,所以不涉及单节点的绝对功率的大小,例如为节点更换更节能的CPU就不在考虑之中。
基于上述思路,可以将集群功耗管理归纳为如下几点功能:
集群功耗的实时监控与分析
对集群功耗的监控是实现功耗管理的基础,可以通过两种手段来实现:通过在服务器电源模块上增加功率感应器(功率计)使用主板的带外管理模块(BMC)直接读取。该方式的优点是简单直接,缺点是精度受限,目前只能达到+-10%,而且必须将功率传感器布置在电源AC端,由于刀片服务器采用共享电源无法探测每个刀片的功率,所以不能支持刀片服务器。另一种手段是服务器生产厂家在服务器生产之后标定各种负载条件下的服务器功率,用户使用时打开节点上的监控软件,就能够估算出节点的功率,只要厂家标定的负载样本足够多就可以实现较高的精度,同时,由于采用软硬件结合的方式,无论是机架式还是刀片服务器均可支持。
在准确的集群实时功耗监控基础之上可以计算应用的功耗与能耗,通过对不同负载状况集群功耗的分析可以得到应用的有效功耗与无效功耗,如果使用了作业调度系统,更可以直接计算作业的能耗。
集群峰值功耗的控制