従来、汎用の並列計算機やデータ並列言語の応用分野は、一般的な数値計算や科学技術計算に偏っており、人工知能分野では、並列計算の恩恵に浴することが出来なかった。 本研究では、リフレクティブな並列論理型言語をC^*等のデータ並列言語で実装し、コネクションマシン等の汎用の並列マシン上で稼働させることを目的とし、コネクションマシンCM-5上のデータ並列言語C^*を用いて、並列論理型言語GHCのサブセットの実装を行なった。 実装を行うに際して、二つの並列性に着目した。一つは、並列論理型言語の基本部分である複数のゴールを同時に書き換える処理の並列性(Goalsによる並列性)、もう一つは、上の処理に伴う並列論理型言語の複数のデータを同時に扱う処理の並列性(Termsによる並列性)である。Goalsによる並列性は、一つのゴールを一つの仮想プロセッサに割り当てることで、それぞれのゴールは同時に実行される。一方Termsによる並列性は、一つのデータを一つの仮想プロセッサに割り当てることで、それぞれのデータに同時にアクセスできるようになり、複数のゴールの同時処理を支援する。 この二つの並列性を組み合わせることにより、並列論理型言語のデータ並列言語C^*によるポ-タビリティの高い実装を実現した。
|