研究概要 |
提案している要求駆動型負荷分散フレームワークTascellを用いたアプリケーション,特にN体問題のBarnes-Hutアルゴリズムの分散メモリ環境・共有メモリ環境双方での高速化を行った.まず,分散環境における高速化を実現するために,前年度に開発したTascellのブロードキャスト機能をMPIライブラリを用いて高速化した.この高速化版をBarnes-Hutアルゴリズムの実装に適用し,16ノード×4コアのクラスタ環境において,通信時間を70%,全体の実行時間を20%程度削減できることを確認した.また,共有メモリ環境における高速化のために,Barnesu-Hutアルゴリズムにおいて粒子の位置情報を管理するための「木」の構築の並列化を行った.複数のワーカが同時に木の同一箇所の書き換えを行うことを防ぐためにロックを利用すると,頻繁に起こるロック獲得のオーバーヘッドが大きくなるため十分な性能を得ることができない.そこで,書き込むアドレスが重複しないように担当する粒子の集合を分割する空間スティーリングと呼ぶタスク分割手法を提案・実装した.この実装の評価を,128ハードウェアスレッドを有するSPARCサーバ等で実施し,単純にロックを利用する方式と比較して2~4倍程度の性能向上が得られることを確認した. 広域分散環境における性能向上についても検討を行った.最大5クラスタをWAN上で接続した環境での性能評価により,ワークスティーリングの対象ノードの選択の偏りが性能低下の原因となることを確認した.次に,さらなる詳細な解析のためにTascellのシミュレータを実装し,その上での分析を行った.その結果,局所性を考慮したスティーリングと完全にランダムにワーカを選択するスティーリングを混合させることで性能を改善できるという予測が得られた.
|
今後の研究の推進方策 |
d-COPINEの実装を急ぐとともに,これまで開発を進めてきたN体問題の高速化についてもアルゴリズムの改良等,引続き開発を進める.広域分散環境においては,シミュレータを用いることにより詳細な性能分析が行えたため,この情報をもとにさらなる性能を得るための処理系の改良を行う.
|