NUMA(non-uniform memory access)

NUMA(non-uniform memory access)は、マルチプロセッシングシステム内のマイクロプロセッサのクラスタを構成して、ローカルでメモリを共有できるようにする方法であり、システムのパフォーマンスと拡張能力を向上させる。 NUMAは、対称マルチプロセッシング(SMP)システムで使用されます。 SMPシステムは、単一のオペレーティングシステムの下で動作する複数のプロセッサが共通のバスまたは”相互接続”パスを介してお互いのメモリにア 通常、SMPの制限は、マイクロプロセッサが追加されると、共有バスまたはデータパスが過負荷になり、パフォーマンスのボトルネックになることです。 NUMAは、すべてのデータアクセスがメインバス上を移動する必要がないように、いくつかのマイクロプロセッサ間で共有されるメモリの中間レベ

NUMAは”箱の中のクラスタ”と考えることができます。”クラスタは、通常、ローカルバス(例えば、周辺機器相互接続バス)上で相互接続された四つのマイクロプロセッサ(例えば、四つのPentiumマイクロプロセッサ)から構成され、単一のマザーボード上の共有メモリ(”L3キャッシュ”と呼ばれる)に接続されている(おそらくカードと呼ばれることもある)。 この単位は同じような単位に共通SMPバスが集りすべてを相互に連結する対称的なmultiprocessingシステムを形作るために加えることができる。 このようなシステムには、通常、16から256のマイクロプロセッサが含まれています。 SMPシステムで実行されているアプリケーションプログラムでは、個々のプロセッサメモリはすべて単一のメモリのように見えます。

プロセッサが特定のメモリアドレスのデータを探すとき、まずマイクロプロセッサ自体のL1キャッシュを調べ、次に近くのやや大きなL1とL2キャ これらのクラスターのそれぞれは、NUMAによって相互接続ネットワーク内の「ノード」として表示されます。 NUMAは、すべてのノード上のデータの階層ビューを維持します。

データは、scalable coherent interface(SCI)技術を使用してNUMA SMPシステムのクラスタ間のバス上で移動されます。 SCIは、複数のクラスターのノード間で”キャッシュコヒーレンス”または一貫性と呼ばれるものを調整します。

SMPおよびNUMAシステムは、一般的に、データマイニングや意思決定支援システムなどのアプリケーションに使用され、共通のデータベース上で一括して動作する多数のプロセッサに処理を分割することができます。 Sequent、Data General、およびNCRは、NUMA SMPシステムを生産する企業の1つです。