Skip to main content
QUICK REVIEW

[論文レビュー] Resilience in Numerical Methods: A Position on Fault Models and Methodologies

James John Elliott, Mark Frederick Hoemmen|arXiv (Cornell University)|Jan 13, 2014
Radiation Effects in Electronics参考文献 20被引用数 11
ひとこと要約

本稿では、浮動小数点値に対する無制限の摂動として現れるサイレントデータコラプス(SDC)を想定する数値的非信頼性故障モデルを提案する。このモデルは、誤りを特定または制限するための安価な整合性チェックを用いた「懐疑的プログラミング」を提唱しており、特定の計算に対してのみ信頼性を確保することで、最悪のハードウェア故障下でも必要な箇所でのみ正しさを保証する耐障害性のある数値アルゴリズムの構築を可能にする。

ABSTRACT

Future extreme-scale computer systems may expose silent data corruption (SDC) to applications, in order to save energy or increase performance. However, resilience research struggles to come up with useful abstract programming models for reasoning about SDC. Existing work randomly flips bits in running applications, but this only shows average-case behavior for a low-level, artificial hardware model. Algorithm developers need to understand worst-case behavior with the higher-level data types they actually use, in order to make their algorithms more resilient. Also, we know so little about how SDC may manifest in future hardware, that it seems premature to draw conclusions about the average case. We argue instead that numerical algorithms can benefit from a numerical unreliability fault model, where faults manifest as unbounded perturbations to floating-point data. Algorithms can use inexpensive "sanity" checks that bound or exclude error in the results of computations. Given a selective reliability programming model that requires reliability only when and where needed, such checks can make algorithms reliable despite unbounded faults. Sanity checks, and in general a healthy skepticism about the correctness of subroutines, are wise even if hardware is perfectly reliable.

研究の動機と目的

  • 将来の極大規模システムにおけるサイレントデータコラプス(SDC)のための有用な高水準故障モデルの欠如に取り組む。
  • 耐障害性研究における支配的であるビット反転故障モデルに挑戦し、これは低レベルのハードウェア動作を反映しているが、アプリケーションに必要な数値的関心とは異なると主張する。
  • 平均ケースの確率的解析から、数値解析に基づく故障モデルを用いた最悪ケースの耐障害性へと移行する。
  • アルゴリズム開発者が、重要な計算に対する安価な事前境界を用いて、耐障害性のある数値手法を構築できるようにする。
  • 特定の演算(例:外側のFGMRES反復)のみが信頼性を要するように、信頼性を制限するモデルを導入する。

提案手法

  • 故障が浮動小数点型の値に対して無制限の摂動として現れる数値的非信頼性故障モデルを提案する。ビット反転とは異なる。
  • 「懐疑的プログラミング」を導入する。これは、重要な値(例:内積、射影)に対して安価で事前計算された境界を用いて、誤りを検出または制限するものである。
  • 既存の数値解析の結果(例:直交射影、内積の境界)を、計算の整合性を検証するフィルタとして活用する。
  • 選択的信頼性モデルと統合する。このモデルは、特定の演算(例:外側のFGMRES反復)のみが信頼性を要することを特定する。
  • 反復的ソルバー(例:FT-GMRES)にこのフレームワークを適用する。外側の反復を信頼可能に保ちつつ、内側の信頼性のないソルバーが境界付きの誤りを導入する。
  • 境界が事前に計算されることを保証し、信頼性のない計算に依存しないようにすることで、検証メカニズムの整合性を維持する。

実験結果

リサーチクエスチョン

  • RQ1低レベルのビット反転故障モデルに依存せずに、サイレントデータコラプス(SDC)に対して耐障害性を持つ数値アルゴリズムをどのように実現できるか。
  • RQ2無制限で観測不能なハードウェア故障に直面する数値アルゴリズム開発者にとって、最も有用な高水準の故障モデルは何か。
  • RQ3数値解析の境界に基づく安価な整合性チェックが、サイレントデータコラプスによる誤りを効果的に検出または制限できるか。
  • RQ4選択的信頼性と数値的境界を組み合わせることで、信頼性のないサブルーチンが存在するにもかかわらず、反復的ソルバーにおける正しさを保証できるか。
  • RQ5ビット反転ではなく、浮動小数点値への無制限の摂動としてSDCをモデル化することの実用的意味は何か。

主な発見

  • ビット反転モデルは、アルゴリズムレベルの耐障害性には不適切である。なぜなら、これは低レベルのハードウェア動作を反映しているが、アプリケーションに必要な数値的関心とは異なるからである。
  • ビット反転の確率的サンプリングは平均ケースの挙動を示すが、数値的正しさにとって重要な最悪ケースのシナリオには対応できない。
  • 重要な値(例:内積、射影)に対して事前境界を用いた懐疑的プログラミングにより、完全な故障耐性を要さずに誤った結果の検出や除外が可能になる。
  • FT-GMRESソルバーの実装は、外側の反復が正しく保たれることを示しており、内側のソルバーが無制限の誤りを導入しても、境界を用いることで誤り伝搬が制限される。
  • 選択的信頼性により、信頼性のある外側ソルバーが信頼性のない予約条件子をラップでき、正しさを保ちつつオーバーヘッドを削減できる。
  • 整合性チェックは故障のないシステムでも有益であり、入力違反、丸め誤差、ソフトウェアバグからの保護が可能であるため、堅牢な防御的プログラミング手法である。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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