JLUG 2022（2022年12月9日）

NECのAI研究用スーパーコンピュータを支える
DDN Lustreを活用した大規模ストレージシステム
NEC デジタルテクノロジー開発研究所
シニアAIプラットフォームアーキテクト
北野 貴稔© NEC Corporation 2022

北野 貴稔KITANO TAKATOSHI• インド国民13億人が利用する世界最大の大規模生体認証システム（アドハー）を実現、警察・空港等を中心に生体認証PFを世界40か国へと展開• 機械学習の研究テーマリーダーを経て、現在は国内企業で最大規模となる「NECのAIスーパーコンピュータ」の企画・設計・開発・運用を統括• 担当の技術レイヤは全て。NECのAIスパコンの開発責任者として、HWの選定・調達から計算機基盤・SW基盤等のアーキ設計・開発・運用の全てを担当

2© NEC Corporation 2022

目次
1. NECのAIスーパーコンピュータの概要
2. NECのAIスパコンのストレージシステム

国内企業で最大規模となる
NECのAIスーパーコンピュータの概要

AIの学習では、多量のデータによる多数の試行錯誤が必要
深層学習の要求計算量が増大、試行錯誤のサイクルの短縮が競争力に直結・深層学習の要求計算量・データの増大で、学習が1回あたり数千時間と長時間化・AIスパコンがなければ、先進AIの研究開発は不可能な時代に

学習

AIモデル

数千回の試行錯誤
設計

5© NEC Corporation 2022

評価

国内企業で最大規模のAIスーパーコンピュータをFY22末に稼働
多数の試行錯誤を可能にするAI創出のための圧倒的な計算能力と多量の学習データを高速に取得可能な大規模ストレージがAIの競争力の源泉
コンピューティング

928基のNVIDIAのA100 GPU を搭載（580PFLOPS)
ネットワークNVIDIAの超高速・低遅延ネットワーク（200GbE)
ストレージ

DDN Lustreによる大規模・高速ストレージ（16PB）
6© NEC Corporation 2022

NECの全研究所での先進AI研究を強化、社会価値創造を加速
価値創造プロセス

NECの先進AI群
顔認証で世界No.1、機械学習の難関学会採択数で世界8位

社会課題

認識AI

分析AI

対処AI

画像認識
映像認識

言語・意味理解
データ分析
予測予兆検知最適計画
制御

全AI研究を加速

国内企業で最大規模となる
NECのAIスーパーコンピュータ
7© NEC Corporation 2022

社会価値

NECのAI研究用スーパーコンピュータの稼働状況
現在は20台のGPUサーバ(160GPU)がフル稼働、NECのAI研究者数百名が利用中
2023年3月に96台のGPUサーバー(768GPU)を追加し強化、先進AIの競争優位を実現
現在の利用状況
利用する
ユーザー

NECの研究者

利用する
研究者数

数百名

AIスパコンの利用率

100%

次期AIスパコン(A100が928基）
稼働時期

2023年3月

GPUの演算能力

国内企業
No.1

100⇒580 (PFLOPS)

グローバルテック企業に伍する競争力に！
8© NEC Corporation 2022

現在構築中の次期AIスパコン

AI研究のセンター・オブ・エクセレンスへ
価値創造プロセス

社会課題

見える化

分析

対処

社会価値

AI研究のセンター・オブ・エクセレンス

お客様パートナー

9© NEC Corporation 2022

AI研究者

AI研究
スパコン

社会価値創造NECのAI研究用スーパーコンピュータのストレージシステムについて

NECのAIスーパーコンピュータの全体システム構成の概要
Kubernetesを用いて最新の深層学習FWをジョブスケジューラで高効率で利用可能
先進HW・先端SWを密結合した設計で、高効率・利便性の高い分散学習システムに
AI研究者

NECのAIスーパーコンピュータの構成概要
ファイルコピー

データセット・学習プログラムの転送
公開鍵でのSSHログイン

GPUサーバー群

ストレージ
ゲートウェイノード

ワーカ
コンテナ

DDNストレージ
高速・小容量SSDFS(バッチ・インタラクティブ)

MPIマスタサーバー群

公開鍵でのSSHログイン…

ジョブによる学習プログラムの実行
ログインノード© NEC Corporation 2022

低速・大容量

マスタコンテナ

ジョブ操作

11

ワーカ
コンテナ

分散学習実行

ワーカ
コンテナ

HDDFS

928GPU

16PB

NECのAIスパコンのストレージシステムの構成の概要
DDNストレージ(Lustre) は全GPUサーバーからマウントされ全コンテナからアクセス可能
高IOPSのSSDの領域、大容量のHDDの領域から構成される、16PBの大規模分散ファイルシステム
高IOPSのSSD領域と大容量が必要なHDD領域を分離✓ NVMeで構成される高速領域とHDDによる大容量の通常領域を分離し構成

GPUサーバー群
ワーカ
コンテナ✓ 研究者の用途によって使い分けれるよう分離
高速領域・通常領域共にアーキテクチャは同一分散学習実行

ワーカ
コンテナ

…

✓ OSSのペア数でスケールアウトできるように構成

高速・小容量SSDFS

マスタコンテナ✓ OSSのペア数等は異なるがシステム上のアーキテク
チャは基本的に同じ

DDN Lustre

ワーカ
コンテナ

低速・大容量HDDFS

16PB

GPUサーバーとストレージの関係

12© NEC Corporation 2022

NECのAIスパコンのDDN Lustreの利用用途
分散深層学習での複数GPUサーバーからのデータ取得が主の利用用途
映像・画像・音声・テキスト等の大規模データを用いた学習で利用用途としては、AI研究者が分散深層学習用のAIストレージとして利用✓ 複数GPUサーバーから深層学習フレームワークがデータを分割して取得
AIの研究分野は多岐に渡り、映像・画像・音声・テキスト等の大規模データで学習
認識AI

画像認識
映像分析
音声分析

分析AI

言語・意味理解
データ分析
予測予兆検知
最適計画

制御

対処AI

I/O特性としては、Random Readが多い（データサイズは多様）✓ 研究者側のプログラムの多くはファイルシステムを直接利用、Lustreは便利
13© NEC Corporation 2022

深層学習フレームワークからのDDN Lustreの利用の仕方
PyTorch/TensorFlowは学習のメインプロセスとは別のWorkerが非同期にデータを取得
複数GPUサーバーで複数のデータ取得のプロセスがDDN LustreにRandom Readを行い学習実行

Main（学習）

Index

学習とは非同期

Worker

Index

Index

WorkerWorkerData

GPUサーバー14© NEC Corporation 2022

Index

Worker

データ取得

RandomRead

DDN
Lustre各種サーバー群とDDN Lustreを接続する高速ネットワーク
全NWはSpine/Leafアーキテクチャで構成し、RoCEv2で低レイテンシ・高バンド幅で通信可能
複数のGPUサーバーから高速にDDN Lustreと通信することが可能
Compute Network

Management Network

NVIDIA Spectrum SN3700 (200GbE)

NVIDIA Spectrum SN3700 (200GbE)

Spine

Leaf

Spine

Leaf

MPI
Master…

Spine

Spine M…

Leaf NMPI
MasterCPUサーバー

Leaf© NEC Corporation 2022

Leaf

GPUサーバー

DDN Storage Cluster (Lustre)
15

Spine

…

Spine M…

Leaf N

GPU
サーバー

GPUサーバー

Storage Network

RoCE v2でGPUサーバー・ストレージ間を低レイテンシ・高スループットで通信

RoCE v2を用いることで、GPUサーバー・ストレージ間の通信においてCPUをショートカットすることで、低遅延化・スループット向上
MemoryCPU

CPU

MemorySystemMemoryXeon
SPCPU

SystemMemory

RDMA無

x16

PCIe
Switch

PLX

x16

x16

NIC

16

© NEC Corporation 2022

200GbE

CX6

NIC
CX6

PLX

PCIe
SwitchRoCE v2

A100
SXM4

GPU

x16

SSD

GPUサーバーN

SSD

ストレージ

NECのAIスパコンのストレージシステムのアーキテクチャ
MDSがActive/Activeでメタデータ処理、OSSがActive/Activeでデータ管理し、高可用性・高信頼性を実現
メタデータの性能はDNEを用いて複数のMDSを使いスケール、データのスループットはOSSをNペア用意しスケールアウト

Lustre Clients・・・Interconnect (Ethernet)

複数のOSSを跨いだストライプI/O

OSS#1

分散メタデータ処理

OSS#2・・・ OSS#N

Active/Active Pair

OSS#N

MDS#1

Active/Active Pair

複数のOSTを跨いだストライプI/O
LUN#0
OST#0

LUN#1
OST#1

LUN#2
OST#2

....

LUN#N
OST#N

© NEC Corporation 2022

・・・

Active/Active w/DNE

LUN#0
MDT#0

DDNストレージクラスタ―（合計16PB)
17

MDS#2

LUN#1
MDT#1

....

LUN#N
MDT#N

複数のMDTを利用した分散メタデータ処理

Lustre DNEを用いたメタデータ性能のスケールアウト
ユーザー群を、複数のMDT数に合わせて自動分散配置する機能をNEC側で開発
DNEにより複数のMDSを活用してMetadata性能をスケールアウト、大規模FSの性能向上

以下はDNEのイメージ例 (ディレクトリ名は仮）• 配置に関しての設計を事前に行う必要があり、今後Lustreのレベルでの改善を期待したい• 一部は今後Lustreの機能で自動化見込み

rootFile

dir1

FileDir

MDT1

18© NEC Corporation 2022

dir2

Dir

MDT0

File

dirN

Dir

File
MDT2

Dir

MDT N

EXAScaler T10PI End-to-End Data Integrityによるデータ保護
RoCE v2はプロトコル的にパケットのDropがあり得、スイッチ・NIC・ドライバ等も含めた大規模ネットワークのデバッグが困難
End-to-End Data IntegrityによりクライアントとストレージでLustreチェックサムCRCによる検証が出来、問題切り分けが容易に

Write()

アプリケーション

EXA5
クライアントRead()
Lustreチェックサムの検証(if CRC’ = CRC)

セクター(4KB)毎にPIを計算
１つのRPCに含まれるすべてのPIに基づき
LustreチェックサムCRCをRPC毎に計算

DDCRC… D

D

D… D

CRC'

CRC

クライアントが受信したRPCのPIに基づきLustreチェックサムCRC’を計算

RPC送信時に計算されたチェックサムCRCを付与

ネットワークサーバが受信したRPCのPIに基づきLustreチェックサムCRC’を計算

D

EXA5サーバ

D

… D

CRC'

HBAにてセクター毎のデータとPIを検証しPIをデータに含めSFAに転送

SFAストレージ
D19© NEC Corporation 2022

D

… D

RPC リクエスト

CRC

Lustreチェックサムの検証(if CRC’ = CRC)

SFAコントローラは受信したデータおよびPIを検証しディスクドライブに保存

D

D

RPC送信時に計算されたチェックサムCRCを付与… D

CRC
PIからLustreチェックサムCRCを計算

HBAにてセクター毎のデータとPIを検証

D

D

… D

SFAコントローラはディスクに保存されているデータおよびPIを検証

DDNのストレージアプライアンスの高可用性
DDNのストレージアプライアンスは、各コンポーネントが冗長構成に全サーバーからの集中利用に耐えうる高い可用性が実現されている
Network① ネットワークの冗長性

File Service
Fail over

障害時は別ポートでのアクセス② ファイルサービスの冗長性③ コントローラの冗長性
ControllerがActive/Activeで動作

FailMDS/OSS
VM

FailMDS/OSS
VM

ICL⑤ エンクロージャ IO Module
障害時のFailover
20© NEC Corporation 2022

MDS/OSS
VM

Controller
FailSAS HBA④⑤

IO Module

MDS/OSSVM

SAS HBA

Controller Fail over

Fail

①Controller③④ SAS HBA障害時のFailover

Fail②

④⑤

2x SAS Cable

IO Module効率的・安定的なストレージを支えるモニタリングシステム
DDN Lustreのスループット・メタデータ性能を、DDN Monitoring ToolのInfluxDBからデータを取得し、自社のGrafanaに統合することで、DDNストレージをモニタリング

Grafana
Oncall

モニタリングシステム
・GPUサーバー群
・スイッチ群
メトリクス取得

ExportersAlertmanager
アラート通知Prometheus

Remote Write

DDNストレージ（DDN Lustre）
InfluxDB

21© NEC Corporation 2022

Slack

Victoria Metrics

GrafanaEmail何故DDN Lustreを採用したのか？
①高いスケーラビリティ、②実証された実性能の高さ、 ③ファイルシステムとして扱えコード変更が不要、④性能モニタリングの容易性 これらが採用の決め手
Lustreはメタデータ性能とデータ処理性能の双方が、リニアにスケールアウト可能なアーキテクチャ✓ メタデータの性能は、Lustre DNEを用いてディレクトリ配置を工夫すれば、MDT数に応じて処理性能向上✓ データの容量やスループットは、OSSのペアを複数用意することで、リニアに容量・性能が向上
多様なI/Oワークロードにおいてスループット・IOPS共に高い要求水準をクリア✓ NECでは画像・映像認識、言語・意味理解、データ分析、予測予兆検知、最適計画・制御等のAIを開発✓ 画像、映像、音声、テキスト等の多様かつ大規模なI/Oのワークロードを高い水準で扱えたからLustreはファイルシステムとしてマウント可能、AI研究者が既存コードの変更必要なし✓ 多くの研究者はGPUサーバー上にて、ファイルシステム上のデータにアクセスするプログラムを実装✓ Lustreはファイルシステムとしてマウントが可能で、既存コードの移行が容易
Lustreのメトリックによる性能のモニタリングが可能で、I/Oの多いユーザー・プログラムの特定が可能
22© NEC Corporation 2022