7
|
1 \section{ Scaleする分散プログラム}
|
|
2
|
|
3 Internet 上で動作している分散プログラムは、例えば、DNS、
|
|
4 SMTP、NNTP、あるいは、さまざまなP2PやDHTなどがある。
|
|
5 これらのサービスで重要なのは、Scalability つまり、
|
|
6 サービスの規模が大きくなっても、応答速度などの要求仕様を
|
|
7 満たすことである。このようなプログラムは、一つのコンピュータ
|
|
8 に閉じた逐次型のプログラムや、マルチスレッドのプログラムとは
|
|
9 様相が異なる。
|
|
10
|
|
11 Federated Linda\cite{kono05b,kono05f} は、計算モデルが明解なLinda\cite{linda} を
|
|
12 複数接続することで、分散プログラムの作り方を明確なモデル
|
|
13 上で学ぶことができるようにするように設計されている。
|
|
14
|
|
15 我々は、この上で投票システムやCompact Routing\cite{Abraham04compactname-independent,kono08c} 等を
|
|
16 実装して来たが、分散プログラムは、それ自体が複雑なだけで
|
|
17 なく、デバッグ自体の困難さが問題であることがわかってきた。
|
|
18
|
|
19 最初の目標は、琉大情報工学科にある200台規模のPCクラスタ
|
|
20 上で、Federated Linda を用いた分散プログラムを作成し
|
|
21 デバッグすることである。
|
|
22
|
|
23 分散プログラムは正しい答えを出すだけでなく、Scalability
|
|
24 があるかどうかを調べることが必要である。PCクラスタ上の
|
|
25 デバッグでは、デバッグ自体に通信が必要であり、その通信が
|
|
26 Scalability に影響しないようにする必要がある。
|
|
27
|
|
28
|