什么是COMA?

COMA 代表仅缓存内存访问机器。COMA 机器包括通过互连网络连接的多个处理节点。每个处理节点都有一个高性能处理器、一个缓存和一个全局共享内存的分配。

COMA 机器通过将主内存块从节点的本地内存中排除,只使用大缓存作为节点内存来避免 NUMA 和 CC-NUMA 机器的静态内存分配问题。在这些架构中,只存在高速缓存;无论是在 UMA 机器中以中央共享内存的形式还是在 NUMA 和 CC-NUMA 计算机中以分布式主内存的形式使用,都没有使用主内存。

有两种代表性的 COMA 架构如下 -

  • DDM(数据扩散机)

DDM 是一种分层的、树状的多处理器,其中树的叶子代表基本的 DDM 架构。基本的 DDM 是一个基于单总线的多处理器,它包含多个连接到 DDM 总线的处理器/吸引力存储器对。一个景点内存由三个主要单元组成,例如状态和数据内存单元、控制器和输出缓冲区。

DDM 采用异步拆分事务总线,即在请求事务与其响应之间释放总线。引入了写入无效的 snoopy-cache 协议,该协议将广播要求限制为较小的子系统,并扩展了对替换的支持。

  • KSR1

KSR1 机器是第一台商用 COMA 机器,其中逻辑上单一的地址空间是由一组本地缓存和所谓的 ALLCACHE 引擎实现的。ALLCACHE 引擎基于分布式目录方案实现了顺序一致的缓存一致性算法。ALLCACHE 将数据存储在页面和子页面中。本地缓存中的内存分配单位是包含 16 KB 的页面。本地缓存之间数据传输的单位是由 128 个字节组成的子页。

分布式目录是一个矩阵,其中每个子页面分配一行,每个子页面分配一列,每个本地缓存分配一列。如果相应的本地缓存不包含子页面的任何副本,则矩阵元素为空。由于这是一般情况,矩阵非常稀疏,因此以压缩方式存储,排除那些空元素。非空元素可以代表以下四种状态中的任何一种 -

  • EO (Exclusive Owner) - 这是整机中唯一有效的副本。

  • C(副本) - 机器中至少存在子页面的两个有效副本。

  • NO(非独占所有者) - 当子页面存在多个副本时,其中一个被标记为非独占所有者。

  • I (Invalid) - 虽然子页面的副本存在于本地缓存中,但它是无效的,不会被使用。

以上是 什么是COMA? 的全部内容, 来源链接: utcz.com/z/360319.html

回到顶部