什么是 NUMA?
NUMA 代表非统一内存访问。NUMA 是一种多处理器模型,其中每个处理器都与专用内存相连。非统一内存访问 (NUMA) 机器旨在防止 UMA 机器的内存访问瓶颈。逻辑共享内存在 NUMA 机器的处理节点之间物理分配,导致分布式共享内存架构。
这些并行计算机变得非常可扩展,但它们对本地存储器中的数据分配非常敏感。访问节点的本地内存段比访问远程内存段快得多。
主要区别在于地址空间的组织。在多处理器中,使用全局地址空间,从每个处理器始终可见。多个处理器可以访问所有内存区域。
在多计算机中,地址空间被复制到处理单元 (PE) 的本地存储器中。没有PE被允许直接访问另一个PE的本地内存。
这种内存地址空间的差异也体现在软件层面:分布式内存多机是基于消息传递范式编程的,而NUMA机是基于全局地址空间原理编程的。
这些机器在最近的并行计算机中变得越来越困难,例如 Cray T3D,其中两种编程范式都以库包的形式提供给用户。
使差异更小的另一个方面来自这样一个事实,即访问远程内存模块的实际形式在两类 MIMD 计算机中是相同的。即使在 NUMA 机器中,远程内存访问也是通过消息实现的,类似于消息传递的多机。
缓存一致性问题在分布式内存多计算机中不会出现,因为消息传递范式以自治消息的形式显式管理等效数据结构的多个副本。
在共享内存范例中,对类似全局数据结构的多次访问是适用的,如果全局数据结构的本地副本保存在本地缓存中,则可以增加访问次数。
硬件提供的缓存一致性方案没有被引入到 NUMA 机器中。这些系统可以缓存只读代码和数据以及本地数据,但不能共享可修改信息。这是 NUMA 和 CC-NUMA 多处理器之间的显着特征。NUMA 机器比其他共享内存多处理器更接近多计算机,而 CC-NUMA 机器表示真正的共享内存系统。
在 NUMA 机器(例如多计算机)中,主要设计问题是处理器节点的组织、互连网络以及降低远程内存访问的可能方法。典型的 NUMA 机器是 Cray T3D 和 Hector 多处理器。
以上是 什么是 NUMA? 的全部内容, 来源链接: utcz.com/z/317345.html