本研究テーマにおいては、当初計画では、平成6年度に逐次的な処理系を実装し、並列版の実装は平成7年度に行なう予定であった。しかしながら、超並列計算機CM-5へのアクセスが平成6年度に可能となったため、逐次的な処理系の実装は行なわず、当初から超並列計算機CM-5を用いて研究を行なった。 データ並列に関しては、平成6年度中に、CM-5上のデータ並列言語C^*を用い、並列論理型言語GHCのインタプリタに関して、試験的な実装を行なった。ここでは、C^*の提供する仮想プロセッサであるshapeを、ゴールの格納(ゴールキュー)、データ構造の格納(ヒ-プ)の二箇所に用いている。 この実装について、基本的な評価を行なったが、実行するゴールの数が増加しても実行時間については、ほとんど変化しないという理想的な結果を得ることが出来た。また、プログラムを実行する物理プロセッサを増加させることにより、実行時間をほぼ線形に減少させることが出来た。これにより、「並列マシン上で、MIMD言語をデータ並列SPMD言語を用いて実装する」ことに関して、基本的なアイディアの正しさを確かめることが出来た。 一方、リフレクションについては、継続情報(Continuation)を陽に扱い、配列のi番目の要素に定数時間でアクセス可能なBinPrologを用い、リフレクティブGHCの試験的な実装を通常のワークステーション上で行なった。この実装により、継続情報(Continuation)を陽に扱うことにより、リフレクションが効率的に実装されることを確かめた。
|