研究概要 |
関数型プログラムの高速並列処理を実現するために、プロセッサの速度に間に合うメモリアクセスはシステム全体の性能を向上させるためのキ-ポイントである。本研究では,関数型プログラムの実行に対しデータ参照局所性を保ちつつ、メモリアクセス競合を減少する有効なメモリシステムを開発し、ハードウェアの面から高度な並列処理を支援する.具体的には、計算単位であるタスクの検出、プロセッサへの配置及びプロセッサでの実行の三つの処理段階を時間的に重複させ、パイプライン動作を実現する。更に、実行段階を複数のプロセッサで実現することにより、階層化並列グラフ簡約を行なう。本方式を実現するシステムは共有メモリ型マルチプロセッサシステムを基本としている。共有メモリへのアクセスがパイプライン処理にはめ込ませ、共有メモリへのアクセス遅延を隠蔽することを狙う。その結果、メモリ操作に対する速度の要求を緩和できると考えられる。また、関数型プログラムのデータ参照局所性に適したメモリ構造と操作によって、メモリアクセス頻度を抑制することができる。 本年度では、メモリシステムで格納する簡約グラフとデータオブジェクトの性質について調査し、メモリシステム階層の構成と各階層の管理方法について考察を行った。簡約グラフについては、検出したタスクのデータ依存性、並列性などを分析した。データオブジェクトについては、サイズ、種類などを集計した。これらのデータに基づいてシステムのソフトシミュレータを構築した。ソフトウェアシミュレーション実験の結果から、本システムの有効性、そして実装可能性が確かめられた。
|