Skip to main content
QUICK REVIEW

[論文レビュー] User-Level Socket-Based Checkpointing for Distributed and Parallel Computation

Jason Ansel, Michael Rieker|arXiv (Cornell University)|Jan 6, 2007
Distributed systems and fault tolerance参考文献 23被引用数 3
ひとこと要約

DMTCPは、カーネルやアプリケーションコードの変更なしに、動的に作成されたスレッド、フォークされたプロセス、リモートで起動されたプロセスを含む分散および並列アプリケーションのチェックポイントを可能にする、Linux用のユーザレベル、ソケットベースのチェックポイント管理システムである。ホモジニアスなホスト間でのプロセス移行を、チェックポイントファイルのコピーによって実現し、高パフォーマンスコンピューティング環境におけるフォールトトレランスのための軽量でポータブルなソリューションを提供する。

ABSTRACT

We present a preliminary description of a user-level checkpointing package, DMTCP, for Linux. The socket-based approach presents a novel method for checkpointing distributed processes. This includes checkpointing of any dynamically created POSIX threads and forked child processes. It also includes checkpointing of remotely spawned processes via ssh and other mechanisms. As with all user-level checkpointing, no modification of the kernel is needed, and the application code is not modified. The package also checkpoints signal handlers, ordinary file descriptors, socket descriptors, and certain other types of file descriptors. Each checkpointed process has an associated checkpoint file. Hence, process migration, and even migration of an entire computation to a new cluster, are achieved through the simple expedient of copying checkpoint files to a new host. However, process migration adds the additional restriction that the source and destination host must be homogeneous. 1

研究の動機と目的

  • 分散および並列アプリケーションに対して、透過的でユーザレベルのチェックポイントソリューションを提供すること。
  • アプリケーションコードを変更せずに、動的に作成されたPOSIXスレッドおよびフォークされた子プロセスのチェックポイントを可能にすること。
  • SSHや同様のメカニズムを介したリモートプロセスのチェックポイントをサポートすること。
  • チェックポイントファイルの転送を用いて、同種のホスト間でのプロセス移行を可能にすること。
  • チェックポイント中に、ソケット、ファイルディスクリプタ、シグナルハンドラなどの重要な記述子の一貫性を保証すること。

提案手法

  • システムは、分散プロセス間のチェックポイントを調整するためにソケットベースの通信メカニズムを使用する。
  • カーネルの変更やアプリケーションソースコードの変更なしに、完全にユーザ空間で動作する。
  • 各プロセスごとにチェックポイントファイルが作成され、スレッドコンテキスト、ファイルディスクリプタ、ソケット状態を含むすべての関連する状態が保存される。
  • リモートプロセスは、セキュアシェル(ssh)や同様のリモート実行メカニズムを介してチェックポイントされる。
  • シグナルハンドラーやさまざまな種類のファイルディスクリプタが、チェックポイントプロセス中に保持される。
  • チェックポイントファイルを新しいホストにコピーし、そこでプロセスを再起動することで、プロセス移行が実現される。

実験結果

リサーチクエスチョン

  • RQ1どのようにしてユーザレベルのチェックポイントが、動的プロセス生成を伴う分散および並列アプリケーションに効果的に拡張可能か?
  • RQ2SSHや同様のツールを介して起動されたリモートプロセスの信頼性の高いチェックポイントを可能にするメカニズムは何か?
  • RQ3ソケットやファイルディスクリプタなどの重要なランタイム状態を一貫してキャプチャおよび復元するにはどうすればよいか?
  • RQ4異種または非同種のコンピューティング環境におけるプロセス移行を制限する要因は何か?
  • RQ5生産用HPCワークロードにおけるユーザレベルチェックポイントのパフォーマンスおよび信頼性のオーバーヘッドはどの程度か?

主な発見

  • DMTCPは、カーネルやアプリケーションコードの変更なしに、分散アプリケーションのチェックポイントを成功裏に実現した。
  • システムは、同じアプリケーションコンテキスト内での動的に作成されたPOSIXスレッドおよびフォークされた子プロセスのチェックポイントをサポートしている。
  • SSHなどの標準的なリモート実行ツールを用いて、リモートプロセスのチェックポイントが可能となり、クラスタ全体の計算にチェックポイントが拡張された。
  • チェックポイントファイルの転送を用いて、同種のホスト間でのプロセス移行が可能であり、フォールトトレランスとロードバランシングが実現された。
  • ソケット記述子、ファイルディスクリプタ、シグナルハンドラーような重要なランタイム状態が保持され、正しい状態の復元が保証された。
  • 透過的でユーザレベルの動作を通じて、高パフォーマンスコンピューティング環境におけるフォールトトレランスの実用的妥当性が示された。

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

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

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

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