研究概要 |
本研究では,ネットワーク的に近接した複数のクラスタシステムを階層的に接続した階層型クラスタ上に分散共有メモリシステムを構築し,さらにこのシステム上でプログラムを効率よく実行するためのプログラム最適化技術について研究を行った.本研究で開発した分散共有メモリシステムは,階層型クラスタ全体で一意にアクセス可能な共有記憶空間を提供する.このシステムは,プログラム実行中に発生する共有記憶空間へのアクセスを,対象に応じて適宜クラスタ内の他ノード,もしくは他クラスタへのアクセス要求として解釈し,実行する.ここでクラスタ内の他ノードが所有するデータに対しては,クラスタ内の高速ネットワークが提供する特殊関数によってアクセスを実現する.一方,他クラスタが所有するデータに対しては各クラスタに常駐するゲートウェイプロセスが仲介してアクセスを実現する.さらにクラスタ間を接続するネットワークはクラスタ内のネットワークに比べて一般に遅いため,階層型クラスタにおいてプログラムの実行速度向上を図るにはクラスタ間のアクセスを削減する必要がある.そこで本研究では,分散共有メモリシステム上にキャッシュメモリシステムを構築し,性能向上を図った.このキャッシュメモリシステムは,一度取得したリモートデータの近傍データを一時的にローカルに保存し,再利用するものである.また,このキャッシュメモリシステムはソフトウェアで構築したため,細かい制御が可能である.そこでコンパイル時にデータ依存関係の解析結果を用いてキャッシュメモリシステムの最適な動作のための制御手段を決定する手法について研究した.本システムを階層型クラスタに実装し,十分な性能向上が得られることを確認した.また,クラスタ間ネットワークとして,グリッドと呼ばれるようなより広域の分散環境についても利用の検討を行った.
|