[論文レビュー] Tolerating Silent Data Corruption in Opaque Preconditioners
本論文は、反復線形ソルバーで使用される透過的プリコンディショナにおいて、プリコンディショナのコードを変更せずに、サイレントデータ破損(SDC)に耐性を持つ選択的信頼性アプローチを提示する。外側のGMRES反復でのみ故障検出とロールバックを適用し、内側のソルブは信頼性を欠いた状態で実行することで、ILU(k)および代数的多重グリッドプリコンディショナにおいても、スケールアップした状況下で正しく解を得られるように、最大で1.8%のオーバーヘッドに抑える。
We demonstrate algorithm-based fault tolerance for silent, transient data corruption in "black-box" preconditioners. We consider both additive Schwarz domain decomposition with an ILU(k) subdomain solver, and algebraic multigrid, both implemented in the Trilinos library. We evaluate faults that corrupt preconditioner results in both single and multiple MPI ranks. We then analyze how our approach behaves when then application is scaled. Our technique is based on a Selective Reliability approach that performs most operations in an unreliable mode, with only a few operations performed reliably. We also investigate two responses to faults and discuss the performance overheads imposed by each. For a non-symmetric problem solved using GMRES and ILU, we show that at scale our fault tolerance approach incurs only 22% overhead for the worst case. With detection techniques, we are able to reduce this overhead to 1.8% in the worst case.
研究の動機と目的
- 大規模科学計算におけるサイレントデータ破損(SDC)を解決すること。これは、誤った結果が検出されず、深刻な失敗を引き起こす可能性がある。
- ILU(k) や代数的多重グリッドのような複雑で不透明なプリコンディショナを変更せずに、反復線形ソルバーにおけるフォールトトレランスを可能にすること。
- 信頼性を外側の反復でのみ適用することで、性能オーバーヘッドを最小限に抑える。内側のソルブは効率的に実行される。
- 強スケーリングおよび弱スケーリングの両方において、複数のMPIランクを対象としたスケーラビリティとフォールトトレランスの堅牢性を評価すること。
- 残差ノルムの単調減少および射影ノルムの上限を用いた大規模な誤差検出が、フォールトトレランスのオーバーヘッドを著しく低減できることを示すこと。
提案手法
- 選択的信頼性戦略を採用:大部分の計算を信頼性のないモードで実行し、外側のGMRES反復でのみ信頼性のチェックを適用する。
- 内側・外側反復構造を採用し、外側のGMRESソルバーを信頼性のあるものとし、内側のプリコンディショナーソルブは信頼性のない状態で実行する。
- GMRESにおける残差ノルムの単調減少を監視し、Elliott [14] から導出された射影ノルムの上限を強制することで、故障検出を実施する。
- ロールバックと検出戦略を実装し、全ソルブの再実行なしに、破損したプリコンディショナー出力を特定・是正する。
- すべてのMPIランクが破損したデータを返すと想定する故障モデルを用い、深刻なSDCシナリオを模擬する。
- 2つのプリコンディショナーを評価:Trilinosライブラリ内に含まれる、ILU(k)を用いた加法的スイッチングと、代数的多重グリッド(MueLu)
実験結果
リサーチクエスチョン
- RQ1ILU(k) や代数的多重グリッドのような不透明なプリコンディショナを変更せずに、反復線形ソルバーにおけるフォールトトレランスを達成できるか?
- RQ2SDCが複数のMPIランクに影響を与える場合、フォールトトレランスの性能オーバーヘッドはどの程度で、強スケーリングおよび弱スケーリングにおいてどのようにスケーリングするか?
- RQ3残差ノルムの監視および射影ノルムの境界を用いた検出技術は、単純な二重再起動戦略に比べ、フォールトトレランスのオーバーヘッドをそれ以下に抑えることができるか?
- RQ4破損したプリコンディショナー出力の2-ノルムが、フォールトトレランスのオーバーヘッドとソルバー収束にどのように影響するか?
- RQ5欠落または破損したデータを小さな値に置き換えることで、SDCの影響下でもレジリエンスが向上するか?
主な発見
- 検出を伴う場合、非対称問題に対してGMRESとILUを用いた際、最悪ケースでわずか1.8%のオーバーヘッドに抑えられ、高い効率性を示した。
- 同じ問題において、検出なしの場合は22%のオーバーヘッドであったため、検出が性能コストを最小限に抑えるために不可欠であることが明らかになった。
- プリコンディショナー出力の2-ノルムを増加させる故障は、それらを維持または減少させる故障よりも顕著に高いオーバーヘッドを引き起こした。
- 弱スケーリングの結果、24から1032プロセスにスケーリングする際、故障トレランスのオーバーヘッドが約10%からほぼ100%に上昇した。特に、サブドメイン全体が破損した場合に顕著であった。
- 残差ノルムの単調減少と射影ノルムの境界の両方を用いた検出は、単独で用いる場合よりも多くの故障を検出でき、信頼性が向上した。
- 故障発生時に破損データを小さな値に置き換えることは、故障ランク数が少ない場合に特に有効な回復戦略であることが示された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。