什么是 COMA?


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

COMA机器试图通过将主内存块从节点的本地内存中排除,并且仅使用大型缓存作为节点内存来避免NUMA和CC-NUMA机器的静态内存分配问题。在这些体系结构中,只有缓存内存存在;无论是像UMA机器那样采用中心共享内存的形式,还是像NUMA和CC-NUMA计算机那样采用分布式主内存的形式,都没有采用主内存。

以下是两种具有代表性的COMA架构:

  • DDM(数据扩散机)

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

DDM采用异步分事务总线,即在请求事务及其响应之间释放总线。引入了写无效嗅探缓存协议,该协议将广播需求限制在较小的子系统中,并扩展了对替换的支持。

  • KSR1

KSR1机器是第一台商用COMA机器,其中逻辑单一地址空间是通过本地缓存集合和所谓的ALLCACHE引擎实现的。ALLCACHE引擎实现了一种基于分布式目录方案的顺序一致性缓存一致性算法。ALLCACHE以页和子页的形式存储数据。本地缓存中的内存分配单元是包含16KB的页。本地缓存之间的数据传输单元是包含128字节的子页。

分布式目录是一个矩阵,其中为每个子页分配一行,为每个子页分配一列,并为每个本地缓存分配一列。如果相应的本地缓存不包含任何子页副本,则矩阵元素为空。由于这是通例,因此矩阵非常稀疏,因此以紧凑的方式存储,排除了那些为空的元素。非空元素可以表示以下四种状态中的任何一种:

  • EO(独占所有者) - 这是整个机器中唯一有效的副本。

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

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

  • I(无效) - 尽管本地缓存中存在子页副本,但它无效,不会被使用。

更新于:2021年7月23日

5K+ 次浏览

启动你的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.