研究概要 |
並列プログラム作成の生産性を上げるためには、並列プログラムを高い抽象度でアーキテクチャ独立に記述することが重要である.すなわち,並列プログラムの設計時には,利用可能なプロセッサ数・配列データの分散メモリへの分割・通信・同期命令などの物理的リソースに関する指示を行なわずに,並列プログラムを高い抽象度で,論理的側面にのみ注目して記述すると効果的である.そして,オブジェクト・プログラムの実行効率を上げる段階で,そのような物理的リソースの設定を考える.この方針に沿って,本研究ではワーク・タイムモデルをサポートした拡張C言語であるデータ並列言語Work-Time Cの処理系および性能解析ツールを作成した. 処理系は2つの方法で作成した.ひとつは,実行効率に大きく影響する配列データの分割指示をユーザが行い,オブジェクト・プログラムとしては同じプログラムを各プロセッサで実行するSPMD(Single Program Multiple Data)形態の処理系で,もうひとつは,分割指示をユーザが行わず,異なるプログラムを各プロセッサで実行するMPMD(Multiple Program Multiple Data)形態の処理系である.両者とも,オブジェクト・プログラムでのプロセッサ間通信には,多くのプラットフォームで実行できるMPI(Messag Passing Interface)と呼ばれる通信ライブラリを用いている.したがって,オブジェクト・プログラムは現在主流になりつつある分散メモリ型の並列計算機やCOW(Collection of Workstations)で実行可能である.現在の並列計算機はMIMD(Multiple Instructions Multiple Data)型であるので,後者のプログラムの方が実行効率のよく走る可能性を秘めており,今後MPMD形態の処理系の研究が盛んになるであろう.
|