Skip to main content
QUICK REVIEW

[論文レビュー] The DIR Net: A Distributed System for Detection, Isolation, and Recovery

Vincenzo De Florio|arXiv (Cornell University)|Apr 27, 2015
Distributed systems and fault tolerance参考文献 4被引用数 3
ひとこと要約

DIR Net は、ハードウェアおよびソフトウェア障害の検出、隔離、回復を実行するための耐障害性を持つ分散システムであり、DIRマネージャとDIRバックアップエージェントからなる二重構成アーキテクチャを採用している。ユーザー定義の回復戦略は 'R-code' にコンパイルされ、回復インタプリタによって解釈される。これにより、動的でカスタマイズ可能な障害回復が可能となり、システムのレジリエンスを確保するための内蔵のタイムアウトおよびハートビートメカニズムを備えている。

ABSTRACT

This document describes the DIR net, a distributed environment which is part of the EFTOS fault tolerance framework. The DIR net is a system consisting of two components, called DIR Manager (or, shortly, the manager) and DIR Backup Agent (shortly, the backup). One manager and a set of backups is located in the system to be `guarded', one component per node. At this point the DIR net weaves a web which substantially does two things: 1) makes itself tolerant to a number of possible faults, and 2) gathers information pertaining the run of the user application. As soon as an error occurs within the DIR net, the system executes built-in recovery actions that allow itself to continue processing despite a number of hardware/software faults, possibly doing a graceful degradation of its features; when an error occurs in the user application, the DIR net, by means of custom- and user-defined detection tools, is informed of such events and runs one or more recovery strategies, both built-in and coded by the user using an ancillary compile-time tool, the rl translator. Such tools translates the user-defined strategies into a binary `R-code', i.e., a pseudo-code interpreted by a special component of the DIR net, the Recovery Interpreter, rint (in a sense, rint is a r-code virtual machine.) This document describes the generic component of the DIR net, a function which can behave either as manager or as backup.

研究の動機と目的

  • リアルタイムでハードウェアおよびソフトウェア障害の検出、隔離、回復が可能な分散システムの設計。
  • ユーザー定義の回復戦略を障害耐性環境に統合するための柔軟で拡張可能なフレームワークの提供。
  • 軽量で分散型のコンポonent(マネージャとバックアップエージェント)を用いた、内蔵の監視および回復メカニズムにより、システムのレジリエンスを確保すること。
  • ハートビートおよびタイムアウトに基づく障害検出により、コンポonentの故障に対しても順応的かつ継続的な運用を可能にする。
  • ユーザー定義のR-code戦略を実行する仮想マシンに類似したインタプリタ(rint)を用いた、動的回復の実現。

提案手法

  • システムは二重構成アーキテクチャを採用しており、別々のノード上で実行されるDIRマネージャと複数のDIRバックアップエージェントから構成される。
  • 障害検出は、定期的な 'I'm Alive'(IAT)メッセージとタイムアウトメカニズムにより実現され、設定可能な間隔とサイクル動作を備える。
  • ユーザー定義の回復戦略は高水準言語で記述され、ドメイン特化コンパイラである rl トランスレータを用いて 'R-code' にコンパイルされる。
  • R-code は、障害検出時に回復アクションを実行する仮想マシンに類似したコンponent、回復インタプリタ(rint)によって解釈される。
  • 内部通信はメールボックスおよびエイリアス識別子を介して管理され、タイムアウト、アラーム、状態遷移のための専用メッセージタイプが用意されている。
  • タイムアウトマネージャ(TOM)はアラームのスケジューリングと管理を担い、サイクルベースおよびデッドラインベースの両方のタイムアウト動作をサポートする。

実験結果

リサーチクエスチョン

  • RQ1分散システムは、ハードウェアおよびソフトウェア障害の自動検出と回復を通じて、自己修復をどのように達成できるか?
  • RQ2分散環境において、障害検出ロジックと回復ロジックをどのように分離できるか?
  • RQ3ユーザー定義の回復戦略を障害耐性ランタイムシステムに安全かつ効率的に統合する最適な方法は何か?
  • RQ4ハートビートメカニズムとタイムアウトポリシーは、分散システムにおけるライブネスと障害検出を確保するために果たす役割は何か?
  • RQ5組み込みおよびアプリケーション固有の回復アクションを両立できる、軽量で拡張可能な回復フレームワークを設計するにはどうすればよいか?

主な発見

  • DIR Net は、分散監視および回復メカニズムを活用することで、ハードウェアおよびソフトウェア障害が発生しても継続的な運用を実現している。
  • ドメイン特化のR-code言語と専用インタプリタ(rint)の使用により、低レベルのシステム変更を要せず、柔軟でユーザー拡張可能な回復戦略が可能である。
  • ハートビートメッセージ(IAT)、タイムアウト管理、状態ベースの回復アクションの組み合わせにより、障害耐性が達成されている。
  • 障害検出後に機能を制限した状態でもシステムが継続して動作できるよう、順応的劣化をサポートしている。
  • マネージャとバックアップエージェントの明確な役割分担を持つモジュラー設計により、複数ノードにわたる障害の隔離とスケーラビリティが確保されている。
  • 設定可能なタイムアウトポリシー(例:IA-flag-timeout、MIA-timeout)により、サイクルベースおよびデッドラインベースの障害検出が可能であり、システムのレジリエンスが裏付けられている。

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

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

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

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