大数据时代:Intel Xeon、LSI SAS术业有专攻

前段时间,笔者在网上看到下面这张图,引发了撰写本文的兴趣。

某网友提供的Intel下一代服务器芯片组C610规格和结构图

Intel下代Xeon芯片组C610放弃集成SAS?

在上图中我们主要想谈的就是:看来C610(代号Wellsburg)没有像搭配Xeon(至强)E5服务器平台的PCH芯片组C600那样集成SAS控制器,而且它到CPU的上行连接仍然是x4 DMI(PCIe 2速率)。我们知道Intel最初在C600中设计了8端口的6Gb/s SAS控制器,但后来由于Firmware等方面的问题迟迟未能解决,最终发布时将规格降低到了3Gb/s SAS,而且还导致了整个Xeon E5平台的延期发布。

另外C600使用的DMI 20Gb/s全双工上行带宽,对于8个6Gb/s SAS lane的48Gb/s(8*600MB/s=4.8GB/s)来说也形成了瓶颈。降到3Gb/s SAS之后的情况相对好些,但要知道PCIe的实际效率达不到100%(通常在60~80%之间),我们也看到有媒体朋友进行了相关测试。如果连接HDD机械硬盘不是问题,但如今的企业级SAS和SATA 6Gb/s SSD的读写带宽大多超过了300MB/s,因此C600整合SAS控制器的实际意义打了折扣。

举点实际的例子,IBM、惠普和戴尔等服务器大厂商好像基本没有使用C600的SAS接口,而是像以前那样选择基于LSI、PMC-Sierra芯片的RAID卡或者HBA来连接SAS驱动器。Intel EPSD的主板则可能有点尴尬?既要支持自家芯片组中的功能(没有板载第三方SAS芯片),又为了满足用户的需求而推出了选配的SAS(RAID)扩展子卡。

SAS专用PCIe上行连接:有多少人使用?

Intel C600系列芯片组和Xeon E5-2400/2600处理器功能模块图

上图来自Intel网站。根据现在的资料,研发代号为Patsburg的Intel C600系列芯片组分为-A、-B、-D和-T等不同版本,其中-D和-T两款提供8个3Gb/s SAS端口,还有4端口的版本。另外,SAS控制器可以通过一条专用的x4 PCIe(2.0) uplink(上行通道)连接到CPU,从而避免了和PCH上的其它功能模块共享DMI连接的带宽。

我们之前看到有的Xeon E5主板上编号为“BD82027TA”的PCH应该对应的是C600-T,也就是下表中的C608。

Intel C600系列芯片组型号——规格对照表

由上表,C602基本上就对应了用于台式机的X79芯片组,4个SAS端口被降级为SATA支持;C602J和C604针对嵌入式计算(Embedded Computing)领域,区别在于后者打开了4个SAS端口而前者没有;C606(-D)和C608(-T)在SAS规格上都是完整的8个端口,并且支持PCIe Uplink,理论上可以为SAS控制器提供更大的带宽。

双插槽的Intel Xeon E5-2600产品家族平台模块示意图

不过在Intel的技术文档中,参考配置只是通过“Legacy”CPU通过DMI2连接到PCH(也就是C600),而没有将SAS专用上行通道连接到“Peer”CPU的DMI2/PCIe(x4 Gen2)上。也许目前的Xeon E5服务器主板按照这样设计的比较多一些吧?

第三方专用SAS控制器/RoC的优势

上图为LSI SAS2308第二代8端口6Gb/s SAS控制器的模块图,相对于第一代的LSISAS2008主要的变化是:系统总线接口由PCI Express x8 2.0(5Gb/s)升级为x8 PCIe 3.0(每个lane的速率为8.0Gb/s全双工,实际效率比2.0提升一倍),另外集成的PowerPC 440处理器频率由533MHz提升到800MHz。

而这2个部分,恰好都是相对于Intel C600整合SAS控制器的优势,由于PCH没有为SAS PHY搭配专用的处理器,可能会消耗一部分CPU处理资源(对Xeon E5来说倒是影响不大)。当然C600最大的好处就是免费。

回到本文开头的C610芯片组,Intel下一代仍然会采用服务器CPU、芯片组和高端台式机共用平台的设计。在12Gb/s SAS将要开始产品化的今天来看,未来仍然提供3Gb/s SAS接口有点说不过去了?而对于桌面应用来说,新加入的USB 3.0 5Gb/s高速接口又没有足够的理由使Intel将DMI的速度从PCIe Gen2提升到PCIe Gen3,毕竟那样意味着CPU一端也要对应做出改变。

笔者在标题中使用了“大数据”几个字,大数据时代不仅意味着非结构化数据的挖掘和分析,还有对存储容量和性能需求的提升。而闪存和SSD可以说是这一时代的催化剂,重新定义了人们对存储基础架构的性能的认识。进一步延伸到未来基于Intel Xeon E5平台的存储系统设计,既然目前C600系列芯片组的SAS控制器没有足够的带宽,还要经过SAS扩展器连接更多的驱动器显然不合适。

借用一位业内朋友说过的话:“如果Intel把(C600中的)SAS做完善了,LSI又去做什么呢?”本文标题中的“术业有专攻”也是同样的道理。

迷雾又起:6Gb/s SAS控制器PCIe 3上行连接?

当我们看到Intel文档中下面这段文字时,觉得未来似乎仍存在变数。

如果这个资料中描述无误的话,C600 PCH中的PCIe Uplink有可能会达到Gen3 哦(现在还没有推出)?另外SAS控制器的传输率“up to 6Gb/s”再次表明了最初的设计,但是不知道未来还能否支持到这一规格?

6Gb/s SAS迫切需要PCIe 3.0吗?当然不是,因为LSI第一代产品x8 PCIe 2.0的方案已经很成熟了。不过Intel C600和未来的C610 PCH提供的PCIe Uplink只是x4而不是x8,所以就显出PCIe 3.0的重要意义,特别是在8端口的配置下。