-
对于互联网服务与云计算不断增长的需求使数据中心内运行的服务器数量也由几百台迅速增至几万台,因此数据中心的电量开销巨大。例如,2011年,美国数据中心的能耗就达到了每年1 100万kW/h[1],同时其低负载的数据中心能耗是最大能耗的65%左右[2]。这是因为所有的数据中心都是根据高峰时刻的负载设计的,即一个数据中心的平均负载水平只有最高负载的60%[3]。
有很多关于数据中心节能的研究[4-8],寻找有效的方法在低工作负载时期关闭暂时无用的服务器非常重要[9-10]。当数据中心的负载增加时,这些服务器可再次开启。然而,这一项操作可能会使一些服务延迟,且对等待时间、业务阻塞率、系统平均业务数量等性能参数产生影响[9]。当服务器减少时,一些业务可能会遇到不可忽视的延迟,甚至可能堵塞。因此,在限制能耗的同时保持良好的性能有着重要的意义。
许多关于数据中心的研究都建立在所有服务器均有相同处理能力的同构环境假设上[9-10]。而实际上,数据中心会根据容量的增加以及规格的变化不断升级服务器[11]。随着时间的推移,最终数据中心将由一系列不同处理能力的异构服务器组成。在异构环境里分配业务时,不同的分配策略会导致功率效率的明显不同。譬如,一些业务在某个特定服务节点上要比在其他节点上运营得要快,这就意味着更少的处理时间以及更低的能耗。因此,在异构环境下选择需要被关闭的服务器又是一大挑战。
基于以上两点建立数据中心模型,其中排队系统为任务单独到达、任务缓存容量有限的M/M/n+ m1+m2数学模型。系统中所有的服务器根据其处理能力被分为3组。假设任意发送到数据中心的业务都在合适的服务器节点中接受服务,一旦服务结束,业务离开数据中心。基于实时的负载,根据在队列长度上设置的阈值来开启备用的服务器,根据系统中的总业务数量来关闭备用服务器,从而达到动态调整服务器数量以节约能源的目的。此外,采用优化策略来寻找最佳阈值。
HTML
-
实验环境为C++,电脑配置为3.0 GHz Intel CPU、4 GB内存。本文所有仿真结果中服务器的能耗按照文献[13]给出的Intel Xeon E5320进行计算。表 1给出了本文所有仿真结果的参数设置。
N α/s Pbusy1/W Pidle1/ W Pbusy2/W Pidle2/ W Pbusy3/W Pidle3/ W 150 250 210 120 240 150 270 180 表中,N表示服务器总数,α表示平均等待时间,$P_{{\rm{busy}}}^k$表示第k组服务器的工作功率,$P_{{\rm{idle}}}^k$表示第k组服务器的空载功率。
-
图 4反应了系统消耗功率和等待时间随时间变化的情况,其中总等待时间被设置为90 s。同时,该图从一定程度上反应了本文提出的服务器调度方案的原理。仔细观察该图可以发现,在系统刚启动时,平均等待时间随着业务数目的增大而加长。这是因为更多的业务进入队列等待执行,因此平均等待时间加长。然而,当业务数目增加到一定程度,即队列中的业务数目超过阈值θ1时,平均等待时间开始急剧缩短。这是因为第二组服务器的开启,队列中的业务被第二组服务器执行。同理,当总业务数超过N+θ1+θ2时,第三组服务器启动。同时,系统能耗随着第一组服务器和第二组服务的开启而增大。当第三组服务器开启后,系统能耗基本保持稳定,但是当第三组服务器关闭后,系统能耗降低。这是因为随着工作服务器数目的增加,系统能耗增加。为了能够清楚的看到系统能耗情况,图中的实线框给出了稳定的系统能耗,实线框的左边框对应的时刻是第三组服务器关闭的时刻。
图 5为不同参数阀值下的系统能耗值。从图中不同阀值的能耗曲线可得,虚线所代表的系统功率值大多数情况下稳定在150 W左右。而实线大多数情况下稳定在250 W左右。而虚线时参数θ1和θ2最大,实线时参数最小。因此可以推断出如下结论:1)参数值θ1和θ2设置较大时,系统功率变小。因为较大的参数值会减少开启的服务器个数;2)当阈值θ1和θ2较高时,功率消耗的抖动也更加频繁。由此可得当阈值较低的时候,功率的波动会更加频繁。
为了探讨参数λ和μ与系统功率的关系。图 6分析了不同λ和μ情况下的系统功率情况。除了参数λ和μ不同以外,其他参数都是固定不变的。可以看出系统消耗总功率在同一组参数的情况下是随着组数的增长而下降的。当在增大参数μ时,系统的平均服务时间会加长。这将导致系统的等待队列变长。因此会唤醒第二组和第三组服务器加入工作中,故第二组和第三组的功率会增加。当增大参数λ时,系统的业务到达率会变大,这将导致队长减小。因此第二组和第三组的服务器被打开的概率减小,故其能耗降低。
本文除了测试不同分组的功率消耗,还与文献[15]提出的策略对比了总功耗,如图 7所示。尽管在两种策略下,系统的功率在100个周期内都在不停的变化,但本文策略的抖动频率相比于文献[15]所提策略较低,即本文策略的系统稳定性更好,而本文策略在起初位置的突起,是由系统中任务到达的随机性引起的。
图 8再一次测试了两种策略的系统功率,可看出本文策略不再有激凸部分,而文献[15]提出的策略却因为随机的任务到达环境出现了突起。但两次仿真中,本文策略的抖动频率都比文献[15]的策略低。
此外,从两次仿真结果可以看出,两种策略的平均功率相差不大,但是本文策略可以使系统处于更加稳定的状态,系统的平均能耗和服务器的状态都会尽量维持稳定。在传统的大型数据中心内,为了满足业务峰值时期的需要,所有服务器都处于开启状态,因此即使是全部空闲的低负载时期,系统的最低功率依然有450 W,而本文策略的平均功耗大约是350 W。由此可见,本文策略节约了20%以上的能源,达到了本文的节能目标。