Cache-only memory architecture とは

キャッシュ専用メモリアーキテクチャ(COMA)は、各ノードのローカルメモリ(通常はDRAM)がキャッシュとして使用されるマルチプロセッサで使用するコンピュータメモリ構成です。これは、NUMA組織のように、ローカルメモリを実際のメインメモリとして使用するのとは対照的です。
NUMAでは、グローバルアドレス空間内の各アドレスは通常、固定のホームノードに割り当てられます。プロセッサが何らかのデータにアクセスすると、そのローカルキャッシュにコピーが作成されますが、スペースはホームノードに割り当てられたままです。代わりに、COMAには家がありません。リモート・ノードからのアクセスにより、そのデータがマイグレーションする可能性があります。 NUMAと比較すると、これにより冗長コピーの数が減り、メモリリソースの効率的な使用が可能になります。一方で、特定のデータ(ホームノードが存在しない)と、ローカルメモリがいっぱいになった場合の対処方法(ローカルメモリにデータを移行して別のデータを追い出す必要がある)の問題が発生します。それは行く家がない)。ハードウェア・メモリ一貫性メカニズムは、通常、移行を実装するために使用されます。
膨大な研究がこれらの問題を探究しています。さまざまな形式のディレクトリ、ローカルメモリの空き領域を維持するためのポリシー、移行ポリシー、および読み取り専用コピーのポリシーが開発されています。 Reactive NUMAなどのハイブリッド型NUMA-COMA組織も提案されています。これは、NUMAモードでページを開始し、適切な場合はCOMAモードに切り替え、Sun MicrosystemsのWildFireで実装されます。ソフトウェアベースのハイブリッドNUMA-COMA実装が提案され、ScaleMPによって実装され、汎用ノードのクラスタから共有メモリマルチプロセッサシステムを作成できました。