LSI技術の進歩により、プロセッサの処理速度は依然として向上しつつあるが、単一のプロセッサで逐次的に行う方式には限界があるのも事実であり、高度の知的システムを計算機で実現するには、並列的に処理を行うことが不可欠である。本研究では、特に、非数値処理の分野での再帰的なアルゴリズムを含む並列処理に関して有効であると思われる、複数の並列実行中のプロセスにデータを効果的に分散させる代わりに、データを共有メモリ上に配置して、実行の時間単位を小さくした細粒度のプロセスを効率よく実行できるメカニズムの開発を行った。すなわち、細粒度のマルチプロセスを並列するのに適した、処理のアルゴリズムとハードウェアのメカニズムを得るために効率よい計算機構を具体的に設計した。このために、プロセス間通信やスケージューリング、プロセスの実行の切り換えなどを、ソフトウェアとハードウェアの両面から効率よく処理できる方式を設計した。ハードウェアのアーキテクチャは、sparcの命令セトを基本とし、実行時間がクロック単位で評価できる命令レベルのシミュレータの開発を行った。さらに、このシミュレータ上で、アプリケーションとしては、PL/0コンパイラの意味処理部を構文単位の微細なプロセスに分解してストリームで結合するというモデルで実現したコンパイラを使用して、評価を行った。この結果、プロセッサ10台程度で、かなり効果的な並列処理を実現できることを示唆するデータが得られた。
|