ギガリングクラスタ上での常時転送型分散共有メモリシステム
最終更新:2004/3/11
本研究室では,高速な通信速度をもつネットワ ークカードを利用したリング結合型計算機クラスタ(ギガリングクラス タ)上での新しい分散共有メモリモデルの研究を行ってい ます。
我々が提案する分散共有メモリモデルでは,共有メモリ空間をギガリン グクラスタ内で常時転送状態とします。 共有メモリ空間が高速にギガリングクラスタ内を移動しつづけることで, あたかも各計算機がすべての共有変数を保持しているかのように共有 変数を使用することが可能となります。
提案モデルでは共有メモリ空間全体の転送を行うため,高速なネット ワークが必要となります。 そのため,本研究では図1に示すギガリングクラスタ上に提案モデル を実装しています。ギガリングクラスタとは,高速な通信速度を持つ Giga Ethernetを用いて複数の計算機をリング状に接続した計算機クラ スタです。 1つの計算機が2つのGiga Ethernetインターフェースを使用し,それ ぞれのインタフェースが異なる計算機と接続されています。なお,通信 時のコリジョン(衝突)を防ぐため,スイッチングハブ等を介さず直接接 続しています。 また,Giga Ethernetを用いた接続とは別に,FastEthernetを用いたネッ トワーク接続も保持し,共有メモリ空間のような大きなデータ転送はGiga Ethernetを利用し,制御信号などの小さなデータの転送はFast Ethernet を利用します。また,共有変数の通信部には,計算CPUに負荷をかけることなく高速な 転送が可能なハードウェアアーキテクチャを用いることを想定しています。
図1:ギガリングクラスタ
プログラムで必要となった時点(オンデマンド)で他計算機の持つメモリ領域への アクセスを行う場合,通信の初期遅延によるオーバーヘッドが問題となります。 そこで,通信の初期遅延の問題を解消するために,我々の研究室では常時転送型 分散共有メモリを提案しています。 常時転送型分散共有メモリは,従来のようにオンデマンドに他計算機のデータを 要求するのではなく,という概念に基づく分散共有メモリモデルです。 このモデルでは,他計算機に対してオンデマンドにメモリ参照要求を行わないた め,通信の初期遅延の問題を受けません。また,共有変数の転送と計算は独立 に行われるため,通信と計算をオーバーラップさせることが容易という特徴が あります。
- 高速な通信速度をもつネットワークを利用し,共有メモリ空間全体をク ラスタ内で常時転送状態とする。
- 各計算機は,その時刻に保持している共有メモリ領域を用いて実行する ことが可能なタスクを行う。
- 必要な共有変数を得られず,参照または代入処理を実行できないタスク は,一時キューに格納し,実行可能時まで処理を遅らせる。
提案モデルを実行するランタイムライブラリを,C++のクラスライブラリとして実装して 性能評価を行いました。 実験には,以下の計算機を用いたギガリングクラスタ環境を用いました。 なお,提案手法では共有変数の通信部に計算CPUに負荷をかけることなく, 高速な転送ができるハードウエアアーキテクチャを想定していますが、 本実験ではそのかわりに2CPUのSMP計算機を用い,1CPUを通信専用 プロセッサとして使用しました。性能評価には,行列積の計算とFDTD法を用いた電磁界シミュレーションを用 いました。 それぞれの結果を図2,図3に示します。横軸は使用計算機台数,縦軸は速 度向上率です。速度向上率は,「Cプログラムで作成した逐次プログラムでの実 行時間 / 提案手法での実行時間」です。この結果,行列積演算で約7.7倍, FDTD法による電磁界シミュレーションで約4倍の速度向上が得られることが 確認されました。
- CPU:Pentium III 866MHz x 2
- Memory:512Mbyte
- OS:Solaris 8
図1:行列積演算の速度向上率
図1:FDTD法による電磁界シミュレーションの速度向上率