当发明超文本传输协议(HTTP)的时候,没有人能够预计具有现代浏览器功能的现代Web 2.0基础架构的出现。现代生活中,我们每天多次进行“网上冲浪“。我们通过Facebook,MySpace和Flickr等网络工具进行沟通,也不忘记使用常规的电子邮件。我们能安心地在网上购物,得益于对原始协议的安全扩展,该协议现在称为 HTTPS(“安全”部分已经被加入)。同时还有机对机(M2M)应用程序在后台运行,完成资料库更新、气象资料收集等任务。
所有这些系统都是基于服务器-客户端模式实现的。也就是说,有一个客户端(如浏览器)和一台提供内容或收集信息的服务器。开始时,会给服务器分配一个(或几个)IP地址,然后服务器软件会将内容提供给客户。创建新“网站”时,服务器软件将具备所分配的资源和专用存储空间。通常情况下,这种模式在负荷平稳(即波动不大)的情况下,是能够正常工作的。例如,如果我已知一台服务器每秒可提供1000万个网页(假设通信带宽可用),而对方也知道每个被托管的网站的最大“页面点击率”,那么他就可以计算出服务器上的负荷,以便维持为客户(托管客户和使用客户)提供的峰值性能。

Web 2.0的影响

当网站上的所有内容都是静态内容(即内容很少发生变化)时,运行就会相当良好。仅具有单词查询功能(没有视频和音乐等)的在线词典就是一个很好的例子。在这种情况下就很容易计算出负荷量。据统计,世界上不会每个人同时想查询“Stochastic(随机的)”一词的定义……您可能认为负荷会按一天内不同时段发生变化,但就全球范围而言,有人是一直在进行查询的。

Web 协议的工作方式是:打开与服务器的会话,接收内容,然后终止会话, 释放服务器中的资源为其他任务所用。现在所有“内容”都在浏览器中。因此,当您查找一个词时,其定义和任何图形就会发回给您,您可以按照您自己的速度进行阅读。服务器就会转到其他事情上。

但是,情况不再如此。当您下载音乐视频的时候情况会怎么样呢?服务器不再只是提供一个网页,然后继续前进。它现在在努力将40兆文件转移到您的机器上。在网页中加入嵌入式播放器,服务器就将实时把视频流发送给客户端。在这种情况下,负荷仍然是可以统计监测的,网站也是可以修改的。随着受欢迎程度或需求的增加,网站可被转移到专用的、仅处理单域的服务器上。

那是Web 1.0时出现的情况。今天Web 2.0所存在的问题是,我们所做的大都是在服务器端完成的。例如,Google Docs是一个位于服务器端的完整的文件编辑和归档系统。它将计算机的浏览器用作用户界面工具,却很少动用客户资源。现在,人们在开始使用网络时,更多的工作是由后台完成的。在服务器和客户端之间的互动不断增加,除非采取措施来保证足够的资源,否则这将会使服务器的负荷产生剧烈波动,并导致性能降低。

寻求解决办法

过去,为了防止网站崩溃的一种能效低下的做法是将统计的最大负荷资源加载到一个网域。大多数情况下,这些服务器的负载可能只能达到40-60%,但在高峰时段将达到100%,但该网站仍能继续有效地工作。人们很快认识到,大部分时间服务器并没有达到最大荷载。它们只是在部分时间工作,直至高峰负载来临——而这种高峰来临的时间并不总是已知的。例如,在任何特定的一天,一个新闻网站的业务流量都可能会维持在正常的水平。而当一个突发事件发生,如果每个人都上网查与之相关的照片或视频时,就可能会导致网站瘫痪。

最佳解决方案是将服务器“虚拟化”——即创建看起来像是专用服务器的软件,但是,如果需要的话,在处理过程中也能够动态转向更多的资源。当高负荷消失时,该软件能通过将更多网站合并到一台机器(现代服务器中的刀片)上来使服务器“瘦身”。其他未使用的刀片可以进入待机状态,从而大大减少中心的耗电量。采用这种新的方法,不仅可以降低服务器的电力消耗量,而且还降低了散热的HVAC成本,从而降低服务器机房的能源成本。

对服务器的冲击

这是迈向数据中心和服务器群“绿化”进程的一项重大举措。能源消耗降低了,但是往往软件同时也会影响到硬件(反之亦然)。切负荷对系统硬件和周围的基础设施有什么样的影响呢?

首先应观察刀片服务器的电源。一般情况下,刀片服务器中有两套冗余电源,将民用电源转为直流母线。母线沿背板的长度(所有刀片插入的位置)布设,而且每一个刀片都有自己的电源调节器,用于提供正确的电压和电流。在较大的系统中,直流母线可以沿机架的高度布设,为叠放在其他系统上方的多套刀片服务。

在设计电源的时候,需要有一个作为目标负荷的规范。这就告诉设计者在选择元件时将最高的能效转换置于何处。设计方程式提供了系统将最有效工作的元件值。这是一个固定点,所以升高或降低负荷(多数情况下都是降低负荷)都将改变效率曲线。如果目标负荷的峰值效率为92%,那么,将负荷降低至目标要求的25%就可能会导致效率下降到75%。

电源设计者突然面临一个新的挑战,即提供能在宽负载范围内工作的高效率的电源。现代开关电源使用大功率的FET晶体管来“开关”电源,采用脉冲宽度调制(还有其他方法)来实现。这些技术的输出均呈现出复杂的波形,其平均值为新的较低电压。由电感器和电容器制成的大功率滤波器能使输出波形更加平滑,同时提供纯净的直流电压。输出由控制器监控,同时,场效应管的切换被改变,以便在负载和输入发生变化时能够保持稳定的输出。

场效应管、电感器和电容器都应加以选择以满足负载规格,同时,一旦其在线路中被固定,它们的值就不能以动态的方式加以改变。因此,如果负荷下降到设计指标以下,能源就会因为这些元件的损耗而受到损失。一种解决方案是构建多相转换器。在大电流电源(如个人电脑中向处理器提供内核电压的主板中的电源)中,非常普遍的做法是设定3个或4个协同工作的电源——每个电源轮流向负载供电。

这种拓扑结构的优点在于当负载降低时,可以关闭某些相,而其余各相则被扩张以代替缺失的相。这就会提高电源的复杂性,其用于确保在相增加或减少的过渡期内,其输出一直不会发生变化。所有的电源转换器都在峰值效率附近工作或者被关闭。将这种方法应用到大型直流母线电源,使得刀片服务器能在宽负载范围内高效运行。但是,为了应对这些动态负载,电源也正变得越来越复杂。

 

对基础设施的影响

和电源的情况一样,承载信息的通讯基础设施也会受到影响。每一台刀片服务器均通过将一个或多个千兆以太网连接到一个交换机的方式来进行通信。服务器和交换机中的物理层设备都会消耗许多瓦的功率,而且可能会迅速累计起来。如果一台刀片服务器置于备用,物理层设备通常不会被关闭——仍然保持链接,但通话已经停止。在大多数情况下,这并不会显著降低物理层设备(PHY)所消耗的能量,因为它仍需要维持链接。即使服务器端的物理层设备(PHY)关机,交换机端的物理层设备(PHY)也必须继续开机运行以便监视链接活动——这些又会导致能源消耗。

目前正在采取多种方法来解决这个问题。当链接消失时可将其转至备用或有意置于低功耗状态的物理层设备(PHY)将减少能源消耗。电气和电子工程师协会(IEEE)有一个工作组,叫做802.3az任务组。其目标就是开发协议,该协议用于新物理层设备(PHY),在使用率较低时能够降低功耗及使链接保持激活状态。

另一种方法是简单地对半导体工艺本身进行限制。CMOS工艺功耗与频率成线性关系与电源电压成指数关系(见方程式1)。

方程式1 – CMOS的能耗


过去采用个人电脑处理器中的动态电压调节之类的技术来降低这些损失。如今,更现代的技术叫自适应电压调节或AVS, 由美国国家半导体公司率先推出10G base-T Teranetics TN2022等物理层设备就使用这种技术。基本上,AVS技术可连续监测设备内部过程的性能和进行自动调整,通过调整电源电压来实现。与固定电源电压相比,该技术可以节省20%至50%的能源。此外,它可以补偿运行过程中的温度和过程变化(老化)。这项技术与其它技术相结合就可以大大降低基础设施应用的能源消耗,并自动适应由于服务器接入或退出网络导致的负载变化。

结论

那么,还可能发生其他情况吗?大量自身处理能力很低的上网本(Netbook)正将更多的资源推回到服务器。不久以后,可能很少有软件或磁盘存储器保存在这些计算机内——大多数文件都将保存在“虚拟”中。用于产生和分享文档或演示的所有传统软件工具都将被放在服务器上。

此外,虚拟游戏正在兴起。大多数游戏计算机要求极高性能的计算来提供这些游戏中所描绘的逼真场景。这就可能会转至服务器端,仅将实时视频流发送到用户端电脑。这可能就会使低性能上网本和其他计算设备(包括手持式移动终端,如iPhone等)能够播放高性能的游戏。

人类具有移动性,移动终端的发展变化会将更多的资源需求返回到数据中心和基础设施。由于网络活动具有大范围波动的特性,虚拟化将继续实现能源节约,同时,硬件将需要寻找新的途径来适应不断变化的负载。

编辑:小宇