## Memo
[[2019__SC__LPCC - Hierarchical Persistent Client Caching for Lustre]] の拡張版。SSD-LPCCのキャッシュメディアをNVMMに変更し、NVMM向けファイルシステム(NOVA、EXT4-DAX、PMFS)との統合を設計した論文。
## Memo with LLM
### 論文情報
- **論文のタイトル**: NVMM-Oriented Hierarchical Persistent Client Caching for Lustre
- **著者と所属**:
- Wen Cheng (Huazhong University of Science and Technology)
- Chunyan Li (Huazhong University of Science and Technology)
- Lingfang Zeng (Zhejiang Lab / Huazhong University of Science and Technology) ※corresponding author
- Yingjin Qian (DataDirect Networks / DDN)
- Xi Li (DataDirect Networks / DDN)
- André Brinkmann (Johannes Gutenberg University Mainz)
- **カンファレンス/ジャーナル名**: ACM Transactions on Storage (TOS)
- **発表年**: 2021(Vol. 17, No. 1, Article 6, January 2021, pp. 1–22)
### 論文概要
本論文はLustreファイルシステム向けのNVMMベース階層型永続クライアントキャッシュ(NVMM-LPCC)を提案する。SC'19で発表したSSD-LPCCを拡張し、フラッシュSSDに替えてNVMM(Non-Volatile Main Memory)をキャッシュ媒体として採用することで、読み書きスループット・IOPS・レイテンシの大幅改善とクライアント数に対する線形スケーラビリティを実現した。評価ではネイティブLustreと比較して平均読み取りスループット最大35.80倍、平均書き込みスループット最大9.83倍を達成した。
### 詳細解説
#### 問題設定
- **入力**: Lustreファイルシステムに対するI/Oリクエスト(read/write操作)
- **出力**: クライアントノードのNVMMを活用した高速なI/O応答
- **前提条件**: クライアントノードにNVMM(Intel Optane等のNVDIMMなど)が搭載されている
- **課題**: HPCクラスタではLustreなどの並列ファイルシステムが広く利用されているが、ストレージメディアはクライアントクラスタと物理的に分離されており、ネットワーク遅延やリソース競合が生じる。先行研究のSSD-LPCCではSSDを用いてクライアント側キャッシュを構築したが、通常のフラッシュSSDはキャッシュ媒体として性能限界があり、読み書きレイテンシ・スループット・IOPSおよびスケーラビリティの改善が不十分であった。NVMMはSSDよりはるかに低レイテンシ・高スループット・高IOPSを提供でき、HPCアプリケーションの高性能要求をより良く満たす。
#### 提案手法
##### アーキテクチャ
NVMM-LPCCはSSD-LPCC(LPCCの先行研究)の設計を基盤として、キャッシュ媒体をNVMMに置き換える。主なコンポーネントは以下の通り:
- **Llite層のキャッシュファイル情報構造体**: LustreのLlite層にキャッシュファイル情報を格納するデータ構造を設計。これによりNVMM-LPCCは各種高性能ローカルファイルシステム(NOVA、EXT4-DAX、PMFS等)を容易に統合してローカルキャッシュデータを管理できる
- **Policy Engine**: UID/GID/ProjectIDなどに基づくルールベースのキャッシュ配置ポリシーを管理
- **PCC Switch**: キャッシュI/Oと通常I/Oの切り替えを担う
- **Copytool**: LustreのHSMのCopytoolを再利用し、ローカルNVMMキャッシュとOST間のデータ同期を行う
- **NVMMローカルファイルシステム**: EXT4-DAX、PMFS、NOVAのいずれかを用いてNVMMをバックエンドキャッシュとして管理
3つのNVMM-LPCCスキームとして**EXT4-DAX-LPCC**、**PMFS-LPCC**、**NOVA-LPCC**が実装された。また、標準EXT4でNVMMを管理する**EXT4-LPCC**もNVMMファイルシステム最適化の影響を比較するために評価された。
##### 2つのキャッシュモード
**RW-NVMM-LPCC(Read-Write モード)**:
- データアクセスが単一クライアントに集中する場合にデータ局所性の原則を最大限活用
- キャッシュが直接クライアントアプリケーションの読み書きアクセスを提供
- ファイルはLustreのHSM archiveとしてクライアントのローカルNVMMに格納
- LustreレイアウトロックによりOST上のデータ整合性を保証
- OST上のファイルデータはキャッシュ後にクリアされ、MDT上のHSMステータスがarchivedに設定される
**RO-NVMM-LPCC(Read-Only モード)**:
- 複数クライアントが同一の読み取り専用データにアクセスする場合に読み取りキャッシュをサポート
- データは複数クライアントのNVMMにレプリカとして配布され、複数クライアントに対して同時に読み取りサービスを提供
- RW-NVMM-LPCCと異なり、OST上にもデータが保持される
- ファイルに初めてアクセスする際はOSTからクライアントへデータコピーが必要だが、2回目以降はローカルファイルシステム経由でアクセス
##### LustreのHSMとの統合
NVMM-LPCCはLustreのHSM機構を再利用してグローバル名前空間を維持し、クライアントキャッシュ層とサーバストレージ層間のデータ同期を実現する。HSMメカニズムにおいて、Lustreサーバ側ストレージ層を「遅い」ストレージ層、クライアント側永続キャッシュ層を「速い」ストレージ層として扱う。
- **Attach(キャッシュへの格納)**: HSMのarchive操作によりOSTからローカルNVMMにデータをコピー。その後、OST上のファイルデータはクリアされ、MDTのHSMステータスがarchivedに設定される
- **Detach(キャッシュからの削除)**: HSMのrestore操作によりローカルNVMMからOSTにデータを書き戻す
##### レイアウトロック機構との統合
LustreのレイアウトロックはNVMM-LPCCの整合性保証の中核となる。MDSはexclusiveモードロックを取得してファイルデータオブジェクトをOST上でリリースする。これによりキャッシュされたデータと通常Lustreアクセスとの間の整合性・有効性が保証される。他クライアントがキャッシュ済みファイルにアクセスしようとするとレイアウトロックのrevocationが発生し、detach(OSTへのデータ書き戻し)が実行される。
##### NVMMとSSDベースLPCCの比較
- NVMMはフラッシュSSDと比較してはるかに低いアクセスレイテンシ、高いスループット、高いIOPSを持つ
- SSD-LPCCでは読み書きレイテンシ・スループット・IOPSの改善が部分的に不満足であったが、NVMM-LPCCはこの課題を解決
- NVMM-LPCCはSSD-LPCCと比較して平均読み取りスループットで最大10.39倍、書き込みスループットで最大4.40倍高い性能を示す
- NVMMはDAX(Direct Access)モードをサポートするため、EXT4-DAX、PMFS、NOVAなどのNVMM最適化ファイルシステムと組み合わせることでさらに高い性能を発揮
#### 新規性
既存手法との比較:
| 手法 | 課題 |
|------|------|
| 標準Lustre | ネットワーク遅延・LDLMロックのオーバーヘッドが避けられない |
| SSD-LPCC(SC'19) | SSDの性能限界によりレイテンシ・スループット・IOPSの改善が不十分 |
| FS-Cache等 | NVMMを活用したHPC向け永続キャッシュとして設計されていない |
NVMM-LPCCの新規性:
1. LustreクライアントキャッシュとしてNVMMを活用する設計を初めて提案
2. LliteレイヤーのキャッシュファイルDB構造によりNOVA/EXT4-DAX/PMFS等の複数NVMMファイルシステムを容易に統合
3. RW/ROの2モードによる柔軟なNVMMキャッシュ管理
4. 既存のHSM・レイアウトロック機構の再利用により整合性保証を維持
#### 実験設定
##### 実験環境
論文からの記載情報:
- **OS**: Linux(Lustre対応バージョン)
- **ベンチマーク対象NVMMファイルシステム**: EXT4-DAX、PMFS、NOVA、EXT4(比較用)
- **比較対象**: SSD-LPCC(フラッシュSSDベース)、ネイティブLustre、EXT4-LPCC
##### ベンチマークツールと設定
- **Fio**:
- I/Oエンジン: syncモード
- プロセス数: 1
- 読み書きブロックサイズ: 1KB、4KB、64KB、512KB、1MB、4MB
- 総データ量: 50GB(DRAMのページキャッシュの影響を排除するため)
- 評価指標: システムスループット、IOPS、レイテンシ
- **IOR** (FPPモード):
- スケーラビリティ評価でクライアント数を1〜8に変化
- 各クライアントが50GBのファイルにアクセス
- I/Oブロックサイズ: 1MB
- RO-NVMM-LPCCでは読み取り専用モードでキャッシュ済みファイルにアクセス
#### 実験結果
##### シングルクライアント読み取り性能(RW-NVMM-LPCC、Fio)
ネイティブLustreと比較したスループット倍率(平均):
| 手法 | 読み取りスループット倍率 | 読み取りIOPS倍率 | 読み取りレイテンシ削減率 |
|------|------|------|------|
| SSD-LPCC | 2.23× | 2.75× | 70% |
| EXT4-LPCC | 7.23× | 7.18× | 88.2% |
| EXT4-DAX-LPCC | 34.50× | 34.48× | 97.2% |
| PMFS-LPCC | 33.08× | 33.08× | 97.1% |
| NOVA-LPCC | **35.82×** | 35.7× | 97.3% |
##### シングルクライアント書き込み性能(RW-NVMM-LPCC、Fio)
ネイティブLustreと比較したスループット倍率(平均):
| 手法 | 書き込みスループット倍率 | 書き込みIOPS倍率 | 書き込みレイテンシ削減率 |
|------|------|------|------|
| SSD-LPCC | 0.97× | 0.99× | 48.9% |
| EXT4-LPCC | 3.94× | 4.02× | 75.1% |
| EXT4-DAX-LPCC | 5.39× | 5.51× | 68.3% |
| PMFS-LPCC | 9.69× | 9.88× | 86.6% |
| NOVA-LPCC | **9.65×** | **9.83×** | 84.26% |
- ブロックサイズが小さい(1KB、4KB)場合、システムコール頻度が高くなりカーネルへのトラップオーバーヘッドが支配的となるため、NVMMの性能優位が十分に発揮されない
- ブロックサイズが64KB以上になると、EXT4-DAX-LPCC・PMFS-LPCC・NOVA-LPCCの性能が大幅に向上して安定する
##### NVMM vs SSD の比較(対SSD-LPCC)
NVMM-LPCCはSSD-LPCCと比較して:
- 平均読み取りスループット: 最大**10.39倍**高い(NOVA-LPCC vs SSD-LPCC)
- 平均書き込みスループット: 最大**4.40倍**高い(PMFS-LPCC/NOVA-LPCC vs SSD-LPCC)
##### スケーラビリティ評価(RO-NVMM-LPCC、IOR FPPモード)
クライアント数1〜8でのスケーラビリティ:
- NVMM-LPCCおよびSSD-LPCCはクライアント数増加に対してスループットが**線形に増加**
- ネイティブLustreのスループットはクライアント数が増えても約110 MiB/sのままでほぼ変化なし
- NVMM-LPCCはSSD-LPCCに対しても大幅な性能優位を示す
ネットワーク輻輳とI/O輻輳がクライアント数が少ない段階で既に発生しており、大規模HPCインストールでは同様の挙動が見られることを推測可能。クライアントノード数がサーバノード数を大幅に上回る場合、キャッシュあり/なしの性能差はクライアントノード数に対して線形に拡大する。
#### 考察
##### 結果の解釈
- NVMMはDAXモードによりページキャッシュを経由せずバイトアドレッサブルなアクセスが可能であり、SSDと比較して劇的なレイテンシ削減を実現する
- NOVA-LPCCがEXT4-DAX-LPCCより読み取りで僅かに優れるのは、NOVAがNVMM向けに最適化されたファイルシステムであるためと考えられる
- EXT4-DAX-LPCCの書き込み性能(5.39倍)がPMFS-LPCC(9.69倍)やNOVA-LPCC(9.65倍)より劣るのは、EXT4-DAXの書き込みパスの実装差異による
- ブロックサイズが小さい場合にNVMMの優位が現れにくいのは、POSIX read()/write()によるシステムコールオーバーヘッドがボトルネックになるためであり、NVMMの高性能はより大きなブロックサイズで完全に発揮される
##### 優位性の根拠
- Lustre HSMとレイアウトロックの再利用により、既存エコシステムとの互換性を維持
- NVMMのDAXアクセスによりDRAMに近い性能を達成
- ローカルNVMMキャッシュへのアクセスはネットワークを経由せず、クライアント数に依存しない(RO-NVMM-LPCCの線形スケールの根拠)
##### 限界と例外
- NVMM-LPCCはRW-NVMM-LPCCにおいて単一クライアントのみが書き込むファイルに限定される(複数クライアントによる協調書き込みには対応不可)
- ブロックサイズが小さい(1KB、4KB)場合にNVMMの性能優位が十分に発揮されない
- 通常のフラッシュSSDとは異なり、NVMMはコスト的に高価であり全クライアントへの搭載はコスト面での制約がある(論文中での言及)
- 特定のNVMMデバイスや特定のNVMMファイルシステムに依存するため、異なるハードウェア環境での汎化性は未検証
#### 強み
- LustreのHSM/レイアウトロック機構の再利用により整合性保証の実装コストを最小化
- NVMMを活用することでSSD-LPCCの性能限界を突破し、読み取りで最大35.80倍・書き込みで最大9.83倍の高性能を実現
- Llite層のキャッシュファイルDB設計により複数のNVMMファイルシステム(NOVA/EXT4-DAX/PMFS)を柔軟に統合可能
- クライアント数に対する線形スケーラビリティにより大規模HPCへの適用に有効
#### 弱点・課題
- RW-NVMM-LPCCは単一クライアントのみが排他的に使用するファイルに限定
- ブロックサイズが小さい場合(1KB/4KB)はNVMMの性能優位が限定的
- NVMMデバイスのコストが高く、全クライアントへの搭載はコスト面での制約がある
- 具体的なハードウェア構成の詳細(NVMMデバイスモデル等)が論文本文の査読版では限定的にしか記述されていない可能性がある
- SC'19のLPCCからの差分が主にキャッシュ媒体の変更とLlite層の改良であり、根本的なアーキテクチャへの貢献は限定的という見方もできる
## Abstract
HPCにおいて、データとメタデータは特別なサーバノードに格納され、クライアントアプリケーションはネットワークを介してサーバのデータとメタデータにアクセスするため、ネットワーク遅延とリソース競合が生じる。これらのサーバノードは一般に低速な磁気ディスクを搭載しているが、クライアントノードは高速なSSDや非揮発性メインメモリ(NVMM)に一時データを格納する。そのため、並列ファイルシステムの潜在能力を最大限発揮するには、高速なクライアント側ストレージデバイスをストレージアーキテクチャ全体に組み込む必要がある。
本論文では、LustreファイルシステムのためのNVMMベース階層型永続クライアントキャッシュ(NVMM-LPCC)を提案する。NVMM-LPCCは2つのキャッシュモードを実装する:読み書きモード(RW-NVMM-LPCC)と読み取り専用モード(RO-NVMM-LPCC)である。NVMM-LPCCはLustreのHierarchical Storage Management(HSM)ソリューションおよびLustreレイアウトロック機構と統合し、クライアントノード上で動作するI/Oアプリケーションに対して整合性のある永続キャッシュサービスを提供しながら、Lustreファイルシステム全体のグローバル統一名前空間を維持する。また、著者らはLustreのLlite層にキャッシュファイル情報のデータ構造を設計することで、NVMM-LPCCがNOVA、EXT4-DAX、PMFSなどの各種高性能ローカルファイルシステムを容易に統合してローカルキャッシュデータを管理できるようにした。
評価結果は、NVMM-LPCCがネイティブLustreシステムと比較して平均読み取りスループットを最大35.80倍、平均書き込みスループットを最大9.83倍向上させながら、優れたスケーラビリティを提供することを示す。