CPU不是一切 服务器平台设计更关键
对于服务器来说,2010年将会是其芯片历史上的一个大年,因为,这一年,我们会迎来多款重量级芯片的发布,其中有第一款32纳米服务器处理器Westmere-EP、有第一款12核芯片AMD皓龙6100、有第一款单核心功耗小于6瓦特的X86芯片AMD皓龙4100,有性能最牛的“巨无霸”IBM POWER7,有姗姗来迟的Tukwila安腾,也有将会开创X86多路服务器新纪元的Nehalem-EX……
不过,本文要谈的不是这些处理器本身,而是服务器的平台架构——内存、I/O、芯片组……
关注服务器处理器之外的那些事
引发我们关注这一话题的因素有四:多核计算、刀片服务器虚拟化、X86服务器同质化竞争以及IBM公司将在今年力推的新一代X架构:eX5。
首先,我们知道,在一个向上扩展的多核系统中,数据存取的层次是CPU、缓存、内存、硬盘,越往外层,I/O越慢,因此,随着CPU的核心数量越多,CPU喂不饱的现象会更加严重,I/O因此成为多核计算之路上最重要的因素。目前主要是4核心、6核心CPU,但马上就会出现8核,甚至12核。为了满足多核CPU系统的均衡发展,对内存容量、I/O带宽也提出了更高的要求。因此,一方面,CPU厂商已全面抛弃传统的前端总线架构,改用直连架构,并将内存控制器从北桥搬到了CPU里,片上三级缓存也越做越大;另一方面,新系统设计中大内存容量成为必需。有测试表明,一般每个CPU内核需要配备2-4GB内存才能保证平衡,不然会影响到数据存取的速度。此外,外围的I/O加速技术也不断有所突破,如用更快的SSD取代传统的机械硬盘,万兆以太网技术受到青睐。
其次,为了提高CPU的利用率,这两年虚拟化开始盛行。一台物理机器上的多个虚拟机争抢内存、I/O资源的现象也越来越突出,特别是当我们在刀片服务器上部署虚拟化时,内存往往会成为限制虚拟机数量的一大瓶颈。由于虚拟化用户经常在超过CPU最高计算能力之前耗尽内存,从而影响到一个单一系统上所能够支持的虚拟机数量。
当然,现在对于四路以上的高端刀片而言,内存容量还是不错的。比如惠普的ProLiant BL680c G5可以支持16个PC2-5300全缓存DIMM插槽,支持最大128GB,戴尔的M710则共有18 个 DIMM 插槽,内存总量可以高达 144GB。
不过,要想在价格更便宜的主流双路刀片上支持那么大的内存就没那么容易了。在大内存的双路刀片这个领域,值得关注的有两个例子,一个是去年发布的思科UCS刀片服务器,另一个是IBM最近出的HS22v刀片服务器。
跟前一代产品相比,HS22v的内存DIMM数量从以前的12条摇身变成了18条之多!由于配置了18个8GB DDR3 DIMM内存,其最高可达到144GB内存。这么大的内存可扩展性,对于高计算密度和虚拟化的应用环境是非常有帮助的。跟上一代的HS22相比,每个HS22v刀片所能支持的虚拟机数量可以增加50%。
思科Cisco UCS 5100系列刀片服务器系统的一个创新技术是“内存扩展技术”(Cisco Memory Extension)。其关键是在主板上使用了名为Catalina的缓冲芯片,可以将CPU每通道DIMM数从原来的2-4个扩展到8个,由于每个至强5500 CPU有3个DDR3内存通道,每台刀片有两个CPU,这样就一共有了48个DIMM插槽;如果出于成本考虑使用4GB内存条,内存容量为192GB,如果使用8GB内存条,最大内存容量就达到了384GB。内存容量的提升使得每台物理服务器所能托管的虚拟机数量也可以成倍数增加,同时降低了每个虚拟机承担的能耗和制冷成本,用户不需要仅仅为了更大内存容量去购买更贵的4路刀片。
第三,服务器的同质化竞争。今天X86服务器处理器无外乎英特尔和AMD的选择,甚至决定服务器整个系统架构灵魂的芯片组也都统一到这两家CPU厂商手中,这使得产业链下游服务器厂商的同质化竞争非常激烈。如何实现差异化创新,向用户提供比竞争对手更好的产品,成为许多服务器厂商头疼的大事。 #p#page_title#e#
IBM X架构的不同之处 关注eX5
可见,无论是多核计算发展大趋势,还是从虚拟化应用、差异化竞争等方面来看,我们都非常有必要关注服务器厂商们在设计服务器系统时的创新之处。下面我们就重点谈谈这方面最具特色的IBM X架构[IBM企业级X-架构历史概述] ,以及即将在本季度推出的最新一代eX5。
大家可能有所了解,X架构(X-Architecture)是IBM System x系列X86服务器的标志。其初衷是希望将IBM在大型机、小型机包括AS/400、RS/6000、S/390上面的一系列领先技术(光通道、远程联接诊断、超级并行交换开关、热插拔和热添加)系统地移植到X86工业标准服务器上。自1998年IBM提出并于1999年3月在美国纽约宣布推出“X架构”以来,IBM在x86服务器的研发设计过程中,先后推出了4代EXA架构,着力于解决服务器在按需扩展、I/O加速、高可用、系统性能、可管理性等方面的挑战。最近的一次架构更新是2007年底推出的eX4架构,用在IBM的x3850 M2、x3950 M2上。根据官方计划,在今年一季度,IBM将会推出eX5架构。
X架构的核心其实是IBM自家的芯片组技术。如果把处理器看作服务器的大脑,那么,芯片组就象是心脏——将处理器和内存、I/O端口及其他可扩展子卡连接起来,让数据得以在整个系统中更加畅快地流动。随着处理器计算性能越来越高,I/O、内存的瓶颈就日益突出了,平衡的系统设计就非常重要——毕竟决定一个木桶能装多少水的关键在于最短的那块板子。
那么,X架构到底来带来什么不同呢?由于eX5还没发布,我们只好先看看eX4。
在目前基于英特尔至强7400处理器的四路以上服务器中,基本都是搭配Inte 7300芯片组,唯独IBM使用了自家的eX4芯片组。两者的区别主要在内存类型、I/O带宽和可扩展性等方面。在支持的内存类型上,Intel 7300支持FB-DIMM内存,只有4通道,功耗较大,而eX4仍然支持DDR2内存,有8通道。在I/O带宽上,虽然Intel 7300理论上支持1066MT/s的内存速率,但FB-DIMM的最高速率只有667MT/s,因此实际读取带宽只有21.3GB/s,写入带宽为10.7GB/s,eX4平台则达到了读取34.08GB/s、写入17.04GB/s,提高了60%。在可扩展性上,Intel 7300最大只能支持4路,而eX4可以级联1-4个机箱,通过其SclaeXpander芯片技术,最大可以扩展到16路。另外,还有一点差别是在探听过滤器上,由于这代产品仍然采用前端总线架构(FSB),为了降低对总线带宽的占用,英特尔在其Intel 7300芯片组中引入了第一代64MB Snoop Filter,而IBM eX4用的是第四代,比前者要大3-4倍。这些差别都使得IBM的x3850 M2/x3950 M2在内存容量与带宽、I/O带宽、可扩展性等方面都强过其他服务器厂商的四路产品。
值得一提的是,过去IBM只是在高端的四路以上X86服务器中使用X架构,但今年,随着eX5的发布,这一技术将扩展到普通的双路服务器和刀片服务器中来。在去年的IBM刀片服务器高峰论坛上,IBM就曾提到,未来IBM的刀片服务器通过使用eX5芯片的内存扩展板,单组刀片最大将可以支持到80个DIMM内存条,实现高达640GB的内存容量,这对于虚拟化应用是非常关键的。
不过,随着AMD和英特尔在CPU设计中纷纷采用超传输直连架构,集成内存控制器,取消北桥芯片,芯片组的地位和作用也正在发生改变。特别是当英特尔在单双路和四路服务器上都引入基于QPI的Nehalem架构之后,服务器厂商在系统设计层面还有哪些可创新之处,是非常值得关注的。而且,英特尔在Nehalem-EX中将提供系统接口,第三方服务器厂商无须额外芯片就可以实现到8路甚至16路系统的扩展,据称将会有8家系统厂商将推出15款以上的8路服务器。届时,IBM的eX5将会带来哪些不同呢?我们将继续观察。