什么是 CC-NUMA?
CC-NUMA 代表缓存一致非一致性内存访问机器。CC-NUMA 机器包含多个通过高带宽低延迟互连网络连接的处理节点。每个处理节点包含一个高实现处理器、相关的缓存和全局共享内存的分配。
缓存一致性由基于目录的写无效缓存一致性协议维护。它可以保持所有缓存一致,每个处理节点都有一个与其共享物理内存分配相对应的目录内存。
对于每个内存行,目录内存保存识别缓存该行的远程节点。因此,利用目录,节点写入位置以发送点对点消息以使等效缓存行的私有副本无效是适用的。
基于目录协议的另一个重要属性是它不依赖于任何确定的互连网络拓扑。因此,一些可扩展的网络,包括网格、超立方体或多级网络,可以用于连接处理节点。
所有 CC-NUMA 机器都共享构建可扩展共享内存多处理器的共同目标。它们之间的主要区别在于内存和缓存一致性机制在处理节点之间分布的方式。
另一个设计问题是节点之间互连网络的选择。它们展示了从基于总线的网络到更通用的互连网络以及从窥探缓存一致性协议到目录方案的进展。
威斯康星多立方体架构是基于单总线多处理器的最接近的泛化。它完全依赖于窥探缓存协议,但以分层的方式。Aquarius 多多架构将窥探缓存协议与目录方案相结合,但互连网络严格依赖于共享多总线。威斯康星多立方体和 Aquarius 多多都具有单处理器节点。
斯坦福 Dash 架构的节点更加复杂。它们实现为称为集群的基于单总线的多处理器。Dash 架构还结合了窥探缓存协议和目录方案。窥探方案确保集群内缓存的一致性,而目录方案则维护集群之间的一致性。
在 Dash 中,目录协议独立于互连网络的类型,因此,最初为多计算机(如网格)开发的任何低延迟网络都可以使用。
FLASH 设计的主要目标是将缓存一致共享内存与高性能消息传递有效地集成。由于 Dash 的集群概念被单处理器节点取代,因此 FLASH 仅应用目录方案来维护缓存一致性。