PCI Express
結局 PCIe 5.0 で帯域どれだけでんの?????がいつもわからない
参考
早見表(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 になっている。よくわからぬがペイロードということだろうか?
いや 1T = 1bit ということらしい
32Gbps => エラー訂正?符号のオーバーヘッドをひくと
32 Gbps * 128bit / 130bit / 8 = 3.94 GB/s
となって計算が合うのでそういうことなのだろう
このあたりをみると
Gen4 x4 となっているので、片方向 64GT/s だせるので、片方向 7.8GB/s くらいということになる
実際そんな高性能なWriteを受けられないので、RW比率によるが最大 15GB/s くらいはPCIe で出せるということになる
ネットワークカード
光トランシーバーやスイッチの仕様で 400Gbps 世代のものがでているが、こちらは 400Gbps だすには Gen5 x8 の 512GT くらいは必要ということになる
CX7のデータシート
をみると、 1,2 or 4 ports で up to 32 lanes となっているので、 1ポートで Gen5 x8 レーンということだろう
SSD
CD8P は x4 で128GT/s出せる
全体バランス
EPYC の新しいやつだとCPUソケットあたり 128レーンあるらしい
割当例でいうとこれで 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枚という感じか
PCIe 7.0は512GB/sで8.0はさらにその倍