揭秘云计算 | 5、关于云计算效率的讨论
一、 公有云效率更高?
解:公有云具有更高的效率。首先我们需要知道效率到底指的是什么。这是个亟须澄清的概念。在这里效率是指云数据中心(我们将在后文中介绍其定义)中的IT设备资源利用率,其中最具有代表性的指标就是CPU的综合利用率。当然,如果把诸如内存、网络、存储等因素都考虑进来会更全面,不过为了便于讨论,我们在本小节着重讨论CPU的资源利用率。
在数据中心中,我们习惯用电能利用效率(Power Usage Effectiveness,PUE)表示电力资源的利用率,它的计算式为PUE值=(C+P+I)/I,其中,C表示制冷、取暖等为保持机房环境温度而耗费的电量,P表示机房中非IT设备供电所耗费的电量,I表示IT设备耗电量。显然PUE值不可能小于或等于1,事实上全球范围内大多数云机房的PUE平均值大于2,而先进机房的PUE值几乎可以达到1.1,甚至是1.06,说明先进机房有着相当惊人的高电能利用率。我国从2013年开始要求新建数据中心的PUE值小于1.5,原有数据中心改造后的PUE值小于2,见表1-4。图1-22中列出的是2020年艾瑞咨询研究院公布的我国数据中心能耗分配情况,在PUE值等于2.0的情况下,IT设备能耗占比最大,制冷系统能耗次之,照明及其他设备能耗是最少的。此外,即使使用的技术相同,数据中心在不同地区的指标也不尽相同。例如,年平均气温较低的区域用于制冷系统的能耗会大幅降低,PUE值就较低。当然,各地的PUE要求也不同,一线城市和东部地区更为严格,且不同地区的电价也不同。
公有云的CPU资源利用率会高于私有云的吗?让我们用数据来说话,图1-23展示了数据中心能耗分配情况,图1-24列出了目前市场上主流的公有云/私有云服务器主机CPU的平均利用率。
图1-24中的数据清晰地说明了公有云服务器主机CPU的平均利用率远低于私有云,甚至亚马逊公司的AWS和微软公司的Azure都只有10%左右,相当于每10台服务器中只有一台在满负荷运转而另外9台在空转。同比私有云环境下的谷歌公司,其服务器主机CPU的平均利用率可以达到30%,曾是易安信(EMC)公司旗下的Virtustream甚至能达到惊人的70%。
公有云IT资源利用率较低的成因是公有云业务场景的多样化与负载高度的不可预知性。当CPU资源在被分配给某用户后,如果没有被该用户充分利用,就会出现CPU空转,进而造成事实上的浪费的情况。同样的问题也存在于其他资源分配上,例如网络带宽、磁盘空间等,这是基于时间共享“虚拟化”的必然结果。类似的基于时间共享技术的应用还有很多,比如蜂窝网络。时间共享的设计原则是“公平分配”,以确保每个被服务对象在单位时间内可获取同样多的资源,但平均主义也会造成在均分资源后因资源被闲置、空转而形成的事实浪费。
如何提高云数据中心的资源利用率呢?从数据中心能耗分布的角度而言,云主机服务器组件(尤其是CPU)每消耗1W,不间断电源(Uninterruptible PowerSystem,UPS)、空调制冷,以及配电箱、变压器等其他设备就会连带消耗1.84W。反之,如果能让CPU少消耗1W,那么这会为整个数据中心节能2.84W。图1-25是艾默生电气公司(Emerson)网络能源的统计数据。我们称这种瀑布流式的“级联”效应为叶栅效应、级联效应。
现在我们知道提高效率的核心是提高CPU的利用率或降低单位时间内整体CPU的能耗,这两个方向的最终目标是一致的。绝大多数的数据中心在提高资源利用率、降低能耗上有以下两种不同的路径:
(1)优化供给侧;
(2)优化需求侧。
优化供给侧并非本书关注的重点,不过为了全面起见,我们在此略作介绍。优化供给侧可以从以下几个方面来实施。
(1)在数据中心供电环节与发电环节上进行优化。
①围绕储能系统的效率进行优化。
②围绕数据中心发电环节进行优化。
(2)在数据中心机房温度控制环节上进行优化
①优化空调制冷系统。
②优化空气流动系统。在数据中心中,市电先通过交流电到直流电的转换对储能系统进行充电,储能系统中常见的设备是UPS(或飞轮)。
图1-26中列出了三大类数据中心储能系统,常见的是电化学储能,即我们常说的UPS。机械储能系统也经常被用到,电磁储能较少见,但未来如果相关技术有所突破,相信它在储能效率上也会得到相应提高。之后,UPS再把直流电转换为交流电为电源分配单元(Power DistributionUnit,PDU)供电。在这个二元连续(交流电—直流电—交流电)的转换过程中,电力存在损耗,以及生成大量废热需要制冷系统来降温。结合图1-23可知,供电与空调制冷的能耗占整个数据中心能耗的10%~47%,这里的范围表示从只供电但不制冷到既供电又制冷的能耗范围。
如何提高UPS效率,甚至是找到UPS替代方案是业界主要的努力方向。谷歌公司的经验是采用分布式UPS及电池系统直接对服务器机柜进行交流供电,在此过程中仅需要一次交流电到直流电的转换,由此可达到99.9%的UPS效率,远高于业界的平均效率(80%~90%)。其他常见的做法还有提高UPS到PDU电压、更新/升级UPS或直接对服务器进行高压直流输电等。
UPS替代方式越来越受到业界的重视。例如燃料电池技术和智能电源虚拟化技术,它们的一个共性是在整个供电过程中不再需要UPS、PDU和变压器单元,开关设备也变得简单。图1-27展示了使用软件定义电源技术前后数据中心配电系统的变化。
数据中心有严格的温度与湿度控制机制,保证IT设备在最优环境下发挥性能。新建的数据中心及改造的数据中心通常都会对冷热气流进行管理,例如服务器机柜冷热通道交替排列、规范布线。数据中心冷热气流管理如图1-28所示,服务器机柜冷热通道交替排列如图1-29所示,规范布线前后对比如图1-30所示。
以上我们简要介绍了云数据中心供给侧的一些优化方式。下面我们将主要关注云数据中心需求侧的优化手段。
二、 云计算优化要论
云数据中心需求侧优化的核心是提高IT设备的利用率。提高过程通常分为以下3个步骤。
步骤1:IT资源虚拟化。
步骤2:优化IT资源效率。
步骤3:数据中心云平台化。
(1)IT资源虚拟化
云数据中心的基本特点是多租户,对多租户场景最好的支持是资源虚拟化。业界最早是从服务器虚拟化开始的,紧随其后的是网络虚拟化,再之后是存储虚拟化,相关的详细讨论可参考《软件定义数据中心:技术与实践》这本书。值得指出的是虚拟化是个宏观的概念,它包括硬件虚拟化,也包括软件虚拟化,但最终是通过软件接口与用户层应用对接,这也是为什么我们称之为软件定义数据中心(Software Defined Data Center,SDDC)。此前我们一直把服务器、网络与存储称为软件定义数据中心的三大支柱,现在看来应该是四大支柱——还有电源虚拟化和电力优化,如图1-31所示。从虚拟化进程完善程度来看,四大支柱是按照计算→网络→存储→电源电力降序排列,顺序越往后挑战越大,但是市场的机遇也越大,这正如阿尔伯特·爱因斯坦(Albert Einstein)所说:困难之中蕴藏着机遇。
(2)优化IT资源效率
围绕优化数据中心IT资源效率,特别是提高CPU资源利用率(或降低CPU能耗),我们可以将节能技术分为4类,如图1-32所示。
①动态电压和频率调控技术
动态电压和频率调控技术是常见的能耗管理技术,特别是在对多核处理器、动态随机存储器(Dynamic Random Access Memory,DRAM)管理上。基于CMOS电路的能耗方程如下:
总能耗=静态能耗+动态能耗
我们可以通过调节时钟频率来调节电压,并由此降低能耗。但是,频率降低也意味着降低了处理器元器件的性能,因此并非一味降低处理器频率、降低电压就万事大吉了,还要在遵循服务质量/服务级别协议(QoS/SLA)要求的前提下进行相关的智能调控。业界常见的实践是在系统各部件负载较低的情况下降低供电频率、电压,并监控系统负载,根据需求动态调节,以保障满足服务级别协议。
②负载调度技术
负载调度技术在所有大型云数据中心的效率博弈中可能是贡献最大的。它的基本原理非常简单,但实现起来一点都不简单——最差的情况当然是把所有IT设备都打开,但是每台设备处于空转或低负载运转的状态;最优的情况就是让每台运转中的设备达到满负荷、全速运转,而其他设备都处于下线、不供电状态。参考图1-24我们发现,曾是易安信(EMC)公司云产品的Virtustream,以70%的资源利用率几乎实现了最优状态,而多数公有云显然还处于大量浪费IT资源的状态(利用率仅达10%,甚至更低)。需要指出的是,公有云的负载多样性及不可预见性在一定程度上使得负载调度变得更为复杂;反之,私有云中负载模式的可预测度很高,更容易实现调度优化。负载调度与迁移的实现有很多方式,虚拟机迁移、容器迁移都是近些年业界使用越来越多的方式。不过业界存在一种普遍的观点,认为容器的迁移会全面取代虚拟机迁移。我们以为这么说为时尚早,容器技术在支持有状态服务(如数据库类服务)、安全性、隔离性及生态系统建设上与虚拟机还相差甚远,不过对于无状态服务(如Web类服务),容器架构的低时延和高速性优势就很明显。在负载调度中,我们认为容器、虚拟机,甚至是裸机形式的调度需求会长期并存。
③服务器集中、能耗状态转换技术
服务器集中、能耗状态转换技术通常会与前两项技术共用,帮助提高资源利用率或降低能耗。一种典型的做法是在数据中心使用异构的硬件平台,也就是说在低负载情况下使用低功耗、低性能系统,当负载增长后再通过任务调度把负载移向高性能系统。这么做的好处很显然,但是如果发生频繁的负载、任务迁移,那么迁移成本也是需要考量的因素。另一种做法是通过智能硬件监控系统负载,只保留部分IT组件在线而让其他组件进入休眠状态,比如有些操作只需要内存,那么CPU、硬盘、网络设备便可以休眠,由此达到节省能耗的目的。
④热感知技术
在图1-25中我们展示过服务器CPU能耗的级联效应,当CPU运转时会产生热能,而机房中的主要热源来自运转的IT设备。为了保证机房的温度,空调等制冷系统又要耗费更多的电力。如何智能分配负载来保证整体能耗降低是热感知技术的核心理念。一种做法是在刀片机柜中通过把新增负载加载到现有活跃刀片机,而非新启动一个刀片机柜(刀片机组会共享电源与风扇,启动新的刀片机组能耗需求会相对更高)来实现低的热散逸;另一种做法是针对机房中热点分布与空调制冷系统和温度传感器的相对位置来定向调节在不同位置的服务器的负载,以达到节能的目的。
要指出的是,IT设备的效率指标不能单纯地以利用率来衡量,也就是说效率与利用率(温度)之间并非是单纯的线性关系。以CPU为例,当CPU负载在95%以上之后,持续升温到一定程度反而会降低其性能,直到超载崩溃,因此,一味追求高利用率并非问题的解决之道。
(3)数据中心云平台化
数据中心云平台化是资源虚拟化后,实现资源管理、调度高度协同的一个必然的发展方向。在云的多重形态一节中,我们已经介绍了XaaS平台,在下一篇内容里,老夫会介绍业界建设云平台的一些最佳实践。(同时呢,这一篇中,老夫介绍了一些业界提高IT设备效率的做法,希望能起到抛砖引玉的效果。有兴趣深究的读者可以继续查询、阅读相关的专业论文与图书。)
· END ·
(文/ Ricky)