我々はコンパイラが支援する2つのソフトウェア 共有メモリ機構を提案してきた。1つは、読み出しミス時のみTLB/MMUの支援を必 要とするページベースのキャッシュ機構で、もう1つは読み書きともに完全にユー ザレベルのコードで実現されるキャッシュ機構である。 いずれの機構も、アプリケーションプログラムの情報を元にコンパイラが最適化 を施す。手続き間ポインタ解析により共有アクセスを検知して、キャッシュエミュ レーションコードを挿入し、手続き間冗長性削除の枠組みで、冗長なキャッシュ エミュレーションコードを取り除き、coalescing等によりキャッシュエミュレー ションコードの粒度を大きくする。 我々は上記の最適化コンパイラのプロトタイプを作成して、ワークステーション クラスタ上に2つのソフトウェア共有メモリ機構のランタイム実装した。 SPLASH-2ベンチマークを用いた実験によりコンパイラの最適化の効果を確かめ、 コンパイラで支援された共有メモリ機構が高い高速化率を得ることを確かめた。