【IT168 专稿】去年初,布莱德公司首席代表陈炜在接受记者独家采访时,针对数据中心Server I/O市场有一个预测,他预计在去年的下半年,服务器I/O市场会有一个井喷式的爆发。虽然由于经济危机等原因,井喷没有爆发,但是从目前的趋势来看,服务器I/O也正在成为厂商竭力试图创新的焦点所在。
众所周知,服务器I/O主要由外部通讯I/O和内部I/O组成,而除了大规模高性能计算,我们的数据中心通常不会遇到外部I/O瓶颈问题——这倒不是数据量不够大,而是很多时候服务器内部I/O瓶颈是掣肘的关键。本文主要从内存控制、多核通讯和磁盘传输等三个主视角出发,探讨服务器I/O瓶颈与最新技术。
DDR3内存控制器移进CPU 新至强堪比大力神
服务器I/O的第一步就是处理器对内存的访问过程。由于处理器内部缓存数目受制于制程工艺和功耗/封装面积等原因,无法做的很大(至强7500已经做到了惊人的24MB)。因此在需要获取最新计算数据时,处理器会向内存控制器发出命令, 要求读取计算数据。按传统的架构,内存控制器是独立于处理器,在北桥芯片上的。于是就会出现:“CPU--北桥--内存--北桥--CPU”五个步骤来实现对数据的读取——可以看出其时间主要消耗在与北桥这个“中介”的通讯上。
左边是传统的北桥内存控制器,FSB是瓶颈;右边是QPI直连后的内存控制
而从去年的Nehalem微架构开始,英特尔将内存控制器集成在了处理器内部,CPU与内存之间的数据交换过程就简化为“CPU--内存--CPU”三个步骤,省略了两个步骤,与传统的内存控制器方案相比显然具有更低的数据延迟,这有助于提高计算机系统的整体性能。此外还有两个好处,一是CPU内部集成内存控制器可以使内存控制器同频于CPU频工作(现在CPU工作频率一般都在2G以上) 而以往的北桥内存控制器频率远大于CPU的实际工作频率,从而造成数十倍的延迟(例如2GHz主频和800MHz FSB,一个来回就延迟了4倍多)。另外,CPU集成内存控制器之后,减低了北桥的工作压力,使得更多带宽可以使用到PCI-E总线和与南桥的沟通上。
不过,整合内存控制器对于服务器系统来说,还是有一定弊端的——灵活性差,兼容并不十分好。但是英特尔最新发布的至强7500(Nehalem-EX)处理器中,这一情况被彻底扭转:Nehalem-EX集成了两个内存控制器(以前只有一个),每个内存控制器提供一个SMI(Scalable Memory Interface),它们可以运行于Lockstep模式(普通的Nehalem处理器也提供了这种模式)以提升性能和增强RAS。
SMI接口是一个串行界面,因此它需要连接到一个叫做Scalable Memory Buffer(SMB)的芯片才能联接到并行的DIMM上(久远的Pentium 4使用的RIMM则是串行的),这个芯片就和以前FBD内存上的AMB芯片一样,用来将串行界面转换为并行界面,只是在Nehalem-EX上,这个SMB可以集成在主板上而不是集成在内存条上,兼容性远非FBD架构可比。每个SMI接口支持两个SMB芯片。
由于每个SMB芯片支持两个DDR3内存通道,每个内存通道最多支持2个DIMM,这样一个Nehalem-EX处理器就能提供最多8个内存通道、16个DIMM、256GB的内存容量支持。Nehalem-EX支持8个内存通道,这确实和通常想象的不太一样。很多人曾以为它支持的是4个内存通道。这使得至强7500在内存容量支持与内存通讯带宽上达到了前所未有的超高性能,所集成的两个内存控制器就像组合在一起的变形金刚——打造出至强7500这个“大力神”。
![Click Here](https://i-blog.csdnimg.cn/blog_migrate/b05be18f687b5bb2dab1ed5630b3e9b2.gif)
6.4GT/s惊人速率 QPI高速公路无缝对接多核
无论是对外通讯(处理器外)还是多核之间的互联,QPI直连总线都是Nehalem微架构不得不提的亮点。与前面提到的内存控制方式类似,以往的CPU多核之间通讯以及对外通讯都需要走“CPU--北桥--内存--北桥--CPU”的老路,其沟通带宽是古老的FSB前端总线。
从Nehalem微架构开始,英特尔弃用FSB总线,转而在处理器内部采用了QPI直连架构,使得处理器之间可以直接相连,不再需要经过拥挤、低带宽的FSB共享总线,多处理器系统运行效率大为提升。 对于多处理器系统而言,QPI提供的巨大带宽对性能提升很有作用。
QPI
总线 vs FSB
总线
| ||
名称
|
Intel FSB(Front Side Bus)
|
Intel QuickPath Interconnect(QPI)
|
拓扑
|
共享总线
|
点对点连接
|
物理总线宽度(bits)
|
64
|
20 x 2(
双向)
|
数据总线宽度(bits)
|
64
|
16 x 2(
双向)
|
传输速率
|
333MHz 1.333GT/s 10.6GB/s |
3.2GHz 6.4GT/s 12.8GB/s( 单向) 25.6GB/s(双向) |
需要边带信号
|
是
|
否
|
引脚数
|
150
|
84
|
时钟数
|
1
|
1
|
集成时钟
|
否
|
否
|
总线传输方向
|
双向
|
单向
|
相比Nehalem-EP至强5500处理器(2条QPI),3月底发布的至强7500处理器集成了4条QPI总线,提供了更高带宽的同时,还使得8路以下系统的各个内核之间可以直接通过QPI总线互联——以往是需要第三方芯片支持的。
上:Nehalem-EP,两条QPI总线;下:Nehalem-EX,四条QPI总线
除了提供更高的带宽(每链路25.6GB双向带宽)之外,QPI总线还让多处理器系统更有效率:处理器之间可以直接连接。如上图,每个CPU都可以直接和其他三个CPU通信。
![Click Here](https://i-blog.csdnimg.cn/blog_migrate/b05be18f687b5bb2dab1ed5630b3e9b2.gif)
SSD亮剑随机存储 全面解决系统I/O瓶颈
除了处理器特性对服务器内部I/O的贡献之外,另一大瓶颈是磁盘系统。以往企业服务器并不存在磁盘I/O瓶颈,因为大多数都在使用阵列和大规模集群存储以解决其性能不足的问题。但是,大规模集群和阵列所带来的惊人采购成本与运维成本并不是最佳方案,越来越多的企业搭建大规模阵列的目的,有时候仅仅是为了获得超高的IOPS随机速度——也因此,固态硬盘有了栖身之地。
虽然SSD固态硬盘目前的性价比还是远低于传统硬盘,但其空间小,I/O速率高等特点吸引了包括百度、腾讯、Google在内的一大批互联网公司。而去年美国圣地亚哥超算中心(SDSC)也开始大规模部署SSD。该计算机中心主管Allan Snavely表示,“SSD具有更加快速的数据吞吐能力,在高性能计算中这一点极为重要。”
半导体研究公司分析主管Jim Handy表示,在消费级领域,传统机械硬盘仍然是首选,但是对于科研、金融机构来说,数据的处理速度显得非常的重要,所以固态硬盘在这一领域将会逐步走俏。据国外知名市场调研公司iSuppli的调查表明,2009年固态硬盘的销售将达到580万块,相比2008年的140万块有四倍的提升,而其销售额也将达到8.83亿美元,相比去年1.27亿美元也有600%以上的提升。