Open4

PCI Express

Kota UENISHIKota UENISHI

結局 PCIe 5.0 で帯域どれだけでんの?????がいつもわからない

参考

https://blog.ocworks.com/archives/52154384/
https://www.paltek.co.jp/techblog/techinfo/250331_01
https://ja.wikipedia.org/wiki/PCI_Express

早見表(Wikipediaより)

データレーン層転送帯域幅 (双方向/片方向) (GB/s)

レーン幅 x1 x2 x4 x8 x12 x16 x32 x64
Gen1 0.5/0.25 1.0/0.5 2.0/1.0 4.0/2.0 6.0/3.0 8.0/4.0 16.0/8.0 N/A
Gen2 1.0/0.5 2.0/1.0 4.0/2.0 8.0/4.0 12.0/6.0 16.0/8.0 32.0/16.0
Gen3 1.969/0.9846 3.938/1.969 7.877/3.938 15.75/7.877 23.63/11.82 31.51/15.75 63.02/31.51
Gen4 3.938/1.969 7.877/3.938 15.75/7.877 31.51/15.75 47.26/23.63 63.02/31.51 126.0/63.02 252.1/126.0
Gen5 7.877/3.938 15.75/7.877 31.51/15.75 63.02/31.51 94.52/47.26 126.0/63.02 252.1/126.0 504.1/252.1
Gen6 15.13/7.563 30.25/15.13 60.50/30.25 121.0/60.50 181.5/90.75 242.0/121.0 484.0/242.0 968.0/484.0

物理レーン層転送帯域幅 (双方向/片方向) (GT/s)

レーン幅 x1 x2 x4 x8 x12 x16 x32 x64
Gen1 5.0/2.5 10/5.0 20/10 40/20 60/30 80/40 160/80 N/A
Gen2 10/5 20/10 40/20 80/40 120/60 160/80 320/160
Gen3 16/8 32/16 64/32 128/64 192/96 256/128 512/256
Gen4 32/16 64/32 128/64 256/128 384/192 512/256 1024/512 2048/1024
Gen5 64/32 128/64 256/128 512/256 768/384 1024/512 2048/1024 4096/2048
Gen6 128/64 256/128 512/256 1024/512 1536/768 2048/1024 4096/2048 8192/4096

これを素直に計算すると、 PCIe 5.0 は片方向 32GT/s * 130 bit = 520GB/s になるんだけど、↑の表では 3.9GB/s になっている。よくわからぬがペイロードということだろうか?

Kota UENISHIKota UENISHI

いや 1T = 1bit ということらしい
32Gbps => エラー訂正?符号のオーバーヘッドをひくと

32 Gbps * 128bit / 130bit / 8 = 3.94 GB/s

となって計算が合うのでそういうことなのだろう

https://www.kioxia.com/ja-jp/personal/ssd/exceria-pro.html

このあたりをみると

Gen4 x4 となっているので、片方向 64GT/s だせるので、片方向 7.8GB/s くらいということになる
実際そんな高性能なWriteを受けられないので、RW比率によるが最大 15GB/s くらいはPCIe で出せるということになる

Kota UENISHIKota UENISHI

ネットワークカード

光トランシーバーやスイッチの仕様で 400Gbps 世代のものがでているが、こちらは 400Gbps だすには Gen5 x8 の 512GT くらいは必要ということになる

CX7のデータシート
https://resources.nvidia.com/en-us-accelerated-networking-resource-library/connectx-7-datasheet

をみると、 1,2 or 4 ports で up to 32 lanes となっているので、 1ポートで Gen5 x8 レーンということだろう

SSD

CD8P は x4 で128GT/s出せる

https://www.kioxia.com/ja-jp/business/ssd/data-center-ssd.html

全体バランス

EPYC の新しいやつだとCPUソケットあたり 128レーンあるらしい
https://www.amd.com/ja/products/specifications/server-processor.html

割当例でいうとこれで 108ports

  • NIC x2 x16 : 2 CX7 2ports (200GB/s)
  • SSD x20 x4: 8 CD8P SSDs (200GB/s)

とかでSSDとNICでIO帯域のバランスのとれた構成になる。NICの帯域が大きすぎても使い切れないし、SSDの帯域が大きすぎると、ノード内のIOにしか使えなくてやっぱり余る(それでいいのかもしれないけど)
ざっくり 400G 1port につき SSD 4~5枚という感じか