机房360首页
当前位置:首页 » 数据中心 » 数据中心硬件构建模块

数据中心硬件构建模块

来源:机房360 作者:GOCN编辑 更新时间:2013/1/26 17:05:24

摘要:数据中心的结构是由构建模块的选择所决定的。这一过程与选择实现微处理器的逻辑模块,或在构建服务器平台时选取恰当的芯片组和组件类似。在构建时,主要的构建单元是服务器硬件、网络设备及存储分级组件。本节重点讨论服务器硬件的选择,以及做出这些选择的动机和目的。

  根据前面的内容可以得出结论:数据中心的结构是由构建模块的选择所决定的。这一过程与选择实现微处理器的逻辑模块,或在构建服务器平台时选取恰当的芯片组和组件类似。在构建时,主要的构建单元是服务器硬件、网络设备及存储分级组件。本节重点讨论服务器硬件的选择,以及做出这些选择的动机和目的。

  现在一般偏向于选择低端服务器群作为构建单元【4】。这样做是出于多方面考虑的,其中最主要的原因是,较以往应用于高性能和技术计算领域的高端共享内存系统,低端硬件具有明显的性价比优势。低端服务器平台可同庞大的个人计算市场共享很多关键性组件,可以更多地受益干规模经济。

  考虑到价格波动因素,而且硬件的性能又受制于测试标准的局限性,所以通常很难对硬件的性价比做出有意义的比较。TPC-C评测[5]条目的数据几乎是目前能得到的最全面的一个度量标准,同时包括了硬件的成本及应用程序级的性能。因此,我们在2007年年末比较了TPC-C下性能最好的系统HP Integrity Superdome-Itanium2[16]和性价比最高的HPProLiantML350G5[17]。这两个测试进行的时间没有超过一个月,TPC-C给出两个平台的花费明细表,以便可以做出合理的性价比分析。

  两类服务器的基本配置参见表 2·1。根据官方评价标准,ProLiant性价比比Superdome。高四倍,根据这个差距已经可以做出决定。在官方测试标准下,TPC-C的基本测试程序的缩放规则对于ProLiant来说是不公平的,因为官方标准要求配置一个相当大的存储子系统,存储子系统的硬件开销在ProLiant中约占到3/4,而在Superdome中只占40%结果显示,如果不计存储开支,ProLiant的性价比优势增加了3~12倍。基本测试程序规则允许典型的硬件价格折扣应用于总的开销来计算性价比,这样又一次有利于Superdome,因为Superdome系统造价非常昂贵(约1200万美元,而ProLiant为75000美元)。如果不考虑系统折扣,ProLiant服务器硬件性价比比Superdom。高出约20倍。

  1.并行应用的性能

  上面的分析对高端服务器是不公平的,因为这种分析忽略了高端服务器很高的互通信性能。大型的对称多处理器SMP节点间传输时延约为100ns,而部署在服务器集群上基于局域网的网络通信延时常常大于100us。很显然,花通信密集型的工作负载务件下,128核SMP的处理器肯定优于以太网中32个四核的低端服务器集群。但是在WSC中,即使对于最高端的SMP处理器,其工作负载也很可能难以处理。因此要解抉的问题就是:不管使用什么级别的服务器构建集群,当处理器内核达到数以干计时,该集群的性能如何?可以借助以下这个简单模型来粗略地理解这个比较。

  假设特定的并行任务的执行时间,可以粗略地使用局部的计算时间外加访问全局数据结构的延迟来估算。如果是单一大型共享内存系统,全局数据结构访问时间可以粗略记为DRAM速度(约为lOOns)。如果是多个这种节点,一些全局性访问会慢很多,通常在LAN(约为100s)的数量级。进一步假设全周访问在各节点间均匀分配,那么与本地节点匹配的全局访问比例与系统中节点的数量成反比。这里一个节点是指一个内存共享域,如一个Integrity系统或者ProLiant服务器。如果固定的局部计算时间在lms数最级(对于高吞吐率的网络服务来说是一个合理的值),那么榷序执行时间的方程如下:

  在少最通信的情况下,使用多个节点的集群有着相对较小的性能衰减。对于申等量级和大量通信的情况,这种衰减会变得十分严重,但是这种衰减最明显的时段是从一个节点增加到到第二个节点时,集群规模进一岁增大时附加的性能衰碱却明显地减少了。按照这个模型,一个128个SMP处理器的性能约是32个4核SMP处理器组成的集群的10倍。

  根据定义,系统是由数干个处理器内核组成的。因此,可以利用这个模型来比较Superdome级别的服务器组成的集群与ProLiant级别的服务器组成的集群的性能。假设两个系统中的每个内核的性能是相同的,而服务器之间由一个以太网级别的网络(Ethernet-class fabric)互联。尽管这个模型极为简化 (例如,没有考虑竞争效应),但它足以反映需要研究的效应。

  将这一模型应用到规模在512一4192个内核之间的集群申,如图2.6所示。同时,该图展示了使用Superdome式服务器 (128个内核)的集群相于使用Proliant式服务器 (4核S仙吧服务器)集群的性能优势。在集群规模为512个内核时,对4个Supedome式系统集群的性能和128个Proliant系统集群的性能进行了比较,基于高端服务器的性能优势会随着集群规模的增长而碱小。如果应用程序需要超过2000个内核,则由512个低端服务器组成的集群的性能比16台高端服务器成的集群的性能差了5%左右,这还是在高通信量的情况下。由于性能差距很小,高端服务器的超高价格 (高出4一20倍)使其丧失了吸引力。

  (4)利用ISN提供的面向对象的接口,根据文件块在对象申的偏移量,将对象中相关的内容读到缓冲区。

这个操作严重依赖系统的吞吐率,需要进行进一步优化。为了减少系统的负担,某些对元数据或者文件属性的操作,如关键字搜索、获取属性等,可以直接通过访问MDS完成,而无须访问那些存储在ISN中的实际文件内容。

  最更要的原因是,尽管很多网络服务可以受益于看似不受限的请求和数据并行性,但这些系统仍然会受Amdah定律的影响。随着并行线程数的增加,串行化和通信开销会变得越发难以减少。举一个极端的例子,用户向一个极低速的单线程硬件发出请求的运行过程申,串行化的工作量几乎决定总的运行时间。处理一个并行请求的线程数越多,这些并行任务响应速度变化越大,这是因为负载均衡变得更加困难,而且不可预测的性能干扰也变得不可忽略。由于在通常情况下,一个请求结束之前所有并行任务都必须结束,所以总的响应时间变成了所有子任务响应时间的最大值,而且大量的子任务会将任务响应时间拉得很长,这样就影响了整个服务的响应延迟。结果,尽管硬件的成本减少了,软件的开发成本却增加了,这是因为更多的应用程序必须专门进行并行化处理或进一步优化。例如,一个Web服务目前的延迟时间是每个用户请求ls,其中一半足由CPU时间引发的。如果使一个低端服务器群,每个单线程性能慢了3倍,服务响应时间增加为2s,而开发人员则需要花很多努力来优化代码才能使之回到1s延迟的级别。

  网络请求也随着更小系统数量的增加而增加,这增加了网络延迟和成本 (原本已经很贸的交换设施,现在需要更多的端口)"虽然可以通过将少量的低速服务器同部互联起来共享相同的网络连接来缓解这种效应,但是互联的成本又会抵消部分由低价cpu带来的价格优势。

  小型的服务器也可能会导致较低的资源利用率。可以将"分配一个应用程序集到一个服务器池中"的任务看做是一个0/1背包问题 (每一个服务器是一个包),然后尽可能将应用程序与每一个包对应起来。显然,当包非常小时,这个任务会变得很困难,因为很多应用程序不会完全占用一个服务器,但却占用了大部分的cpu和RAM,而使剩下的资源不足以再运行别的应用。

  最后,当计算或者数据被分割成较小的块时,即使是密集并行算法也会变得低效。例如,当并行计算的停止信号建立在全周信息上时,就会出现这种情况。为了避免高耗费的全局通信和全局锁争用,本地进程可以只基于局部进度信息进行推测。但这样的推测自然比较保守。相对于能够探知全局谜度的情况,本地子进程运行需要更长的时间。而当这些计算分成更小的块时,开销还会增大。

  一般说来,低端的服务器构建单元要比高端的服务器构建单元更具性价比优势才能具有吸引力。目前,很多大型服务的最佳选择似乎都是低端的服务器级机器 (在某种程度上和高端的个人计算机相重叠)。

  3.平衡的设计

  计算机系统构架师都受过专门的训练,他们能从各种不同的构件单元中找出具有合适性能和容量的组合来构建系统。只有若眼于整个系统时,才能比较明显地看出到底娜些组件才是合适的。均衡的问题也应该在这个级别上进行考虑。描述不同工作负载的特点是非常重要的,这样才能考虑负载在该系统上运行时需要的各种资源,这里需要注意以下三点:

  . 优秀的程序设计师要能够重构他们的算法,以便适合这种选择。这里可以通过软,硬件协同设计来解决问题,但是要当心设计出过于复杂而难以编程的计算机。

  . 最其性价比和最均衡的基本硬件配置应该匹配多数负载的综合资源要求,而不是只对某一个工作负载很完美。例如,仅限于索引功能的应用可以不完全地使用大磁盘驱动容量,但是可以同存档应用共享这个空间;一个多数时间都在寻道的应用程序不能充分利用很大的磁盘容量,但是可以将这些空间与那些需要很多空间来进行归档的应用共享。

  . 可代替资源更容易得到有效的应用。假设在WSC中有合理数量的连接,就应该努力设计出能够灵活应用远程服务器资源的软件系统。这将从很多方面影响到均衡设计的决策。例如,有效使用远程磁盘可能需要服务器网络带宽等于或大于所有服务器本地磁盘的带宽峰值。

  正确的设计方案不只取决于工作负载自身大概的组织方式,还取决于数据最和服务受欢迎的程度。例如,拥有大虽数据但是请求量相对较小的服务,可以直接用磁盘驱动器满足大部分的服务要求,这样一来存储成本较低(单位:$/GB),但是吞吐量也很低。而对于特别受欢迎的服务,如果数据集很小,或者有很高的数据局部性,则直接将这些数据放在内存里更合适。另一个给设计带来挑战的是工作负载的不稳定性。有可能会出现因为软件基础的发展速度太快,而使得服务器设计在其生命周期中之内(通常3一4年)就变得不再是最优解。这个问题对作为一个整体的数据中心尤为重要,因为数据中心基本设施的使用寿命可以跨越几个服务器寿命,一般大于10年。在那些情况下,有必要预先考虑在系统生命周期内,一些机器和设备必要的升级,同时在设施设计阶段中要考虑到这一点。

  责任编辑:GOCN

机房360微信公众号订阅
扫一扫,订阅更多数据中心资讯

本文地址:http://www.jifang360.com/news/2013126/n385344753.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
转载声明:凡注明来源的文章其内容和图片均为网上转载,非商业用途,如有侵权请告知,会删除。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
推荐图片