研究概要 |
本研究では,並列オブジェクト指向言語の普及と実装技術の確立を目的として,我々の研究室で設計した言語A-NETLを商用の高並列計算機である富士通AP1000に実装し,通信性能やアプリケーションの処理効率などを評価した. 実装方式の確立 AP1000ばかりでなく,幅広いアーキテクチャへの移植性を考慮して,広く普及しているC言語へのトランスレート方式を採用した.ベンダ提供のCコンパイラを利用することで,アーキテクチャ固有の低レベル・ハードウェア気候を利用した最適化が低コストで可能になる.トランスレータは,ユーザプログラムを翻訳するばかりでなく,A-NETL-C言語間のセマンティックギャップを埋めるコードを自動生成する. 実装と改善 メッセージ通信性能をA-NETL及びCプログラムについて計測した所,当初の実装においては,A-NETLはCの約3.4倍のオーバヘッドを伴っていた.その後,メッセージ受信領域のプリアロケ-トや受信後のディスパッチ処理を改善することにより,2倍弱のオーバヘッドに抑えることができた. アプリケーション性能 Nクイーン,ガウスの消去法による連立方程式の解析,分子動力学シミュレーションなどの問題について実行時間を調べた所,順に10.3(24),5.7(24),14.8(25)倍の台数効果が確認できた(カッコ内はノード数). 今後の課題 A-NETLは,変数の型宣言がない,同期/非同期など種々のメッセージパタンがある,などの理由でC言語と比較すると実装のコストが大きい.今後,コンパイル時の変数型推論,Active Messageの導入などにより,さらなる効率化を図りたい.
|