# EMLIO(Efficient Machine Learning I/O)
[[Hasibul Jamil]]・MD S. Q. Zulkar Nine・[[Tevfik Kosar]]が SC Workshops '25 で発表した、深層学習の学習データローディングのレイテンシと I/O エネルギー消費を同時に最小化するサービス型システム。ストレージノードに軽量なデータ配信デーモンを配備し、生サンプルをシリアライズ・バッチ化して TCP(ZeroMQ)経由でストリーミングし、クライアント側の [[NVIDIA DALI]] による GPU アクセラレーション前処理と統合する。(Source: [[@2025__SC Workshops__EMLIO - Minimizing I O Latency and Energy Consumption for Large-Scale AI Training]])
## アーキテクチャ
- ストレージ側: グローバルな Planner が TFRecord シャードメタデータと計算ノード一覧からバッチプランを生成し、各ストレージサーバの EMLIO デーモンが mmap でシャードを読み、msgpack でシリアライズしたバッチを ZeroMQ PUSH で送信する。
- 計算側: EMLIO Receiver が ZeroMQ PULL でバッチを受信し、BatchProvider が NVIDIA DALI の `external_source` としてデシリアライズ済みデータを公開、DALI パイプラインが GPU 上で前処理して PyTorch DDP の学習ループへ渡す。
- 設計原則は「ネットワーク–パイプライン並行性」「バッチ整合的なデータ並列プランニング」「線形の水平スケーラビリティ」の3つ。
- (Source: [[@2025__SC Workshops__EMLIO - Minimizing I O Latency and Energy Consumption for Large-Scale AI Training]])
## 評価結果
ローカルディスクから WAN(30ms RTT)まで、PyTorch DataLoader・NVIDIA DALI と比較して平均で最大8.6倍高速な I/O・10.9倍低いエネルギー使用を達成し、ネットワーク距離に依存しないほぼ一定の性能・エネルギープロファイル(±5%以内)を維持する。ローカルストレージでは DALI よりわずかに遅い(約2%)場合がある。(Source: [[@2025__SC Workshops__EMLIO - Minimizing I O Latency and Energy Consumption for Large-Scale AI Training]])
## 関連
- 本ソース: [[@2025__SC Workshops__EMLIO - Minimizing I O Latency and Energy Consumption for Large-Scale AI Training]]
- 統合先: [[NVIDIA DALI]]
- 開発者: [[Hasibul Jamil]] / [[Tevfik Kosar]]
## 出典
- [[@2025__SC Workshops__EMLIO - Minimizing I O Latency and Energy Consumption for Large-Scale AI Training]]