PCI Express® Base Specification Revision4.0 Version 1.0
下载链接 http://pan.baidu.com/s/1dFxqX9Z (也可以点击本文底部“阅读原文”)
大家可能看到新闻了,PCIe Express 4.0 v1.0规范终于正式发布,此时距离我撰写支持PCIe Gen4的《初探OpenPOWER9服务器设计:x86不再寂寞》已经过去一年的时间。不知这是否意味着POWER9将会尽快正式发布了呢?
有意思的是,在10年前PCIe 2.0发布的时候,我写过一篇工作站的评测,提到了对于显卡/GPU的意义,也就是全速x16插槽。
6年前,大约Intel发布第一代Xeon E5的半年之前,我也写过一篇评论,因为LSI已经提前推出了支持PCIe 3.0 x8的6Gb/s SAS控制器和HBA卡。
这次应该是9月底就完成的,整个规范共1293页
今天,在4.0草案标准期间“偷跑”的板卡同样不少,不过x16 lane宽度的显卡/GPU似乎不是当前最紧迫的,毕竟PCIe 3.0的8GT/s每个lane有效带宽接近1GB/s全双工。而对于SSD和网卡就不同了。
56/100Gb网卡、NVMe SSD渴望更大带宽
双端口56Gb InfiniBand HCA,用流行的PCIe 3.0 x8就存在瓶颈了;至于100Gb以太网等,如果不用PCIe x16单端口都发挥不出来,比如我在《4节点近160万IOPS:SDS/超融合测试不能只看数字》测试平台中使用的MellanoxConnentX-4网卡。
至于SSD,目前主流的NVMe用的是PCIe 3.0 x4,实际效率能跑到3.2GB/s就不错了,参见《Intel发布P4500、P4600 NVMeSSD:规格释疑》一文。除了少数高端企业级和发烧型号用x8接口之外,可以说单盘(卡)IOPS达到70-80万x4接口也开始出现瓶颈了。更何况未来会在存储阵列中应用的双端口U.2 SSD,x4 lane会拆分成2个x2来使用。
这样的M.2 SSD转接卡,是当前提高整体带宽的一种选择
如上图,4个M.2 PCIe x4直通转接PCIe x16,对于有些图形工作站等需要极高存储带宽的应用是一种解决方案。上面的卡我在《双Xeon SP只用一个风扇?Precision7920工作站散热设计解析》中曾经提到过,随着Dell新一代工作站机型发布,同样的Ultra-Speed Drive Duo/Quad也可以通过Intel RSTe vROC选项支持NVMe RAID0、1。
如果平台(主板)升级到PCIe 4.0,这种M.2转接方案的带宽理论上也可以翻倍,当然估计一时半会SSD还达不到那么快。
而PCIe 4.0的普及进程却不是太乐观,关于Intel发布不久的Xeon Scalable服务器/工作站平台我写过不少东西,这里随便列出一篇《IntelXeon SP服务器架构曝光:Apache Pass、QuickAssist》。据说Intel要等2019年发布的下一代Xeon平台才会支持PCIe 4.0,POWER由于指令集等方面原因难成主流,AMD又刚把PCIe控制器lane数量做上去(《超越Xeon?AMD Naples服务器的理想与现实》),估计短时间难以染指4.0。
GPU提升I/O的另一个路子——NVLink
除了CPU之外,GPU性能提升的速度似乎更快,不过NVIDIA自己搞出一套解决I/O互连的方式。
上面示意图是一款双CPU+ 4 GPU服务器,1U机箱支持4块300W GPU卡那种,我在《九条大道通GPU:HPC服务器PCIe之灵活应用》曾经介绍过它的PCIe直通和Switch有多种连接方式选择。
如今NVIDIA大力推广NVLINK,并且在一些应用中(比如GPU间显存频繁交换数据)性能提升明显,原有服务器机型也面临升级更新。上图所示Dell PowerEdge C4130就把GPU部分改造成一块NVLINK互连板,上面还是4个GPU模块,只在与CPU通信时才需要经过PCIe交换器,GPU间的带宽增大了。我还没仔细研究,估计是从PCIe卡换成下图这种SXM模块吧。
1U 4颗GPU、2U 8颗GPU是现在比较高的密度
具体来说最新的Tesla V100支持的NVLINK链路比P100还增加了2条(6 vs. 4),只是听说这东西有些贵:)
Gen-Z、CAPI等能撼动PCIe吗?
两个月前我还写过一点相关的:
《Gen-Z互连(下):第一步25-100GB/s、PCI-SIG的反应》
还是更欣赏TangJie总说过的一个观点:“这些新的I/O标准,如果想活下来,就必须大家联合起来。”
毕竟这么多年过去,PCIe生态太成熟了。先写到这里吧。