計算機のコストパフォーマンスが向上するにつれて、新たな並列処理環境として計算 機クラスタ環境が注目されている。 並列計算機と比較すると、計算機クラスタ環境におけるタスク間通信時間はオー バヘッドが大きく、並列プログラムの実行効率に大きく影響する。 計算機クラスタ環境を上で並列計算機に近いパフォーマンスで並列処理を実現 するためには、計算機クラスタ環境の特徴に考慮した並列タスク生成が望ま しい。 ところが、計算機クラスタ環境はその構成により保持する特徴が多様である ため、計算機クラスタ環境の特徴を一意に決定することは困難である。本稿で は実行に環境応じた並列化コンパイラを生成するための並列化コンパイラ・ツー ルキットによる、環境に応じた並列タスク生成手法を紹介する。
並列化コンパイラ・ツールキットでは並列化コンパイラ全般にわたる共通の作 業を自動化し、並列化アルゴリズムと計算機環境の記述により並列化コンパイ ラの自動生成を可能とする。 各計算機環境に対応した並列化コンパイラを生成するには、環境の特徴を把握 する必要があり、これを環境パラメータによって記述する。 環境パラメータを考慮してLogPQモデルに基づいたネットワークモデルを構築 し、ネットワークモデルを利用して並列処理の実行状況を予測解析する。 並列化アルゴリズムによって分割されたタスクの実行解析結果から 粒度の小さなタスクを統合することにより冗長な通信処理を削除し、 実行状況に対応した並列タスクを生成可能とする。 また、並列処理全体の実行時間を支配する実行系列であるクリティカルパスの 実行を最優先することで、並列処理に要する時間の短縮を図る。 さらに、割当て単位生成時と異なる実行状況に陥って並列処理が中断するよう な事態を回避するため、実行状況を確認し、タスクの割当てを再編することで 問題の発生を未然にに回避する方法を提示する。 このように実行環境と実行状況に対応した並列タスクを生成することで、効率 のよい並列処理が実行可能となる。