@Vengineerの戯言 : Twitter SystemVerilogの世界へようこそ、すべては、SystemC v0.9公開から始まった
はじめに
NVIDAのGPU(Ampere)およびCPU(GRACE)については、いろいろと調べました。 特に、下記のブログでは、NVIDIAの tick-tock戦略というのがわかりました。
また、NVIDIAのBluefield-3 について、下記のブログでさっらと書きました。
しかしながら、Bluefield-3より前って何も知らなかったので調べることにしました。
Bluefield とは?
Bluefield は NVIDIAが開発したものではなく、NVIDIAが買収した Mellanox が開発しました。先日リリースされた Bluefiled-2 は NVIDIAでは開発ではなく、Mellanox にて開発が行われてきたようです。 何故?そう言えるのかというのは、BluefieldとBluefield-2の datasheet を見れば明らかです。下記に、Bluefield, Bluefield-2, Bluefield-3 の datasheet からNetwork, PCIe, CPU, Memory について抜き出しました。BluefieldとBluefiled-2を比べると、Bluefield-2 では Network では 200Gb/sがサポートされた以外は大きな変更が無さそうです。Network部分は、ConnectX-5 から ConnectX-6 になったようです。 CPUコアは共に、Arm Cortex-A72 x8コアで、L2, L3 の構成も同じです。メモリの最大容量が32GB、PCIe switch bi-furcation with 8 downstream ports が追加された感じです。
一方、Bluefield-3 では、CPUコアが Cortex-A78 x16コア、PCIe が Gen5 でかつ x16、メモリがDDR5、メンテナンス用に1GbE、Storage用に M.2 / U.2 が追加されています。
Mellanox Bluefield : BlueField® SmartNIC for Ethernet
- ConnectX-5
- Dual-port 25GbE PCIe Gen4.0 x8
- Dual-port 100GbE PCIe Gen4.0 x16
- 8 or 16 Am A72 cores
- 1MB L2 cache per 2 cores
- 6MB 3 cache, sophisticaed eviction policies
- Single channel 4/8/16GB on-board DDR4 with ECC
- PeerDirect RDMA(aka GPUDirect) communication acceleration
- RDMA over Converged Thernet (RoCE)
NVIDIA Bluefield-2 DPU : Datasheet
- ConnectX-6
- Ethernet - Dual ports of 10/25/50/100Gb/s, or a single port of 200Gb/s
- InfiniBand - Dual ports of EDR / HDR100, or single port of HDR
- 8 or 16 lanes of PCIe Gen 4.0
- PCIe switch bi-furcation with 8 downstream ports
- Up to 8 Armv8 A72 cores
- 1MB L2 cache per 2 cores
- 6MB L3 cache with plurality of eviction policies
- Single DDR4 DRAM controller
- 8GB / 16GB / 32GB of on-board DDR4
- RoCE, Zero Touch RoCE
- ConnectX-7
- Ethernet : 1, 2, 4 ports with up to 400Gb/s onnectivity
- InfiniBand : Single port of NDR (400Gb/s), or dual ports of NDR200 / HDR (200Gb/s)
- 32 lanes of PCIe Gen 5.0
- PCIe switch bi-furcation of up to 16 downstream ports
- Non-transparent bridging (NTB) support
- Up to 16 Armv8.2+ A78 cores
- 8MB L2 cache
- 16MB LLC system cache
- 16GB on-board DDR5 memory
- M.2 / U.2 connectors options for direct attached storage
- 1 GbE out-of-band management port
- RoCE, Zero Touch RoCE
このスペックだけではわかりませんが、Cortex-A72 から A78 になったことにより、DynamIQ(DSU : DynamIQ Shared Unit)を利用することになります。 DSUでは、最大8コアをサポート。Bluefield-3は16コアなので少なくとも2つのDSUが必要です。DSUにはL3もあり、このL3にはコアグループに対応した区分ができるようです。 下記の記事によると、
DynamIQのL3キャッシュは、他の多くのプロセサのL3キャッシュとは異なり、コアグループに対応して区分されている。例えば通信制御の場合は、コアグループ1にデータプレーンの処理を行わせ、コアグループ2にコントロールプレーンの処理を行わせる。このような場合、L3キャッシュが共用であると、一方の処理のメモリアクセスで、他方の処理のデータがキャッシュから追い出されてしまうということが起こり、全体の処理性能が下がってしまう。
とういうことができるようです。これって、Bluefieldがやっていることにとってもお得な機能じゃないですか!
おわりに
今回は、NVIDIAの Bluefield について調べてみました。
Mellanox Bluefield => NVIDIA (Mellanox) Bluefiled-2 => NVIDIA Bluefield-3 と変化していますが、実質 Bluefield/Bluefield-2 => Bluefield-3 って感じですね。
関連記事