![]()
2、 兼顾计算与I/O性能 至强7500助力DB2
可以看出,DB2数据库对服务器的苛刻要求让DBA们难以选择合适的解决方案:既要并行计算能力强大,其主频(不能过低)还要能把保证单线程计算强度,此外还需要“内存敏感”,以使得I/O方面没有瓶颈。
让我们先来看看以往的解决方案:首先是RISC架构小型机。IBM Power系列处理器一贯以来都走着高主频路线,然而其Power 6系列处理器区区4个核心在并行计算上显得有些不足。而另一大RISC旗帜SPARC系列处理器,倒是走了多核心路线,但为了维持功耗而牺牲主频的做法使得SPARC处理器在“主频敏感”型计算中处于劣势。
按照传统的做法,DBA们只有承受昂贵的投资,接受“小型机集群”以弥补处理器造成的短板。而x86平台虽然价格便宜,但以往在并行计算性能以及可靠性上很难满足DBA的需求。直到去年至强5500系列处理器发布,凭借Nehalem架构强悍的并行能力和优异的内存控制一举在双路领域赢得DBA们的青睐,而今年发布的至强5600更是以32nm六核12线程的超强性能接替至强5500为双路至四路的数据库服务器提供了充分的升级空间。
但是在四路以上的大型企业级应用领域呢?3月底,英特尔发布了至强7500系列处理器,凭借8核16线程的强悍并行能力以及优秀的4通道DDR3内存控制器横扫x86平台——为八路及以上服务器带来“革命性”的性能提升。据官方数据表示,至强7500的内存带宽比至强7400高9倍,运行数据库程序时的性能则是后者的2.5倍,整数运算性能为至强7400的1.7倍,浮点运算性能则是至强7400的2.2倍。而且,由于使用了4个QPI接口,让服务器厂商无须借助其他控制器芯片,就可以扩展到8路服务器。

从前面分析的两大需求来看,至强7500的并行计算性能已然是目前x86平台最高产品,而单核计算性能毕竟和主频挂钩。至强7500的主频在2.26GHz,在笔者的DBA朋友中有质疑的,认为这主频并不高,比一些动辄3GHz以上的主频要低。但是要知道,至强7500有英特尔Turbo Boost睿频技术,可以根据工作负载,动态的提升主频10%左右——甚至可以关闭其他低负载内核,将单核主频提升至4GHz以上。笔者的DBA朋友在听到解释后也为之惊讶:“这也太聪明了吧。”英特尔所提倡的“智能计算”理念中的重要一环就是处理器能动态调节工作状态。
另一方面,对于DB2数据库的“内存敏感型”需求(比如前文提到的层次型数据库)来说,至强7500拥有非常好的优势——四通道DDR3内存的支持以及四条QPI带来的6.4GT/s极限内部互联速率。对于CPU来说,还有一个重要的I/O瓶颈,就是CPU内部的高速缓存。
简单说明一下,CPU读取数据时,先从高速缓存中索引,如果搜索到相关数据就可以很快返回给CPU计算。如果没有需要的数据,就会去内存中索引,也因此我们经常会认为加大系统内存,同时提高系统内存的带宽(也就是访问内存的速度)可以提升性能。那么,从本源上看,如果提升CPU缓存不是更有效么。是的,但是成本太高,而且CPU内寸土寸金,受制于工艺制程也不可能集成太多(上一代至强7400二级缓存9MB,三级缓存16MB),如今的至强7500凭借45纳米工艺集成了16MB二级缓存和24兆三级缓存,也就提升了CPU在内部索引数据的成功率,大幅度提升了I/O水平——这种效率是叠加的(请自行理解)。
可以看出,尽管DB2数据库对服务器要求很高,尤其是CPU方面,在计算性能和内存I/O方面对处理器要求可以说很苛刻。而至强7500通过睿频和超线程技术解决了DB2数据库对CPU主频和并行能力的双重要求,并以强悍的内存支持和超大缓存将系统I/O延伸到一个新的高度。最后要提一下DBA们关注的可靠性问题,至强7500首次引入了多达22条的RAS特性,所构建的MCA架构大大保证了数据库服务器系统的可靠性。
从成本上看,x86平台低廉的价格和强大的生态环境支持使企业在部署DB2数据库时的成本投资相对要少很多。而从运营维护上来看,至强7500的性能远超以往的x86处理器,可以实现更多路整合,也就变相节约了投入和电费。