本研究では、容易に並列プログラムが記述できるスクリプト言語の実現を目指している。2年計画の1年目にあたる今年度は、種々の並列アプリケーションを開発し、これらの実現を通して得られた知見を元に、スクリプト言語の設計・実装を行った。 並列アプリケーションとして、共有メモリ型並列計算機のシミュレータや並列配線システムを開発した。これらはPCクラスタのような分散メモリ型並列環境で動作し、高い台数効果を得ている。こうしたプログラムの開発を通して、分散メモリ環境下で高速な並列プログラムを作成する上での重要な知見を得た。 この成果をふまえて並列スクリプト言語「(Perl)+」を設計し、その試験的な実装・評価を行った。本言語は逐次スクリプト言語Perlをベースとしており、記述が容易でありながら融通が効くというPerl本来の長所を並列環境に引き継ぎながら、並列処理のための機能が拡張されている。 具体的には、RPCによる複数ノード上での並列タスク実行をサポートし、タスク間でのデータ通信を実現している。各タスクを実行する計算機名をユーザが直接指定でき、現実のLAN環境など非均質なマシン群の実体に合わせた使い方ができる一方、リストなどPerlの抽象化されたデータ構造を直接タスク間でやりとりでき、PVMを用いる場合のようにデータ構造の実装を意識する必要がない。 試験的実装の評価の結果、PC13台上の13-queenプログラムが11.9倍の速度向上と、高い性能が得られることがわかった。その一方で、汎用的な並列プログラム記述にはより柔軟な通信機構が必要といった知見も得られた。 以上の成果を元に言語設計を改良し、本格的な実装および評価を行うのが、次年度の課題である。
|