Skip to main content
QUICK REVIEW

[論文レビュー] Fault-tolerant linear solvers via selective reliability

Patrick G. Bridges, Kurt Brian Ferreira|arXiv (Cornell University)|Jun 7, 2012
Parallel Computing and Optimization Techniques参考文献 33被引用数 47
ひとこと要約

本稿では、誤り訂正不能なメモリ障害があっても収束を維持できるように、選択的信頼性を用いた耐障害性のある反復線形ソルバーであるFT-GMRESを提案する。外反復およびプリコンディショナ更新といった重要なデータおよび段階にのみ信頼性を適用することで、標準的なソルバが失敗するような障害状態でも収束を達成でき、故障率の上昇に伴いわずかに性能が低下するにとどまる。

ABSTRACT

Energy increasingly constrains modern computer hardware, yet protecting computations and data against errors costs energy. This holds at all scales, but especially for the largest parallel computers being built and planned today. As processor counts continue to grow, the cost of ensuring reliability consistently throughout an application will become unbearable. However, many algorithms only need reliability for certain data and phases of computation. This suggests an algorithm and system codesign approach. We show that if the system lets applications apply reliability selectively, we can develop algorithms that compute the right answer despite faults. These "fault-tolerant" iterative methods either converge eventually, at a rate that degrades gracefully with increased fault rate, or return a clear failure indication in the rare case that they cannot converge. Furthermore, they store most of their data unreliably, and spend most of their time in unreliable mode. We demonstrate this for the specific case of detected but uncorrectable memory faults, which we argue are representative of all kinds of faults. We developed a cross-layer application / operating system framework that intercepts and reports uncorrectable memory faults to the application, rather than killing the application, as current operating systems do. The application in turn can mark memory allocations as subject to such faults. Using this framework, we wrote a fault-tolerant iterative linear solver using components from the Trilinos solvers library. Our solver exploits hybrid parallelism (MPI and threads). It performs just as well as other solvers if no faults occur, and converges where other solvers do not in the presence of faults. We show convergence results for representative test problems. Near-term future work will include performance tests.

研究の動機と目的

  • エネルギー制約によって全システムの耐障害性が制限される、極大規模コンピューティングにおけるハードウェア信頼性の低下という成長する課題に対処する。
  • 大規模並列アプリケーションにエンドツーエンドの信頼性を適用することは現実的ではないため、信頼性を重要なアルゴリズム的コンponentに限定することでその課題を克服する。
  • 誤り訂正不能なメモリ障害をアプリケーションが終了せずに検出・報告できるようにする、ハイブリッドなアプリケーション/OSフレームワークを開発する。
  • 重要なデータ構造にのみ信頼性を適用することで、浮動小数点データに障害が発生しても反復ソルバが頑健で収束性を保つことを実証する。
  • エネルギーコストを削減しながら計算の正しさと収束性を維持するため、アルゴリズムとシステムの共同設計を可能にする。

提案手法

  • 大部分の計算を信頼性のないモードで実行するが、外反復およびプリコンディショナ更新の段階にのみ信頼性モードを適用する耐障害性GMRESソルバ(FT-GMRES)を設計する。
  • OSレベルで誤り訂正不能なメモリ障害を検出し、アプリケーションに報告するがプロセスを終了させないクロスレイヤーフレームワークを実装する。
  • アプリケーションレベルの障害報告を活用し、障害が検出された場合にのみ信頼性ストレージからのデータリフレッシュをトリガーすることで、オーバーヘッドを最小限に抑える。
  • 生産環境向けTrilinosコンponents(GMRES、ILUTプリコンディショナ)をプロトタイプに統合し、実世界のパフォーマンスとスケーラビリティを確保する。
  • 大規模分散コンピューティング環境をサポートするため、MPIおよびOpenMPスレッドを併用したハイブリッド並列処理を採用する。
  • テスト中に現実的な障害状態をシミュレートするため、1MBあたり1000回/時間の擬似乱数障害インジェクションを実施する。

実験結果

リサーチクエスチョン

  • RQ1信頼性を重要なコンponentにのみ適用する場合、反復線形ソルバは誤り訂正不能なメモリ障害が発生しても収束を維持できるか?
  • RQ2故障率が上昇するにつれて、耐障害性ソルバの収束速度はどの程度劣化するか?実用的に許容できる範囲内にとどまるか?
  • RQ3システムレベルの障害検出フレームワークにより、誤り訂正不能エラー発生時にプロセスを終了させずにアプリケーションレベルの耐障害性を実現できるか?
  • RQ4アルゴリズム的耐障害性は、全システムの冗長性と比較して、信頼性のエネルギーコストをどの程度削減できるか?
  • RQ5選択的信頼性は、科学技術計算における線形ソルバを超えた他の反復アルゴリズムへ一般化可能か?

主な発見

  • FT-GMRESは誤り訂正不能なメモリ障害が発生しても解に収束したが、標準的なGMRESおよびリスタート付きGMRESは同様の障害条件下で収束に失敗した。
  • FT-GMRESの収束速度は故障率の上昇に伴い徐々に劣化したが、高故障率でも総反復回数の増加はわずかにとどまり、実用的範囲内であった。
  • 障害が検出された際にはプリコンディショナおよび外反復データのみをリフレッシュすることで、性能への影響を最小限に抑えた。
  • プロトタイプは、故障なし状態でもパフォーマンスを損なわずに障害検出メカニズムを生産環境向けソルバに統合できることを示した。
  • クロスレイヤーフレームワークは誤り訂正不能なメモリ障害を正常に検出し、アプリケーションに報告し、プロセスの終了を回避して実行を継続できた。
  • 結果から、選択的信頼性はアルゴリズムの正しさと収束性を維持しながら、耐障害性のエネルギーコストを顕著に削減できる可能性があることが示唆された。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。