エラー忘却型コンピューティングとは
エラー忘却型コンピューティング(Failure-oblivious computing)は、計算機におけるフォルトトレラントシステムを構築するための技法の一つです。2004年にMITのMartin Rinardとその研究チームによって提唱されました。この手法は、特にメモリ
エラーの処理に注目しており、
エラーが発生した場合にどのようにシステムが反応するかに関する新しいアプローチを提供します。
従来のアプローチとの違い
一般的な計算機の処理系では、メモリの読み出しや書き込み時に
エラーが発見されると、通常はその
エラーについてアプリケーションに通知したり、該当するプログラムを異常終了させたりします。しかし、
エラー忘却型コンピューティングでは、
エラーを隠蔽し、アプリケーションに通知することなく処理を続行することを基本的な方針としています。
具体的には、メモリ読み出し
エラーが発生した場合には、その
エラーを利用して適切な値を生成し、応用プログラムに返すという方法を取ります。一方、書き込み
エラーに関しては無視し、処理を続けることが意図されています。これにより、処理の中断を防ぎ、システムの安定性を確保することを目的とします。
メリットとデメリット
エラー忘却型コンピューティングの利点として、プログラムの中断を防ぐことが挙げられます。これにより、システムの稼働率を高め、特に大規模なデータ処理を行う場合においては、よりスムーズな処理を実現することが可能です。しかし、これには代償としてCPUへの負担が増大することがあります。具体的には、処理にかかる時間が、従来に比べて約80%から500%ほど増加する場合があると言われており、これは
エラーの有効性を動的に検査する処理を挿入する必要があるためです。
実際の応用
Googleのデータ処理技術においては、
エラー忘却型コンピューティングの概念が実装されています。例として、
Google File System(GFS)、BigTable、
MapReduceといった技術があります。これらの技術は、数百ペタバイトにも及ぶ大量のデータを扱うため、想定外のデータ異常が存在する可能性が高まり、
エラー発見時にプログラムを停止していては安定的な運用が難しいという理由から、この手法が適用されています。
楽天技術研究所の所長である森正弥は、
Googleがこの手法を選択した背景には「データ処理の大規模化や高速化を優先したからではないか」と分析しています。
まとめ
エラー忘却型コンピューティングは、メモリ
エラーに対する新しい考え方を示す重要な技術です。特に、大規模データ処理を行うシステムにおいて、その安定性と効率性を向上させる役割を果たしています。その結果、処理の中断を防ぎつつ、高速かつ安定した計算を実現する手法として注目されています。今後、さらに多くのシステムでこの技術が導入されていくことが期待されます。