帆子
作者帆子·2020-09-30 16:10
售前技术支持·国内某服务器生产商

Power9服务器I/O槽位信息汇编(更新版)

字数 6922阅读 5848评论 0赞 4

Power9服务器已经推出有一段时间,不过,仍有一些硬件工程师不太关注I/O卡的接插位置。其实这里面还是有一些讲究的。

Power9服务器所能支持的I/O槽位数量在业界算是比较多的,但我们需记住这些I/O槽位并不是每一个都是一样的。有的I/O槽位带宽高,且独占,而有的I/O槽位可能会与其它设备共享同一条总线。所以其中的细节还是值得关注一下的。

现在就让我们针对几款常见的Power9服务器的I/O槽位情况逐一进行分析。

首先是E950。这是E950的I/O 结构:

两张图都依次列示了从C2到C12这11个I/O槽位的带宽和来源芯片模块。从POWER8系统开始,外部I/O Hub和Bridge Adapter被去除了,取而代之的是将PCIe Controller(PEC)和PCIe Host Bridge(PHB)集成到处理器模块当中。直接从PHB发出的PCIe总线可以用来驱动单独的I/O插槽,或者用来驱动一个PCIe Switch。集成在处理器模块中的PEC支持Enhanced Error Handling(EEH),具体地说就是重试和冻结功能,以应对发生在I/O控制卡和PCIe总线上的软硬件出错。如今,POWER9处理器通过支持PCIe 4.0技术,将这一设计进一步发展。

在E950的每一个处理器芯片模块,都有三个PHB。其中PHB0和PHB2都各直接连接了一个PCIe4 x16的槽位,为其提供一个64GB/s的I/.O接驳能力。而E950的前两个处理器芯片模块的PHB1,除了各直接连接了一个PCIe4 x8槽位(C9和C12),为其提供一个32GB/s的I/.O接驳能力之外,还各连接了一个PCIe3 Switch(也被称作PEX),其带宽也有32GB/s。E950服务器使用这两个PEX来支持一个PCIe3 x8槽位(C6),以及四个PCIe3 NVMe U.2 SDD插槽(每个插槽都有自己的控制卡)和一个USB控制器(下挂四个USB 3.0接口,前二后二),分别提供一个16GB/s,四个8GB/s和一个1GB/s的I/O接驳能力。

C6是E950保留用作接插缺省网卡的槽位,而C9和C12除了支持常规I/O卡之外,还被用作接插SAS卡以支持内置硬盘。其它的I/O槽位均可作为通用槽位,每一个都能提供高达64GB/s的带宽。详见下表:

很明显,E950里的每一个槽位,除了C6,其它都是独占的,差别只是在带宽方面。所有这些槽位的带宽,再加上四个PCIe3 NVMe U.2 SDD槽位,1个USB控制卡,以及其它一些系统端口,E950声称其理论总带宽为630GB/s,确实所言非虚。

在这里,如果我们将C6,C9和C12排除在外,就可以非常清楚地发现在E950的I/O槽位接插优先级当中的规律,那就是:

先逐次占据各个处理器芯片模块所辖的第一个I/O槽位,然后再逐次占据各个处理器芯片模块所辖的第二个I/O槽位。

一般而言,我们总是先确定那些带宽要求高的I/O卡(比如双口100Gb/25Gb RoCE卡,四口或双口16Gb 光纤通道卡)的位置,然后再确定那些带宽要求不太高的I/O卡(比如SAS设备接口卡,千兆以太网卡)的位置。特别需要注意的是,对于需要配置外置I/O扩展柜的情形,我们需要留出高带宽且独占的I/O槽位,用来接插相关的连接控制卡( # EJ20或 # EJ08),以接驳外置I/O扩展柜。针对具体的I/O卡,可以参照下面的网页来确定该卡在E950 CEC机柜上的I/O槽位接插次序:
https://www.ibm.com/support/knowledgecenter/POWER9/p9eab/p9eab_950_slot_details.htm

接下来是S922。这是S922的I/O结构:

图中依次列示了从C2-C4,C6-C9,以及C11、C12这9个I/O槽位的带宽和来源芯片模块。S922的第二个处理器芯片模块,支持的是C2-C4这三个I/O槽位,为其提供一个32GB/s和两个64GB/s的I/O接驳能力。而S922的第一个处理器芯片模块,支持一个PCIe4 x8槽位(C8)和一个PCIe4 x16槽位(C9),以及两个PCIe3 Switch(PEX),为其提供三个32GB/s和一个64GB/s的I/O接驳能力。其中,每个PCIe3 Switch,除了支持两个PCIe3 x8槽位,还支持一块内置SAS卡或者一个PCIe3 NVMe Carrier Card(每块卡拖带两个NVMe M.2 SDD插槽),外加一个USB控制器(下挂四个USB 3.0接口,前二后二),分别提供三个16GB/s,和一个1GB/s的I/O接驳能力。

在S922上,C11只能用来接插网卡,而其它的I/O槽位均可作为通用槽位,每一个I/O槽位所能支持的最大带宽不尽相同。详见下表:

值得注意的是,在S922上,只有C2-C4,C8和C9这5个I/O槽位是独占的,其它的I/O槽位均可能与其它设备共享其所在的总线带宽。

对于S922而言,每一个处理器芯片模块都有一条宽达40 Lane的总线。这里的Lane是通道的意思。每条通道(Lane)包括两对线路,一对负责发送,另一对负责接收。每一对线路在一个周期里可以处理(接受或发送)最多1个bit,因而每条通道(Lane)在一个周期里理论上可以同时处理最多2个bit(考虑双向)。由于在S922上,每一个处理器芯片模块的I/O带宽的处理频率为16GT/s,我们很容易就可以算出,其上的那条宽达40 Lane的总线,其I/O总体带宽的理论最大值为160GB/s(考虑双向),进而对于一个2-Socket的S922而言,其I/O总体带宽的理论最大值为320GB/s(考虑双向)。

如果将C11排除在外,我们同样也能发现在S922的I/O槽位接插优先级当中的规律。

先在独占的I/O槽位(C2-C4,C8,C9)里,根据所属的处理器芯片模块的不同,以及相关带宽的高低,进行一轮选择;然后再在那些非独占的I/O槽位(C6,C7,C12)里,根据所属的PCIe3 Switch(PEX)的不同,再进行一轮选择。

和E950一样,我们需要先确定那些带宽要求高的I/O卡的位置,然后再确定那些带宽要求不太高的I/O卡的位置。如果需要连接外置I/O扩展柜,我们需要留出高带宽且独占的I/O槽位,用来接插相关的连接控制卡( # EJ1R或 # EJ05),以接驳外置I/O扩展柜。针对具体的I/O卡,可以参照下面的网页来确定在S922 CEC机柜上的I/O槽位接插次序:

https://www.ibm.com/support/knowledgecenter/9009-22A/p9eab/p9eab_922_slot_details.htm

再接下来是S924。这是S924的I/O结构:

S924与S922的I/O结构非常类似。图中依次列示了从C2到C12这11个I/O槽位的带宽和来源芯片模块。S924的第二个处理器芯片模块,支持的是C2-C4这三个I/O槽位,为其提供一个32GB/s和两个64GB/s的I/O接驳能力。而S924的第一个处理器芯片模块,支持一个PCIe4 x8槽位(C8),一个PCIe4 x16槽位(C9),以及两个PCIe3 Switch,为其提供三个32GB/s和一个64GB/s的I/O接驳能力。与S922稍有不同的是,S924上的每一个PCIe3 Switch(PEX),会多支持一个PCIe3 x8 槽位,也就是每个PCIe3 Switch,会支持三个PCIe3 x8槽位。另外,还支持一块内置SAS卡或者一个PCIe3 NVMe Carrier Card(每块卡拖带两个NVMe M.2 SDD插槽),外加一个USB控制器(下挂四个USB 3.0接口,前一内一后二),分别提供四个16GB/s,和一个1GB/s的I/O接驳能力。

和S922不同,S924的前面板只有1个USB 3.0接口,"消失"的那个USB 3.0接口被置于内部,用来接驳内置RDX移动硬盘盒( # EU00)。

在S924上,C11只能用来接插网卡,而其它的I/O槽位均可作为通用槽位,每一个I/O槽位所能支持的最大带宽不尽相同。详见下表:

与S922一样,S924也是只有C2-C4,C8和C9这5个I/O槽位是独占的,其它的I/O槽位均可能与其它设备共享其所在的总线带宽,而且由于共享的I/O槽位数的增加,S924可能更容易导致I/O槽位之间对于带宽资源的竞争。虽然S924有11个I/O槽位,但其总体带宽和S922是一样的,也是1-Socket为160GB/s(考虑双向),2-Socket为320GB/s(考虑双向)。

有了S922的经验,我们不难得出S924上I/O槽位的接插优先级当中的规律:先在独占的I/O槽位(C2-C4,C8,C9)里,根据所属的处理器芯片模块的不同,以及相关带宽的高低,进行一轮选择;然后再在那些非独占的I/O槽位(C5,C6,C7,C10,C12)里,根据所属的PCIe3 Switch(PEX)的不同,再进行一轮选择。

同样地,我们需要先确定那些带宽要求高的I/O卡的位置,然后再确定那些带宽要求不太高的I/O卡的位置。对于有外置I/O扩展柜的情形,我们需要留出高带宽且独占的I/O槽位,来接插相关的连接控制卡( # EJ20或 # EJ08)。针对具体的I/O卡,同样可以参照下面的网页来确定在S924 CEC机柜上的I/O槽位接插次序:
https://www.ibm.com/support/knowledgecenter/POWER9/p9eab/p9eab_914_924_slot_details.htm

顺便地,让我们来看一下外置I/O扩展柜的I/O结构。这是PCIe3 I/O扩展柜( # EMX0)的连接示意图:

以及PCIe3 I/O扩展柜内I/O槽位的带宽情况和它们的接插优先级:

每个PCIe3 I/O扩展柜包含两个Fanout Module,每个Fanout Module会和插在CEC机柜里的连接控制卡相接驳。不难发现,在每个Fanout Module里,那些PCIe3 I/O槽位都并非是独占的,它们将共享总线上的带宽,也就是受制于连接控制卡的输入带宽(64GB/s)。因而其I/O卡的接插优先级顺序,也将根据槽位所支持的带宽的高低,以及所属的Fanout Module的不同,来做一个选择。

针对具体的I/O卡,可以参照下面的网页来确定在PCIe3 I/O 扩展柜里的I/O槽位接插次序以及最大支持数量:

https://www.ibm.com/support/knowledgecenter/POWER9/p9eab/p9eab_emx0_slot_details.htm

从PCIe3 I/O扩展柜的例子中,我们得到的启示是,分析一个系统的I/O能力,不能简单地将系统满配时的每个I/O槽位所能支持的带宽进行一个累计,我们需要分析它们是独占的,还是共享的。如果是I/O槽位是共享的,那么用来共享的输入带宽的大小才是起决定性作用的。

这一点在PCIe3 Switch(PEX)上,也体现得非常明显。按照网页的描述,每个PEX有一条48 Lane,8GT/s的总线,也就是PCIe3 x48 at 8GT/s,其理论带宽为96GB/s。然而无论在E950上,还是在S924/S922上,处理器芯片模块向PEX的输入带宽,都只有32GB/s。

这一点还反映在中高端E950服务器和中低端S924服务器的区别上。虽然满配时它们都有11个I/O槽位,但系统总的I/O能力却是有着很大区别的,一个是630GB/s,另一个是320GB/s。所以,一分价钱一分货,对于I/O处理能力要求高的客户,还是应考虑选择E950服务器。

最后,让我们来看看IBM在今年七月发布的G Model(G Model在中国市场尚未发布)。

G Model针对的是低端的S924/S922/S914。很有意思的是,S922G也有11个I/O插槽,和S924G在I/O构成上几乎是一样的。

图中依次列示了从C2到C12这11个I/O槽位的带宽和来源芯片模块。S922G/S924G的第二个处理器芯片模块,支持的是C2-C4这三个I/O槽位,为其提供一个32GB/s和两个64GB/s的I/O接驳能力。而S924的第一个处理器芯片模块,支持一个PCIe4 x8槽位(C8),一个PCIe4 x16槽位(C9),以及两个PCIe4 Switch,为其提供三个32GB/s和一个64GB/s的I/O接驳能力。每个PCIe4 Switch,会支持1个PCIe4 x16槽位,2个PCIe4 x8槽位。另外,还支持一块内置SAS卡或者一个PCIe4 NVMe Pass-Through Card(每块卡拖带两个NVMe U.2 SDD插槽),外加一个USB控制器(下挂四个USB 3.0接口),分别提供一个64GB/s,三个32GB/s,和一个1GB/s的I/O接驳能力。

不难看出G Model和A Model的区别,PCIe3 Switch被换成了PCIe4 Switch。在G Model里,无论是独占的还是共享的,所有的I/O槽位都支持了PCIe4。当然,它们也接受Pcie3和PCIe2的板卡。

另外,在NVMe设备的支持方面:

  • A Model上的PCIe3 NVMe carrier card with two M.2 module slots( # EC59),在G Model上,被PCIe4 NVMe pass-through card with two U.2 module slots( # EJ1Q)所取代。
  • A Model上没有支持IBM i的NVMe M.2 Module,而在G Model上有支持IBM i的NVMe U.2 Module。
  • 在S922A/S914A/S924A上能插NVMe PCIe3 Adapter的最大数量分别是5,3,5(AIX/Linux)/ 3(IBM i),而在S922G/S914G/S924G上,这一数量分别提升至了10,7,10(AIX/Linux/IBM i)。
  • 四个NVMe U.2 Module,再加上最大10块NVMe PCIe3 Adapter,最终可以使得在一台G Model服务器上建构一个接近90TB的高速存储空间。

    这里给出NVMe设备的大致性能,显然,其性能远远超越机械硬盘。

    最后,G Model支持PEP2.0(Power Enterprise Pools 2.0 ),这一Power服务器的高端特性现在延展到了低端服务器上。用户可以购买8C以上的处理器核心,然后通过IBM云管理控制台和HMC在跨多个服务器的资源池内,按使用的分钟数来支付费用,以便更好地来利用那些额外的处理器核心时间。只可惜,PEP 2.0目前在中国大陆不被支持。

    以上就是我针对Power9服务器I/O槽位方面的信息汇编,其中难免有错误的地方,还请大家指正。

    谢谢!

    尾注:

    a 表明该I/O槽位支持CAPI 2.0

    b 表明该I/O槽位带有x16 Connector

    参考书目、网站与工具:

    1,《IBM Power System E950: Technical Overview and Introduction》

    https://www.redbooks.ibm.com/abstracts/redp5509.html?Open

    2,《IBM Power Systems S922, S914, and S924 Technical Overview and Introduction》

    https://www.redbooks.ibm.com/abstracts/redp5497.html?Open

    3,《IBM Power Systems S922, S914, and S924 Technical Overview and Introduction Featuring PCIe Gen 4 Technology》

    http://www.redbooks.ibm.com/abstracts/redp5595.html?Open

    4,IBM Offering Information

    https://www-01.ibm.com/common/ssi/SearchResult.wss?request_locale=en

    5,IBM Knowledge Center

    https://www.ibm.com/support/knowledgecenter/

    6,IBM System Planning Tool for Power processor-based systems

    https://www.ibm.com/support/pages/node/632531

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

4

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关资料

X社区推广