CPUとメモリーは、各々の配置とそれを繋ぐインターコネクト(サーバー内ネットワーク)により性能が異なる。複数のCPUとメモリーの組合せパターンによって、アクセス時間が異なる形態をNUMA(Non Uniformed Memory Access)アーキテクチャーという。今回は、現在主流になったNUMAアーキテクチャーがどのように進化したかを解説する。

 Intelのx86/x64系プロセッサーは、CPU系周辺のSouthBridgeとI/O周辺系のNorthBridgeで構成するのが基本だ。以前はNorthBridge系にメモリーを配置しており、マルチプロセッサーを対象型(Uniformed Memory Access)で構成した。CPUとメモリーの進化を非同期に享受できるメリットもあったが、CPUとメモリーの間のデータ転送速度の遅さが問題だった。この問題に対しては、CPU内キャッシュの大容量化やベンダー固有のクロスバースイッチなどで解決を図った。

 しかし、これらの措置だけでは、CPUとメモリーの間のレイテンシーの問題を補い切れなくなる。ちなみにレイテンシーとは、データ転送を要求してから結果が返送されるまでの遅延時間のこと。そこで最近は、CPUにコントローラを内蔵してメモリーを直結し、CPU間を高速インターコネクトのQPIで結ぶ形態を採用するケースが増えて来た。

その結果が、直結メモリーと他CPU配下のメモリーでレイテンシーが異なるNUMA構成である。これは、CPUとメモリーの進化を非同期に享受するよりも、レイテンシーを克服する方に重きをおいた結果といえる。