多核片上网络学习|缓存一致性协议

1. 集中式与分布式存储器的多处理器架构

1.1 集中式存储器的多处理器架构 centralized shared-memory multiprocessor (SMP)

  • 此类架构的特点是所有核心共享一个集中式的存储器,SMP结构有时也被称为uniform memory access(UMA)一致性存储访问多处理器,也就是说所有的存储器访问时间都是一致的。
  • 多个处理器缓存(Cache)子系统共享相同的物理内存,通常具有一级共享缓存(LLC)和一级或多级每核私有缓存。
  • 关键的架构属性是所有处理器对所有内存的访问时间是统一的,通常此类架构核心数较少,因为集中式的存储器接口带宽难以支持大量核心的访问需求。
  • 在多芯片(chiplet)版本中,共享缓存将被省略,将处理器连接至内存的总线或互连网络,在芯片之间运行而不是在单个芯片内运行。
    集中式存储器多处理器架构

1.2 分布式存储器的多处理器架构 distributed-memory multiprocessor (DSM)

  • 为了支持更大的处理器数量,内存必须分布在处理器之间,而不是集中式,否则,memory系统将无法支持带宽需求更大数量的处理器,以致于产生过长的访问延迟。
  • 随着处理器性能的快速提高以及相关的增加处理器的内存带宽要求,多处理器的大小首选分布式多核处理器
  • 处理器数量的增加也提出了对高带宽互连的需求。
    分布式存储器多处理起器架构

2. 一致性协议基本实现方式

2.1 什么是缓存一致性 What Is Multiprocessor Cache Coherence?

  • 在多核处理器架构,memory中存储着两类数据:专用数据(private data)共享数据(shared data)。专用数据是供单个处理器使用的数据,共享数据是由多个处理器使用,其读写实现了处理器之间的通信。
  • 缓存(cache)数据可以降低处理器对memory的带宽需求,在缓存专用数据时,不会出现一致性问题。但是在缓存共享数据时,可能会在多个cache中存在共享数据的copy,从而产生一致性问题。

存在一致性问题是因为数据既有全局状态(存储在共享的储存器中)又有本地状态(由各个cache专用)。

产生一致性问题的例子
实现缓存一致性协议的关键是在于跟踪cache data block的所有共享状态,目前有两类跟踪共享状态的方法,目录和监听。

2.2 目录式一致性协议简介 Directory based Cache Coherence

特定物理内存块(memory block)的共享状态保存在一个称为目录的位置。
有两种非常不同的基于目录的高速缓存一致性。

  1. 在SMP中,我们可以使用一个集中的目录,与内存或一些其他单个串行化点(例如多核中的LLC)关联。
  2. 在DSM中,拥有单一目录是没有意义的,因为那将创建一个争用点,并且在满足具有八个或更多核心的多核芯片的内存需求的情况下,难以扩展。
    分布式目录比单一目录更复杂,在本专栏的其他的文章会具体介绍。(下图中的广播协议是监听协议的一种实现方式)
    在这里插入图片描述

2.3 监听式一致性协议简介 Snooping Cache Coherence

  • 监听(Snooping)式的方式与共享状态保存在单个目录中不同,每个缓存都可以跟踪来自物理内存块的数据的共享状态。
  • 在SMP中,这些缓存通常都可以通过某种广播介质访问(例如,总线将每个核心的缓存连接到共享缓存或内存),所有缓存控制器都监听该介质,以确定它们是否拥有被请求的内存块的副本。监听也可以作为多芯片多处理器的一致性协议,一些设计在每个多核内还支持在目录协议之上的监听协议!

对于监听式一致性协议,主流的实现方式是写失效或者写广播,在本专栏的其他的文章会具体介绍。
写回策略下的写失效缓存一致性协议

2.4 监听式+目录式简介 Snooping over Directory

对于一些带有Core Cluster的设计,可以使用本地目协议维护Core Cluster内的一致性,而这些Cluster之间的一致性是通过全局监听协议实现。例如:
A Novel Hybrid Cache Coherence with Global Snooping for Many-core Architectures

  • 25
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iTsta_zx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值