今, NonUniform Memory Access(NUMA)型の比較的大規模な並列 計算機を考えると, キャッシュシステムの性能は, キャッシュの一貫性制御をいかに効率的に実現するかにかかっ ているといっても過言ではない.
このような NUMA アーキテクチャは, キャッシュの一貫性制御を コヒーレンスディレクトリ等のハードウェアを用いて積 極的に支援する Cache Coherent-NUMA(CC-NUMA) アーキテクチャと, 特別なハードウェアを設けずに, ソフトウェアで一貫性制御を行う Non Cache Coherent-NUMA(NCC-NUMA)アーキテクチャに分られる.
CC-NUMA は 一貫性制御に関する コンパイラやプログラマの能力に 依存しない安定した性能を提供できる反面, システム設計の複雑さや, ソフトウェアが持っている一貫性制御に関する情報を反映した最適化が 困難であるといった問題も存在する. また, プロセッサの高速化に伴い, ネットワークのレイテンシが相対的に増加すると, 一貫性制御のための 不必要なネットワークトラフィックが, 逆にシステムの性能を落とす恐 れがでてきている.
これとは反対に, NCC-NUMA アーキテクチャは, 与えられたプログラムの性質やコンパイラあるいはOSの能力などの ソフトウェア的な要因で, キャッシュ・システムの性能が著しく左右 されるという問題があるものの, ハードウェアが簡素化されるためシ ステムの小型化, 動作速度の向上, 開発期間の短縮等の効果が期待で きる.
従来, CC-NUMA型の並列計算機ハードウェアに関しては, 我々を含め多くの研究者により研究・開発がなされてきたが, NCC-NUMA に関しては最近になって一部の研究者がようやく 本格的に注目しはじめたという状況である. またこれらの研究も, その多くが, ライトスルー型のキャッシュを前提としたものである.
そこで我々は, ライトバック型キャッシュを用いた NCC-NUMA の 潜在的な能力を検証するため, 一貫性制御に関してごく簡単な ハードウェア支援のみを行う NCC-NUMA アーキテクチャを仮定し, それが 従来の CC-NUMA に対してどれだけの性能を発揮できるかを, 並列アプリケーション・プログラムを用いたシミュレーションに より評価した.
その結果, ソフトウェアによる簡単な最適化を行うことで, NCC-NUMA が CC-NUMA に比肩する性能をだせること, また場合によっては CC-NUMA よりも 良い性能が得られることを確認した. さらに, アプリケーション・プログラムの 十分な静的解析ができた場合, CC-NUMA に対する NCC-NUMA の相対性能は ネットワークのレイテンシに比例して大きくなることを確認した.