NUMA 系统是具有多个系统总线的高级服务器平台。可以在单个系统映像中利用大量处理器,具有极高的性价比。
在过去的十年中,处理器时钟速度获得了巨大的提升。但是,几 GHz 的 CPU 需要具备大量的内存带宽,才能有效利用其处理能力。即使是运行占用大量内存的工作负载(例如科学计算应用程序)的单个 CPU,也会受到内存带宽的限制。
在对称多处理 (Symmetric MultiProcessing, SMP) 系统上,这个问题会变得更加严重,因为许多处理器必须竞争同一系统总线上的带宽。一些高端系统通常通过构建高速数据总线来尝试解决这个问题。但是这种解决方案价格昂贵而且可扩展性也受到限制。
NUMA 是一种替代方法,它使用高性能连接将多个具有成本效益的小型节点连接起来。每个节点均包含处理器和内存,很像一个小型 SMP 系统。但是,高级内存控制器允许节点使用所有其他节点上的内存,从而创建了单个系统映像。当处理器访问不在自己节点内的内存(远程内存)时,数据必须通过 NUMA 连接来传输,这种传输的速度比访问本地内存的速度慢。顾名思义,这种技术的内存访问时间是不一致的,而且取决于内存的位置和通过其访问内存的节点。