【IT168 导购】谈到服务器的可扩展性,一般可以分为Scale-out横向扩展和Scale-up纵向扩展两种。前者以x86集群为代表,通过增加多个节点来实现分布式计算、负载均衡、容错等功能,后者则以小型机为代表,通过在一台服务器中增加计算、内存、存储和I/O资源,来满足不断增长的业务负载需求,如大型数据库、OLTP、虚拟化等,但成本相对较高。
随着这几年越来越多的企业用户开始在关键业务领域里用x86服务器来替代小型机,加上英特尔、HP等厂商在这一领域的技术创新与突破,使得x86也开始朝“大服务器”方向(Scale-up)发展。HP ProLiant DL980 G7正是这一趋势的代表,它很好地把x86服务器的规模经济效应、开放标准与小型机的高性能、高可扩展、高可用等结合起来,为企业关键业务应用提供了全新的选择。
而这一切则源于HP从其Superdome高端UNIX服务器上移植下来的PREMA架构——从字面上看,PREMA是Performance(性能)、Resiliency(弹性)、Efficiency(效率)、Manageability(可管理性)和Availability(可用性)的首字母组合。下面我们就一起来剖析一下这个首次被HP应用于x86服务器产品线的神秘设计。
▲采用PREMA架构的HP ProLiant DL980 G7八路服务器
在8路系统中架起“立交桥”
我们知道,今天借助英特尔至强7500及其QPI直连技术,服务器厂商无须第三方节点控制器技术,就能轻轻松松把两个四路系统拼接成八路服务器,从而推动8路以上高端x86服务器市场的繁荣,但这其实是以牺牲一定性能为代价的,当然这也给那些更具技术实力的厂商带来了创新机会——可以提供性能更好、效率更高的高端服务器方案。
为了让大家更容易理解,我们不妨打个比方,试想一下,在一个拥有8条路交汇的路口,仅仅通过红绿灯来指挥交通,车辆等候通行的时间必定会受到很大制约,而如果架设立交桥,则可以大大提高道路交通效率。与此类似,在一个拥有8颗处理器的服务器系统中,为了保证处理器之间的缓存一致性,需要通过CPU之间频繁的监听请求与响应来协调,但这会占用链路和缓存带宽,而且,当源监听或监听回复需要多个跳频(hop)时,这些源监听还会造成内存延迟,对此,我们有没有可能借助“立交桥”来提高CPU通信效率呢?
答案是肯定的。在DL980中,HP就使用了以XNC(X Node Controller)节点控制器为核心的“立交桥”架构,该控制器技术源于HP Integrity Superdome 2,如下图所示。
▲HP DL980 G7中的PREMA架构图
每颗CPU拥有4个QPI通道,其中1条连接另一颗处理器,并组成“QPI岛”,第2条连接I/O,另外两条分别连接两个XNC控制器。XNC节点控制器主要有两个功能:智能CPU缓存和冗余系统架构。所谓智能CPU缓存,就是每个“QPI岛”中的处理器可以访问存储在节点控制器中的CPU缓存状态信息,因此减少了CPU之间的缓存通信和访问本地内存的延迟。这对于那些无须访问全局内存,或只在一颗处理器或一组处理器内运行的应用来说,效果更好,比如虚拟机、SAP、高性能计算等。
如果不使用节点控制器,会怎样呢?如下图所示。在一个没有控制器的8路系统中,CPU之间无法完全通过QPI直连,比如CPU0不能与CPU6实现直连,向CPU6发送任何请求回应信息都要经过CPU7,中间存在两次跳频(Hop)。平均下来,这类系统每次监听请求和响应要经过1.57次跳频,QPI链路带宽有60%都被这些CPU缓存监听所消耗。相比之下,在采用智能CPU缓存的HP PREMA架构中,处理器之间实现了“单跳”(Single hop)连接,减少了处理器间的通信流量,一致性监听和回复仅占用10-20%的QPI带宽,本地内存访问延迟也比前一种方案要低30%。
▲没有使用控制器的八路系统
因此,当一个系统中的处理器数量增多,这些处理器之间的沟通协作也会以加速度增加,从而会带来系统瓶颈,比如在一个16路系统中,某两个CPU之间的通信可能需要至少3次跳频。HP PREMA架构通过其XNC节点控制器技术,打破了这一瓶颈,不仅可以更高效地实现八路系统,也能够进一步向16路、32路实现平衡、弹性扩展——即在增加处理器资源的同时成比例添加内存和I/O资源,这对于Scale-up服务器来说是非常关键的。
今天的一台DL980 G7可以在一个机箱内最多支持到80个CPU内核、160个逻辑处理器(使用最新的10核至强E7处理器),4TB内存容量(使用128个DIMM插槽和32GB内存条),16个I/O插槽,足以支持苛刻的计算密集型、内存密集型、I/O密集型以及大规模虚拟化应用。
关键业务系统,稳定当先
对于八路服务器这样的关键业务系统来说,高可靠、高可用等RAS特性同样是用户极为看重的考量因素。
从至强7500开始,英特尔已经在芯片设计中加入了20多条RAS特性,通过错误检测与抑制、多层冗余、系统恢复、故障预测分析、电气隔离等技术,大大提高了x86服务器的数据完整性、系统可用性和可服务性。HP DL980 G7则在此基础上,通过HP PREMA架构进一步提高了大型x86服务器的可靠性,真正实现了“PC服务器的价格,小型机的性能与稳定性”。
▲
在上述的HP PREMA架构中,虽然通过两个控制器也可以构建起高效的八路系统,但为了增加高可用性,DL980一共使用了4个XNC控制器,以实现链路的冗余。而且当某个节点控制器被过度使用时,它还提供动态路由功能,自动把流量分给空闲的链路,从而避免性能瓶颈,提高带宽使用率。这样一来,就象大家熟悉的集群系统或双机热备方案一样,增加了节点之间的负载均衡与容错,不同的是,HP PREMA架构把这些机制在芯片层面得以实现。我们知道,大多数无节点控制器的8路系统只有4个互连链路,HP PREMA架构则增加到了6个,提供了多出50%的互连链路,因此不仅能增加互连带宽,提高系统性能,而且显著减少了出现互连链路故障情况下的宕机时间。
另外,HP PREMA 架构还整合了链路级的重试功能,可重新传输数据和备用线路 I/O,确认数据传输是否完整、数据完整性是否受损,并在链路出现故障时添加弹性路径。随着大服务器里使用的内存条数量增多,使得因为内存出错导致系统宕机的风险也随之增加。借助英特尔至强E7的支持,与使用单设备数据纠正 (SDDC) 技术的至强7500系统相比,通过使用双设备数据纠正技术 (DDDC),DL980可以修复一个和两个DRAM设备内存硬件错误,这一特性预计能够将系统内存崩溃故障减少 10 倍,从而大大提高了系统的在线时间。另外,内存更换数量也提高了17倍,据统计,内存年度现场可替换单元维修率(DIMM annual field replaceable unit repair rate)从之前与电源、风扇相当的水平降低到了比电缆还要低的水准。
其他增强的RAS特性还包括机器校验架构(MAC)、增强的MCA日志、增强的操作系统可用性、热插拔RAID、高级内存保护等,这一些系列技术的采用,使得DL980拥有了“自愈恢复能力”,能获得更长的应用程序正常运行时间(MTBF)。
HP PREMA架构奠定DL980王者风范
得益于HP PREMA架构所带来的智能CPU缓存、动态路由、链路冗余、弹性扩展等特性,HP DL980 G7在性能、高可用、可扩展性等方面都超越了市面上其他厂家的8路服务器产品。
来自TPC、SAP、SPEC等第三方测试也表明,HP DL980 G7充分体现了它在大型x86系统中的王者风范。比如在 SAP 双层“销售和分销标准应用”基准测试中,DL980是全球先进款实现支持 25000 名用户的x86 服务器;在非集群版的TPC-H@3000GB测试中,DL980每次数据库查询的成本仅是Oracle/Sun M9000的1/6,是32路IBM Power P595的1/8,而体积只有1/5,性能比Unisys 16路x86服务器还要高出54%。
在市场上,DL980同样收获颇丰,自2010年发布以来,已经广泛应用于政府、金融、电信、邮政、医疗等行业的关键业务领域。分析这些案例来看,DL980非常适合于三种情形:一是替代传统的UNIX小型机,将ERP、数据库、商业智能、应用中间件等关键业务迁移至更加开放、标准化、更高性价比的x86平台,降低软硬件总体拥有成本,提高灵活性;二是升级过去的老旧服务器,包括替代HP自家或其他厂商的双路或四路x86服务器,以满足业务日益增长的性能需求,扩充系统容量;三是服务器整合与虚拟化,比如在DL980上部署VMware vSphere,对多个应用负载进行整合,以实现私有云部署,提高资源利用率和IT弹性,降低管理运维成本。
最后值得一提的是,来自上述用户的需求也推动了4-8路x86服务器市场的快速发展,据IDC统计,2010年,采用4或8路的x86服务器的五年年均复合增长率为5.9%——2倍于整个x86服务器市场的增长速度。可以预见,随着虚拟化、数据中心整合、私有云等应用的快速发展,以HP DL980 G7为代表的大型x86服务器有着非常广阔的发展空间。