mdx: アカデミックHPC
クラウドmdxの紹介と今後の技術課題

空閑洋平 / Yohei Kuga
東京⼤学情報基盤センター
NII LLM研究開発センター(客員)sora@ds.itc.u-tokyo.ac.jp

本⽇の内容★HPCクラウド?
✩クラウド基盤(仮想マシン,仮想ネットワーク) + RDMAという意味なら、mdxはおそらくHPCクラウド★mdxのインフラ紹介★事例紹介: LLM-jpによるLLM事前学習クラスタ構築✩仮想システム+GPUクラスタの話が多いので、ニッチな話題かもしれません★HPCクラウド視点での課題と理想✩mdxとあまり関係ないかもですが…
PCクラスタワークショップ in すずかけ台2024

2023年9⽉29⽇

2

mdxとは★9⼤学2研究所が共同運営し,★全国共同利⽤に供する,★データ科学・データ駆動科学・データ活⽤応⽤にフォーカスした★⾼性能仮想化環境 https://mdx.jp/★@ 東京⼤学柏IIキャンパス

PCクラスタワークショップ in すずかけ台2024

2023年9⽉29⽇

3mdxハードウェアスペック
汎⽤CPUノード

Ice Lake （76仮想コア）x 2 x 368ノード
総理論演算性能(倍精度)︓2.1PFLOPS
総メモリバンド幅︓150.7TByte/秒

演算加速GPUノード
NVIDIA A100 x 8 x 40ノード
総理論演算性能(倍精度)︓6.4PFLOPS
総理論演算性能(半精度)︓100.7PFLOPS
総メモリバンド幅︓496.3TByte/秒

対外接続ルータ(Ethernet 400Gbps x2)

Ethernetネットワーク (100GbE/25GbE)

⾼速NVMeストレージ
Lustreファイルシステム（マルチテナント）
1.0PB (NVMe SSD)
252GByte/秒

x368

x40

外部共有オブジェクトストレージ
S3 Data Service
10.3PB
63.0 GByte/秒

RDMA/ストレージ/仮想ディスクストレージネットワーク (100GbE、RDMA通信⽤)

1.0PB

PCクラスタワークショップ in すずかけ台2024

16.3PB

⼤容量HDDストレージ
Lustre並列ファイルシステム（マルチテナント）
16.3PB
157.5GByte/秒

10.3PB

2024年6⽉27⽇

42021-09-22
2021-10-11
2021-10-30
2021-11-18
2021-12-07
2021-12-26
2022-01-14
2022-02-02
2022-02-21
2022-03-12
2022-03-31
2022-04-19
2022-05-08
2022-05-27
2022-06-15
2022-07-04
2022-07-23
2022-08-11
2022-08-30
2022-09-18
2022-10-07
2022-10-26
2022-11-14
2022-12-03
2022-12-22
2023-01-10
2023-01-29
2023-02-17
2023-03-08
2023-03-27
2023-04-15
2023-05-04
2023-05-23
2023-06-11
2023-06-30
2023-07-19
2023-08-07
2023-08-26
2023-09-14
2023-10-03
2023-10-22
2023-11-10
2023-11-29
2023-12-18
2024-01-06
2024-01-25
2024-02-13
2024-03-03
2024-03-22
2024-04-10

n_projects allocatedmdxプロジェクト(テナント)数
n_projects

140

120

100

80

60

40

20

0

datetotal

PCクラスタワークショップ in すずかけ台2024
2024年6⽉27⽇
5mdxソフトウェアスペック★仮想マシンと仮想ネットワークを導⼊✩インフラをプログラマブルに操作・管理✩1テナント = 1研究プロジェクトで管理し、テナント間で環境を分離
仮想マシン

コア機能はvmware

パブリッククラウドとしての機能は独⾃に追加

CPU・メモリ

内部SSDス
トレージ

オブジェクトストレージ

資源回収機能

ユーザポー
タル

学認による
ユーザ認証

GPU passthrough

⼤容量外部
ストレージ

VMテンプ
レート

課⾦機能

スポットVM

mdx API

仮想ネットワーク (独⾃設計)
NAT

ファイアウォール

PCクラスタワークショップ in すずかけ台2024

L2VPN(スパコンとの⾼速接続)

グローバルIP
アドレス

RDMA通信+仮想化

SINET6による⾼速外部接続

2024年6⽉27⽇

6外部接続ネットワーク★Virtual eXtensible LAN (VXLAN)によるオーバーレイネットワーク✩データセンター向けの仮想ネットワーク技術✩物理はSpine/LeafのIP Clos Fabric ネットワーク✩IPネットワーク上にVXLANでVLANを通す(Ethernet over IP)

VXLANオーバーレイ

外部接続ルータ

L3スイッチL3スイッチL3スイッチL3スイッチ

外部接続ルータ
100Gb
ps

100G/400G Coreルータ

L3スイッチ

100G多ポートSpineスイッチ

L3スイッチ...

L3スイッチL3スイッチ

25Gbps
ノード

ノード
VM

PCクラスタワークショップ in すずかけ台2024...

100G+25G多ポートLeafスイッチ

VLAN 10
ノード
VM

2024年6⽉27⽇

7

(外部接続ネットワーク・ユースケース)
IoT・センサーデータの蓄積・解析基盤の構築★NII SINETモバイルとの連携★mdxテナント単位でL3経路の設定が可能✩mdxコアルータでユーザセグメントごとのL3VRFを追加作成★その他、テナント単位でNII
L2VPNやパブリッククラウドとのVPN接続にも対応

SIM
端末

SIM
端末

SIM
端末

モバイルSINET(ローカルIPアドレス)
MNO/SINET6
ルータ

モバイル⽤
経路設定

外部接続

ユーザ⽤
経路設定

mdxユーザセグメント(ローカルIPアドレス)
mdx (仮想ネットワーク)

PCクラスタワークショップ in すずかけ台2024

2024年6⽉27⽇

8内部⾼速ネットワーク★RDMA over Converged Ethernet (RoCE) over VXLAN✩RoCE: RDMAをIPネットワーク越しに⾏う技術✩外部接続ネットワークと同様、IP ClosトポロジにVXLANを利⽤
Infinibandでは⼗分なテナント間の分離を実現できなかった✩各ノードのNICは100Gbpsで、ネットワークはフルバイセクション
VXLANカプセル化
EthIP

RoCEv2フレーム

UDP VXLAN Eth

ネットワークを流れるパケット

IP

UDP IB BTH

L3スイッチIB Payload

L3スイッチ...

L3スイッチ
200Gbps

VXLANオーバーレイ
L3スイッチEthIP

UDP IB BTH

L3スイッチ...

L3スイッチ

200G多ポートLeafスイッチ

100Gbps

IB Payload

VMの送信したRoCEv2フレーム

ノード
VM

PCクラスタワークショップ in すずかけ台2024

200G多ポートSpineスイッチ

...

ノード
VM

2024年6⽉27⽇

9(内部⾼速ネットワーク・ユースケース)
LLM-jpによるLLM事前学習クラスタの構築★2023/6) LLM-jpがmdx上で事前学習クラスタを構築開始✩ Nvidia A100 GPU (40GB) 128台を利⽤、GPU間はRDMAで通信★2023/10) 事前学習、チューニングしたLLM-jp-13Bモデルを公開✩ https://www.nii.ac.jp/news/release/2023/1020.html★以降は、⼩規模実験(スポットVM併⽤)、コーパスデータの収集などに利⽤
llm-jp-nvlink

CPUクラスタ
CPU VM
144 vCPU, 208GB MEM

外部システムと連携

x4ノード

外部ストレージ
モデルデータ書き出し用ス
トレージ: 450TB
データ用ストレージ: 150TBオブジェクト: 400TB

x16ノード
128GPUNFS (1TB), LDAP
サーバ VM
24 vCPU, 64GB MEM

ユーザの接続DNAT

Firewall ACL

GPUクラスタ

PCクラスタワークショップ in すずかけ台2024

GPU VM
128 vCPU, 460GB MEM
nvidia A100 40GB x8
NVSwitch

ログインVM(24vCPU, 36GB
MEM)

Ansible VM
アカウント管理
環境準備など2024年6⽉27⽇

10

LLM-jpでの今後の計算機利⽤計画

https://drive.google.com/file/d/1iL_cHpyIfqx4aKbs_xCNO8eSUnZ51Uq-/view?usp=drive_link
PCクラスタワークショップ in すずかけ台2024

mdxで発⽣した
LLMクラスタの構築時の様々なトラブル★RoCEの運⽤経験不⾜でクラスタ性能がボトルネックに★仮想マシンと今どきのGPU機能の相性が⼤変悪い
GPUノードRoCEv1RoCEv2

特定のネットワークスイッチにトラフィックが集中し，輻輳が発生

ネットワークスイッチトラフィックが分散し輻輳が改善

PCクラスタワークショップ in すずかけ台2024

2024年6⽉27⽇

12仮想マシンとGPUクラスタの相性が悪い★GPUクラスタのようなヘテロ構成が得意ではない✩IOがPassthrough接続だらけでVM運⽤の良さが失われる✩VMの仮想PCIeトポロジと物理トポロジの不⼀致✩仮想マシンでの扱いが難しい技術: GPUDirect, Intel PCM(PCIeリンク等の監視), VMへのNVSwitchの割り当て,など✩最近のGPUマシンはBIOSで仮想化⽀援機能が有効化できないもある★ワーカラウンドな対応✩物理マシン=1VMで運⽤、NCCLに物理PCIeトポロジを設定,など
PCクラスタワークショップ in すずかけ台2024

2024年6⽉27⽇

13仮想化システムでのRDMA対応★Linux Device Memory TCP (Google GPUDirect-TCPX)✩GPU-RDMA NIC連携事例。Google Cloud A3インスタンスで利⽤✩NICのHeader Split機能を使⽤して、NICメタデータ(Descriptor ring)はホストメモリのまま、受信パケットペイロードをGPUメモリに直接DMA•メタデータはホストメモリにあるため、既存のLinuxコマンドでGPU間トラフィックが観測可能
Lossy EthernetでRDMAできるため、既存の仮想システムの資源が利⽤可能
PCクラスタワークショップ in すずかけ台2024

SSD
HostCPU0x0

MMIO

PCI
BUS

GPU

Data

NIC
System
DRAM
CMD

Data

IO devices

PCI
MMCFG

Smart NIC

MMIO•

tx 52.56 Mbps 78.43 Kpps
rx 107.10 Mbps 82.03 Kpps
tx 80.38 Gbps 312.76 Kpps
rx 78.51 Gbps 1.32 Mpps
tx 79.89 Gbps 339.59 Kpps
rx 77.96 Gbps 1.31 Mpps
tx 80.81 Gbps 346.28 Kpps
rx 78.91 Gbps 1.35 Mppstx 78.58 Gbps 324.67 Kpps
rx 76.66 Gbps 1.28 Mpp

Memory map

enp0s12
enp0s12
enp12s0
enp12s0
enp134s0
enp134s0
enp140s0
enp140s0
enp6s0enp6s0CPU

CMD: パケットヘッダ+メタデータ
Data: パケットペイロードそのほかのLLM構築基盤でよくあるインフ
ラ側の課題をざっくばらんに…
★具体的な数値は今後LLM-jpから報告★GPUメモリサイズやモデルのパラメータ数が増え、データ、ファイルの取り扱いが隅々まで⼤変になることを実感✩例) LLM事前学習中のチェックポイントファイルのサイズが⼤きくなり、ストレージやネットワーク性能の要求、費⽤が跳ね上がる✩PCIe, RDMA通信のクレジットベースの輻輳制御に起因して、ノード内・ホスト間データリンク経路でバーストなトラフィックが発⽣★GPUDirect RDMAのようなCPUをバイパスするデータ転送が多⽤され、CPU側からの監視やパフォーマンス解析が困難✩構成にもよるが、メモリ帯域やPCIeリンク帯域に⼗分余裕がある想定が難しくなってきているため、様々なデータ転送経路の監視が必要
PCクラスタワークショップ in すずかけ台2024

2024年6⽉27⽇

15(個⼈的に) どのようなHPCクラウドが理
想か => ヘテロジニアス環境への対応★データセンタでは今後も様々な新デバイスが登場予定✩CXLメモリ, SmartNIC, Accerator等★クラウド技術がヘテロ構成に対応するためには、CPU・GPU・NIC・ストレージ等さまざまなデバイス連携を⾃由にオーケストレーションできることが望ましい✩現状は、GPUDirect RDMA, GPUDirect Storageのように個別ごとに機能が実装✩NICなどのデバイスが、データごとにDMA先を制御できるようになるとデバイス連携の幅が広がる。組み合わせ⽅は無数にある✩理想は、デバイスのメモリ領域についてもOSのメモリマネージャで管理し、ホストメモリと同等のレベルでmallocできるようになると、利⽤ユースケースが広がる?
PCクラスタワークショップ in すずかけ台2024

2024年6⽉27⽇

16

(個⼈的に) どのようなHPCクラウドが理
想か => ヘテロジニアス環境への対応★具体例: [ASPLOS23 BaM]
★GPU-SSD連携事例★NVMeコマンドのSQ/CQをホストメモリからGPUメモリに移動し、NVMeコマンド発⾏をGPUで実施

0x0
PCクラスタワークショップ in すずかけ台2024

MMIO

PCI
BUS

GPU

Data

CMD

NIC
System
DRAM
CMD

Data

IO devices

PCI
MMCFG
2024年6⽉27⽇

Smart NIC
MMIO

HostCPU

Memory map

SSD

CPU
17

まとめ
★mdxは、⼤学、研究機関、企業の⽅による {学術研究、教育、技術開発、社会実装}などに利⽤できます︕✩https://mdx.jp★LLM構築基盤では、GPUメモリサイズやモデルのパラメータ数の増加に伴って、ノード内・ノード間様々なデータ転送経路の性能確保、監視が重要★今後登場するであろう様々なデータセンタデバイスの使⽤したヘテロ構成への対応はまだまだ課題が多そう✩デバイス間連携のデザインパターンが⾒えてきている段階✩(1) ハードウェアのDMA先の制御機能 (2)OSメモリマネージャによるハードウェアメモリの払い出し (3)アプリケーションレベルのデバイス連携のオーケストレーション対応、などが理想?
PCクラスタワークショップ in すずかけ台2024

2024年6⽉27⽇

18