Next: Up: Previous:

並列アプリケーション

StackThreads は並列オブジェクト指向言語ABCL/f  [44] のランタイム システムとして使われている. ABCL/f は一プロセッサの UNIX, Sun ワークステーションのネットワーク, 分散 MPP である AP1000, AP1000+  [22] 上で走る. 紙面の都合上, 実験の結果を 要約する. Future コンストラクトは 3.2.5 (3).b節で説明したように 第一級の通信プロトコルを用いて実装されている. ABCL/f は Barnes-Hut の N body シミュレーションにおいて よい結果を出している. マルチコンピュータ用の バイナリを一プロセッサ上で動かした時, 同様な構造をした 真に逐次的な C++ プログラムと比較して 70% のオーバヘッドを 示した. オーバヘッドはソフトウェアによるキャッシング(25%), オブジェクトの場所のチェック(12%), ポーリング(10%), そしてその他(24%)である. その他のオーバヘッド(24%)は ブロックが起こらないときのマルチスレッディングおよび 第一級通信プロトコルのオーバヘッドの上限を与える. また, シミュレーションにおいて, スレッドが遠隔データにアクセスするために ブロックが起こる力の計算フェーズにおける並列に関する数字も集めた. 4プロセッサを使用するときには, 各プロセッサにに50個の分子を 割り当てる. 潜在的に27525個の潜在的なブロックするかもしれない 呼び出しがあり, その中の26439回の呼び出しはブロックなして終了 する. この数字は, ブロックにいくらかの犠牲を払って 低オーバヘッドの生成をする StackThreads の性能の優位性を正当化する.



Mitsubishi Research Institute,Inc.
Mon Feb 24 19:27:36 JST 1997