Vengineerの戯言

人生は短いけど、長いです。人生を楽しみましょう!

Mellanox Bluefield => Mellanox(NVIDIA) Bluefield-2 => NVIDIA Bluefield-3

@Vengineerの戯言 : Twitter SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

はじめに

NVIDAのGPU(Ampere)およびCPU(GRACE)については、いろいろと調べました。 特に、下記のブログでは、NVIDIAの tick-tock戦略というのがわかりました。

vengineer.hatenablog.com

また、NVIDIAのBluefield-3 について、下記のブログでさっらと書きました。

vengineer.hatenablog.com

しかしながら、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

NVIDIA Bluefield-3 brief

  • 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がやっていることにとってもお得な機能じゃないですか!

news.mynavi.jp

おわりに

今回は、NVIDIAの Bluefield について調べてみました。

Mellanox Bluefield => NVIDIA (Mellanox) Bluefiled-2 => NVIDIA Bluefield-3 と変化していますが、実質 Bluefield/Bluefield-2 => Bluefield-3 って感じですね。