# HG changeset patch # User Shinji KONO # Date 1240562484 -32400 # Node ID 35f802ff284248d147717be350901ca8227c7290 # Parent 074443128a2709ad133425b984ba305aac9df0b8 fix diff -r 074443128a27 -r 35f802ff2842 presentation/federated-linda.ind --- a/presentation/federated-linda.ind Fri Apr 24 07:49:19 2009 +0900 +++ b/presentation/federated-linda.ind Fri Apr 24 17:41:24 2009 +0900 @@ -186,29 +186,13 @@ もっとも干渉が少ない場合として、単一のデバッグコマンドを全サーバに周回させるプロトコルを考える。 ---Simulation +--実験 + +Linda Server間でMeta Engineがデータをやり取りする場合 -分散通信に影響を最低限にするために、Ringで性能を評価する。 -3台のLinda Server間でMeta Engineがデータをやり取りする場合 -のUMLシーケンス図は -図\ref{ringthree}のようになる。 -\begin{figure}[htbp] -\begin{center} -\includegraphics[scale=0.2]{fig/meta_ring_three.eps} -\caption{3台間の通信} -\label{ringthree} -\end{center} -\end{figure} +
-Ring では通信パケットは一つのみであり、デバッグ対象への -影響が小さい。 -しかし、スナップショットや一時停止などの -デバッグ操作をするためには、全ノードを周回する必要がある。 -%これはo(n)であり、十分にスケーラビリティがあるとは言えない。 -%しかし、もっとも影響が少ない方法なので、どの程度まで使える -%かを測定することには意味がある。 -ここでは、通信パケットの大きさを変えて、 3〜100までの台数でデータが1周(図\ref{metaring})する時間、 および1000周(図\ref{metaring1000})した時に掛かった時間を測定する。 前者では接続の手間を含む通信時間、後者では通信のみの時間を @@ -216,57 +200,36 @@ 実験は、 琉球大学 -情報工学科のクラスタ上(Core Duo 2GHz,メモリ1GB)で、 -クラスタジョブ管理システム -Torqueを用いて行なった。 -ネットワークはAlaxalA Gigabit Ethernet Switchで構成されている。 -クラスタ自体は180台あるが、 -安定して動作する100台までを使用して測定を行なった。 +情報工学科のクラスタ上(Core Duo 2GHz,メモリ1GB) Torque +AlaxalA Gigabit Ethernet Switch +クラスタ自体は180台あるが、安定して動作する100台までを使用 -\begin{figure}[htbp] -\begin{center} -\includegraphics[scale=0.3]{fig/metaring1.eps} -\caption{接続を含む一周の時間} -\label{metaring} -\end{center} -\end{figure} +
-X軸が台数、Y軸がミリ秒、ラインの色が通信するデータサイズを表す。 -両図から見てわかる通り、データの量にはあまり依存する事はなくほぼ同じラインを形作っている。 -データを1周のみした場合は1サイクルあたり約14000ms、一台あたり約140ms掛かっている計算になる。 -これは、TCPの接続時間がかなり大ききことを示している。1MB程度の通信を -隠すほど接続時間のオーバヘッドは大きい。 -14秒はインタラクティブな +データを1周のみした場合は1サイクルあたり約14000ms、一台あたり約140ms + +これは、TCPの接続時間がかなり大ききことを示している。 + デバッガとしては容認できないと思われる。 従って、毎回、新しく接続するようなHTMLのような 通信を採用することはできないことがわかる。 +--千周の平均周回時間 -\begin{figure}[htbp] -\begin{center} -\includegraphics[scale=0.3]{fig/metaring1000.eps} -\caption{千周の平均周回時間} -\label{metaring1000} -\end{center} -\end{figure} +
-それに対し1000周した際に掛かった時間は、1サイクルおよそ60ms、一台につき約0.6msとなっている。 -これより、一度、接続してしまえば、 -Meta Engine での通信は実際に100台程度のデバッグに使用するのに十分な性能を -持っていることが確認出来た。 +1サイクルおよそ60ms、一台につき約0.6msとなっている。 パケット1KBから100KBまでの差は2倍程度であり、それ以上はパケットサイズに リニアに時間がかかる。従って、数十KB程度以下にデータを抑えることは、 応答時間的には意味がない。 ---比較 +--まとめ +Linda 複数接続するFederated Linda Server をJava 上に実装し、 -本稿ではデバッグを行う為に通常通信とは他に、Metaで通信するMeta Protocol Engineを実装し評価した。 -今回は、スナップショットなどの実際のデバッグ機能を実装することは出来なかった。 -通信の実験においても、 -同クラスタ上で別のRing通信や他のMetaLinda通信等があった場合の干渉の程度 -などを測定する必要があると考えられる。 +Metaで通信するMeta Protocol Engineを実装し評価した。 +今後は、Meta Protocol Engineにデバッグプロトコルを実装していく