Pegasusビッグメモリ

スーパコンピュータではじまる
これからのデータ科学・ビッグデータAI
筑波⼤学計算科学研究センター
建部修⾒

背景

演算性能とメモリサイズ
10000• 10年間で演算性能は170倍、メモリ容量は3.8倍
1000• データ駆動科学、AI駆動
科学では⼤問題• メモリサイズとストレージ性能が重要

100

Frontier
富岳
演算性能 [PFLOPS]

SummitOakforest-PACS/Cori

10

京• 不揮発性メモリの導⼊• 低消費電⼒、コストエ
フェクティブ1
2012
0.1

メモリサイズ [PB]
2014

2016

Summit2018

富岳 Frontier

2020

2022

Pegasusの設計⽬標• ⾼帯域⼤容量メモリと超⾼速ストレージによるHPC、ビッグデータ解析、超⼤規模AIの促進• 不揮発性メモリを活⽤した⼤規模データ解析の新分野、ビッグデータAIの新⽤途、システムソフトウェア研究などの育成

不揮発性メモリ（PMEM）• DRAMより⼀桁上の容量・コストパ
フォーマンス• 最低遅延60ns程度（DRAMとほぼ変わらない）
バンド幅• バンド幅はDRAMの半分程度
1 TB/s• メモリモード• アプリの性能をほぼ低下させずメモリ利⽤量を増加可能• ダイレクトモード• PMEMを直接利⽤可能。バイトアドレス可能な不揮発性メモリ、超⾼速ストレージとしての利⽤

DRAM

PMEM
SSD

1 GB/sHDD

1 MB/s
1 ns

1 μs

1 ms

遅延

Pegasusハイライト• 第4世代Xeon, H100 PCIe GPU, 不揮発性メモリを搭載• HPC、ビッグデータ解析、超⼤規模AIを強⼒に推進

現在鋭意導⼊中NEC LX B1000E Blade Enclosure

Pegasus仕様• 2022年Q4に導⼊• 全体性能• 120ノード, > 6.1 PFlops• 計算ノード仕様• 第４世代Intel Xeon SP（開発コード名Sapphire Rapids）• 51 TFlops NVIDIA H100 PCIe GPU• 128GiB DDR5 DRAM (282 GB/s)• Optane PM 300シリーズ（開発コード名Crow Pass）• 6 TB NVMe SSD (7 GB/s)

NEC LX 102Bk-6

200Gbpsフルバイセクション
第４世代

Xeon

H100 PCIeGPU

128GiB DDR5

• 相互結合網

Optane PM 300• 並列ファイルシステム

NVMe SSD 6 TB

• NVIDIA Quantum-2 InfiniBand(200 Gbps)フルバイセクション• 7.1 PByte DDN EXAScaler (40 GB/s)

120ノード不揮発性メモリの利⽤法
Optane PM 300シリーズ

DDR5• 不揮発性メモリはダイレクトモードで設定• 利⽤者は拡張メモリサイズ（P GiB）を指定
Optane PM 300シリーズ

DDR5
P GiB

DRAM容量 + P GiB のメモリ

不揮発性メモリ (devdax/fsdax)• MemVergeメモリマシンを⽤いたメモリ拡張

XSBenchベンチマーク (Optane PM 100)
モンテカルロニュートリノ輸送アルゴリズムの代理アプリ● メモリ使⽤量︓Large 5.6 GB, XL 120GB, XXL 252GB● メモリアクセスパターン︓ランダム読込●Swap
Swapは遅い

Memory Mode

⾼速MemVerge

MemVergeはメモリモードより14%⾼速PegasusとCygnusによる計算・解析サイクルの実現> 6.1 PFlops
GPUPmem

7.1 PBEXA Scalar

互いのログインノードでマウント（200 Gbps IB）

2.3 PFlops
GPUFPGA

2.4 PBEXA Scalarアドホック並列ファイルシステムの研究• 計算ノードのストレージで構成する
⼀時的な並列ファイルシステム• 並列ファイルシステムと計算ノードの性能ギャップを埋める• 不揮発性メモリを活⽤したCHFSアドホックファイルシステムを開発• 性能とスケーラビリティのためメタデータサーバ・逐次処理なし

CHFSの設計⽬標 [HPC Asia 2022]• 不揮発性メモリを活⽤• インメモリ永続KVSを利⽤• メタデータアクセスのオーバヘッドを極⼒軽減、スケーラブルに性能を向上させる• メタデータサーバなし• 逐次処理・集中データ構造なし• データアクセス性能をスケーラブルに向上させる• （バイト単位）チャンクに分割• 分散キーバリューストアを基盤とし集中データ構造をもたない設計

ファイルシステムの設計• 分散キーバリューストアにメタデータ、ファイルデータを保持
Key

Value

フルパス名＋チャンク番号

メタデータ

ファイルデータ

メタデータ（64 byte）
mode, uid, gid, size
chunk_size
mtime, ctime• チャンク数、全体のファイルサイズは保持しない• ディレクトリも同形式

CHFSのシステムアーキテクチャ
application
chfs lib
chfsd
pmem
application
chfs lib
chfsd
pmem

application
chfs lib
chfsd
pmem

application
chfs lib
chfsd
pmem

application

application

chfs libchfs lib

chfsd
pmem

chfsd
pmem

計算ノード

application
chfs libchfsd
pmem

application
chfs lib
chfsd
pmem

application
chfs lib
chfsd
pmem
application
chfs lib
chfsd
pmem

CHFSの実装• Mochi-Margo [JCST 2020]• https://mochi.readthedocs.io/en/latest/• Mercury, Argobots等を⽤いた通信ライブラリ• Mercury [Cluster 2013]• ⾮同期RPC, RDMA通信ライブラリ• libfabric, UCX, 共有メモリプラグイン• Arogbots [IEEE TPDS 2018]• 軽量スレッドライブラリ• pmemkv• インメモリ永続KVS

性能評価• IO500ベンチマーク• BW: IOR easy/hard – 4 benchmarks• MD: MDtest easy/hard, Find – 8 benchmarks• スコアはベンチマーク結果の幾何平均• 4ノードPMEMクラスタと
78-node Cygnusスーパコンピュータ
3,901 B
IOR hard
47,008 B

MDtest hard

IO500バンド幅 (CHFS/DAOS/GekkoFS)
1ノード 3ノード
2ノード 4ノード
CHFS GekkoFS
DAOS

CHFS

GekkoFS
DAOSより9.9倍⾼いGekkoFSより6.0倍⾼いDAOS

IO500メタデータハード (CHFS/DAOS/GekkoFS)

DAOSより6.0倍⾼いGekkoFSより4.4倍⾼いCHFS
GekkoFSDAOSIO500バンド幅スコア on Cygnus (CHFS/BeeOND/GekkoFS)
27.2 GiB/s

64ノード

20.2 GiB/s
32ノード

𝑆𝑐𝑜𝑟𝑒 =!

𝐸𝑊×𝐸𝑅×𝐻𝑊×𝐻𝑅

11.6 GiB/s
8.7 GiB/s

1.6

1ノード

1.4

1ノード

32ノード

64ノードはdevice busy
エラーで動作せず

0.5

IO500メタデータスコア on Cygnus (CHFS/BeeOND/GekkoFS)
1,160 K IOPS

64ノード

762 K IOPS

32ノード

𝑆𝑐𝑜𝑟𝑒 ="

𝐸𝑊×𝐸𝑆×𝐸𝐷×
𝐻𝑊×𝐻𝑆×𝐻𝑅×𝐻𝐷×𝐹𝐼𝑁𝐷

138 K IOPS

73
1 node32ノード

2139 K IOPS
5.8

#15 in 10 node list
#23 in full list

CHFS/Cacheの設計⽬標 [ESSA 2022]• ノードローカル不揮発性メモリを利⽤• ⾼いメタデータ性能、バンド幅、スケーラブルな性能• CHFSをベースにキャッシュ機能を追加• メタデータ性能を犠牲とせずバックエンド並列ファイル
システムと同期• 分かりやすく⼀貫性を緩和

Oakforest-PACSのIO500スコア
ハンド幅[GiB/s]

メタデータ[kIOP/s]

合計

Lustre21.4

88.78*

42.18*

IME

471.2521.85

101.48

⼀貫性の緩和
仮定

1. ⼊⼒データはジョブ実⾏中は変更されない
2. ジョブの新規エントリ作成は成功する3. ジョブが既存ファイルを更新するときはキャッシュ読込んでから4. 更新はフラッシュするまで反映されない（キャッシュファイルシステムをアクセスすれば分かる）
5. フラッシュはジョブ終了までに⾏われる

フラッシュ

並列ファイルシステム

ファイル操作の設計• ファイルオープン・読込• 右図（仮定1より）• キャッシュに存在すれば並列FSに対し更新の確認はしない• ファイル⽣成・書込• キャッシュに⽣成・書込（仮定2, 3, 4より）
• 並列FSは参照しないキャッシュに存在︖

yesopen/readno
並列FSに存在︖

noNo such entry

yes

キャッシュしてopen/readキャッシュ機構の設計• メタデータフラグの設計• ダーティフラグ – 更新を⽰す• キャッシュフラグ – 既存ファイルを⽰す• readdirで重複して返さないため• オープンフラグの設計

CHFSメタデータ
ダーティフラグ
キャッシュフラグ• キャッシュフラグ – ダーティではない書込みを⽰す• キャッシュしたファイルはクリーン

ファイルデータCygnus Pノードにおけるメタデータ性能（4ノード）
700

CHFS
CHFS/Cache

600
500
400
300
200
1000
MD-E-W MD-E-S MD-E-D

FIND

MD-H-W MD-H-S MD-H-R MD-H-D

オーバヘッドはFINDを除き3%以下。FINDは54%であったが、⼤きな問題ではない

Cygnusにおけるバンド幅（48ノード）
50

CHFS

CHFS
CHFS/Cache
BeeOND
Lustre

CHFS/Cache

4030

LustreBeeOND

20100
IOR-E-W

IOR-E-R

IOR-H-W

IOR-H-R

Lustreと⽐べIOR-Eは1.5〜1.6倍、IOR-H-Wは19〜20倍、IOR-H-Rは2.3〜2.5倍⾼速まとめ• Pegasusを2022年Q4に導⼊• データ駆動・AI駆動科学のための⾼い演算性能と⾼帯域⼤容量メモリ、超⾼速ストレージを提供• Cygnusとの密連結運⽤• CHFSアドホックファイルシステムの開発• 不揮発性メモリを活⽤しスケーラブルな性能を実現• 2021 June IO500 10ノードリストで15位、全体リストで23位• 2022/10/21 CHFS 2.0.0をリリース• https://github.com/otatebe/chfs• CHFS/Cacheキャッシング並列ファイルシステムの開発• ⼀貫性緩和でメタデータ性能問題を解決• バンド幅、メタデータ性能ともにバックエンドPFSを上回る