## 概要
- **発表者**: 北野 貴稔(NEC デジタルテクノロジー開発研究所 シニアAIプラットフォームアーキテクト)
- **イベント**: JLUG 2022(2022年12月9日)
- **テーマ**: DDN Lustreを活用した大規模ストレージシステム
## NECのAIスーパーコンピュータの概要
### AIの学習における課題
- 深層学習の要求計算量が増大、試行錯誤のサイクルの短縮が競争力に直結
- AIスパコンがなければ、先進AIの研究開発は不可能な時代に
- 深層学習の要求計算量・データの増大で、学習が1回あたり数千時間と長時間化
- 数千回の試行錯誤が必要
### システム仕様
- **GPU**: 928基のNVIDIA A100 GPU を搭載(580PFLOPS)
- **ストレージ**: DDN [[Lustre]]による大規模・高速ストレージ(16PB)
- **ネットワーク**: NVIDIAの超高速・低遅延ネットワーク(200GbE)
- **稼働時期**: FY22末(2023年3月)
- **利用者**: 数百名のNECの研究者
- **利用率**: 100%
- **規模**: 国内企業No.1
### 対象AI研究分野
- **認識AI**: 画像認識、映像認識、言語・意味理解
- **分析AI**: データ分析、予測予兆検知
- **対処AI**: 最適計画、制御
## NECのAIスパコンのストレージシステム
### 全体システム構成
- Kubernetesを用いて最新の深層学習FWをジョブスケジューラで高効率で利用可能
- 先進HW・先端SWを密結合した設計で、高効率・利便性の高い分散学習システム
### DDN Lustreストレージの構成
#### 階層化ストレージ
- **高速領域(SSD)**: NVMeで構成、高IOPSが必要な用途
- **通常領域(HDD)**: 大容量が必要な用途
- 研究者の用途によって使い分け可能
#### スケーラビリティ
- OSSのペア数でスケールアウト可能
- 高速領域・通常領域共にアーキテクチャは同一
- 総容量16PBの大規模分散ファイルシステム
### 利用用途とI/O特性
- 分散深層学習での複数GPUサーバーからのデータ取得が主用途
- 映像・画像・音声・テキスト等の大規模データを用いた学習
- **I/O特性**: Random Readが多い(データサイズは多様)
- PyTorch/TensorFlowは学習のメインプロセスとは別のWorkerが非同期にデータを取得
### ネットワーク構成
- 全NWはSpine/Leafアーキテクチャで構成
- RoCEv2で低レイテンシ・高バンド幅で通信可能
- NVIDIA Spectrum SN3700(200GbE)
### RoCE v2の利点
- GPUサーバー・ストレージ間の通信においてCPUをショートカット
- 低遅延化・スループット向上を実現
## ストレージシステムのアーキテクチャ
### Lustre構成
- **MDS**: Active/Activeでメタデータ処理
- **OSS**: Active/Activeでデータ管理
- 高可用性・高信頼性を実現
- DNEを用いて複数のMDSでメタデータ性能をスケール
### Lustre DNE(Distributed Namespace)
- メタデータ性能のスケールアウト
- ユーザー群を複数のMDT数に合わせて自動分散配置(NEC独自開発)
- 複数のMDSを活用してMetadata性能をスケールアウト
### データ保護
#### EXAScaler T10PI End-to-End Data Integrity
- RoCE v2のパケットDrop対策
- クライアントとストレージでLustreチェックサムCRCによる検証
- 大規模ネットワークのデバッグ・問題切り分けが容易
### 高可用性
DDNストレージアプライアンスの冗長構成:
1. ネットワークの冗長性
2. ファイルサービスの冗長性
3. コントローラの冗長性
4. SAS HBA障害時のFailover
5. エンクロージャ IO Module障害時のFailover
## モニタリングシステム
- DDN Monitoring ToolのInfluxDBからデータを取得
- 自社のGrafanaに統合してDDNストレージをモニタリング
- スループット・メタデータ性能を監視
- Slack/Emailでアラート通知
## DDN Lustre採用の理由
### 1. 高いスケーラビリティ
- メタデータ性能とデータ処理性能の双方がリニアにスケールアウト可能
- Lustre DNEでディレクトリ配置を工夫すればMDT数に応じて処理性能向上
- OSSのペア数でデータの容量・スループットがリニアに向上
### 2. 実証された実性能の高さ
- 多様なI/Oワークロードにおいてスループット・IOPS共に高い要求水準をクリア
- 画像、映像、音声、テキスト等の多様かつ大規模なI/Oワークロードを高い水準で処理
### 3. ファイルシステムとして扱え、コード変更が不要
- 多くの研究者はファイルシステム上のデータにアクセスするプログラムを実装
- Lustreはファイルシステムとしてマウント可能
- 既存コードの移行が容易
### 4. 性能モニタリングの容易性
- Lustreのメトリックによる性能のモニタリングが可能
- I/Oの多いユーザー・プログラムの特定が可能
## 技術スタック
- **計算**: NVIDIA A100 GPU × 928基
- **ストレージ**: DDN Lustre(16PB)
- **ネットワーク**: NVIDIA Spectrum SN3700(200GbE、RoCEv2)
- **コンテナオーケストレーション**: Kubernetes
- **モニタリング**: Grafana、InfluxDB、Prometheus
- **ファイルシステム**: Lustre with DNE