view 8.tex @ 7:624a45b40bfe

done.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 28 Mar 2009 13:45:19 +0900
parents
children
line wrap: on
line source

\section{ 分散プログラムのデバッグ手法}

Federated Linda では、プロトコルエンジンは、
タプルスペース(Linda Server)から、
タプルを受け取って、それに計算を施して、
他のタプルスペースへ引き渡す。従って、
バグは、あるタプルを受け取って、どのような
タプルを出力するかというのを見ることになる。

個々のプロトコルエンジンの計算が正しくても、
大域的なエラーが起きる場合も存在するので、
個々の処理だけでなく、全体的な状態の情報も
必要となる場合がある。

通信状態を含めた大域的な状態は分散スナップショット
と呼ばれる。分散スナップショットを取ること自体に
通信が必要である。また、分散スナップショットは、
未来からの通信が含まれている場合は、
再実行可能でないことがある。再実行可能なスナップ
ショットを取るためには、通常の通信に制限をかける
ことが必要である。

デバッグプロトコルには、個々のTuple Space の情報収集
とともに、スナップショットを取る機能が必要である。
スナップショットが取れれば、そのイメージを
調べることによりデッドロック検出も可能となる。

Scalability の検証では、通信の集中を見つける必要がある。
そのためには、タプルスペース側での通信のlogの監視を
行なう必要がある。すべてのlog情報を一ヶ所に集める
ことなく、通信の集中を調べる機能が必要である。