缓存一致性与存储原子性深度解析
在多处理器系统中,数据一致性和存储原子性是确保系统正确运行的关键概念。本文将深入探讨这些概念,包括相关协议的工作原理、定义以及如何在不同系统中实现存储原子性。
1. 一致性事务中的节点角色
在一致性事务中,通常涉及以下几种节点:
- 主节点(Home node, H) :内存块及其目录项所在的节点。
- 请求节点(Requester node, R) :发起请求的节点。
- 脏节点(Dirty node, D) :持有最新(修改过)副本的节点。
- 共享节点(Shared nodes, S) :持有共享副本的节点。
2. MSI 协议中的写访问示例
以 MSI 协议为例,有两种常见的写访问情况,分别是写缺失和写命中,下面进行详细介绍。
2.1 MSI - 失效协议中的写缺失
当存在两个共享副本时,请求节点发起写缺失操作。请求节点发送 BusRdX 消息到主节点,主节点查找目录项并通过设置忙位锁定它,然后向两个共享副本发送失效消息。共享副本收到失效消息后向主节点发送确认,主节点将内存块发送给请求节点并重置忙位解锁目录项。这一过程如图 7.11(a) 所示。
graph LR
R -->|BusRdX(1)| H
H -->|inv(2)| S1
H -->|
超级会员免费看
订阅专栏 解锁全文

1021

被折叠的 条评论
为什么被折叠?



