从基础架构层面来看,一个有效率的云计算环境,必然也要一个有效率的服务器。而服务器的效率目前主要体现在两方面,一方面是服务器自身的工作效率,也就是利用率和执行效率。另一方面是服务器的能效,也就是能耗情况。这是大家衡量服务器效率的两个重要指标,而围绕这两个方面我们可以做很多有意思的讨论。
服务器利用率是关键
提升服务器的利用率,一般来说是工作效率的主要体现。原因很简单:如果一台服务器,性能再好,其利用率低下,那么这台服务器的工作效率也就很低。从成本上看,我们也希望服务器工作在满负荷状态,而不是总在空闲状态。
那么如何提升服务器的利用率呢?我们需要先分析一下服务器利用率低的形成原因。首先是没有那么多的工作负载——这就牵扯到了有效投资和对服务器的了解。接着,要是工作负载过高呢,也会造成计算上的I/O拥堵,形成低利用率。以上两个问题其实是个任务调度和负载均衡的问题。而另一方面,利用率还和服务器的配置瓶颈有关。
在早先的一些机器里,虽然服务器计算性能很强大,核心数也很多。但是利用率总上不去,原因在于内存过小,形成了系统瓶颈——如今在英特尔至强E5、AMD推土机架构以及Power7为代表的小型机面前,内存容量已经不是问题。而新的瓶颈则更加层出不穷——主频敏感的应用并不适合在多核环境中,而是需要类似Power7这样高主频的服务器来提升利用率。反过来,一些对线程敏感的应用,则需要AMD推土机架构这样的多核心处理。在HPC等层面,英特尔CPU架构有更好的表现。
可以看出,了解自身的应用类型并且合理的配置服务器是解决系统瓶颈,提高服务器利用率的重要影响因素。
那么负载均衡方面呢?先说说传统的做法,传统上负载均衡是通过对服务器的实时监测,用人工或者负载均衡算法平摊工作负载,这样做的好处是实现较为简单,缺点是费时费力,总是要调整。也有厂商推出了自学习和有众多策略的负载均衡软件,甚至有硬件产品来完成作业调度。但这毕竟是一种治标不治本的方法。
于是虚拟化这种大一统的手段就成了大家普遍推广应用的手段,并且上升成为云计算的基石。原理很简单,就是池化资源——用虚拟化的手法将服务器集群的计算能力、存储能力、网络带宽虚拟成一个个资源池,在其中动态的划拨计算资源,这样就没有了单纯服务器的区隔,也就绕过了负载均衡的难题。
然而让我们把话题重新聚焦的服务器层面——提升利用率和虚拟化的直接关联在哪里?就在于原先一些空余的计算资源可以虚拟出来分配给其他的应用任务,并且这是和目前已有的应用彼此区隔的。
这句话很拗口,你可以想成是把你自己劈成两半,一个干重体力活,剩下的那一点力气干点轻松的活,总的目标是把你的力气占用满——这就是提高利用率。
综上所述,我们得出两个结论:首先我们需要根据应用类型选择合适的服务器,这样就能最大化的提升利用率;接着在这基础上如果采用了虚拟化解决方案,则能更大限度的榨取服务器资源,更大规模的提升利用率。也为云计算打好了基础。
能效有多方面考量
如果说利用率高的服务器效率很高,那么能耗就是另一个因素。现在的用户都非常客观,对于服务器的考量不止是性能、利用率。除了一次采购成本以外,能效也是重点考察方向,因此IT经费的很大支出在后来就会是维护和电费等。
那么什么样的服务器能效高呢?你必须知道,服务器中耗电量最大的是处理器,因此选择新架构,新工艺制程的CPU平台,就几乎选择了最具能效的服务器。这是一个简单的原理:新工艺使得CPU提升了性能,并且节约了功耗,而一些新的CPU特性,如英特尔的PowerGate,Turbo boost睿频等等技术则更好的在功耗以及CPU性能方面做了平衡。
除此以外,很多服务器在设计中都考虑了能效。例如戴尔最新的12g系列服务器,惠普的Gen8系列产品都采用了80plus白金级别标准的电源,其电源转化效率达到了90%以上,相比过去节约了很多电力损失。而低电压内存和智能控制的风扇则进一步节约了服务器的耗电。
在管理上也是如此,戴尔在12g服务器中采用了全新的iDRAC 7管理套件,可以非常直观的监测和观察服务器能耗,并且结合英特尔Nodemanager管理技术做服务器的功耗控制。惠普则在Gen8系列服务器中采用了全新的lifecycle生命周期管理工具,甚至能通过ipad对服务器进行功耗的监测和控制。
所以,让云计算更具效率的服务器,实际上已经在很多方面和云计算所倡导的理念相一致。例如节能,高利用率,细腻的管控,动态的任务负载分配等等。而选择高效的服务器,则可以反过来助推云计算环境更加的高效,真正意义上相辅相成。