共享内存多处理器中的一致性、同步和内存一致性
1. 概述
本文聚焦于共享内存多处理器中值的正确且可靠的通信。共享内存多处理器内存系统的相关正确性属性包括一致性、内存一致性模型(简称内存模型)以及同步原语的可靠执行。目标软件是为通用或多用途机器编写的可移植共享内存多线程程序,包括操作系统内核。
从硬件角度看,内存模型是共享内存系统最重要的属性,它是指令集架构(ISA)规范的一部分,管理共享内存多处理器中内存访问指令的合法交织顺序,对系统整体正确性至关重要,为硬件和软件设计者提供了简单接口。
线程间同步与内存模型是不同的问题,但有时由于共享内存提供的通信支持简单有限而需要同步。在多处理器系统中,线程间同步比分时单处理器更关键,且内存模型和同步常相互影响。
本文的目标是培养对多处理器内存属性含义和实际硬件影响的直觉,以指导初始设计和后续设计修订。主要内容包括:
- 背景:共享内存通信模型和硬件组件,以及为何现代共享内存多处理器系统难以执行内存正确性属性。
- 不同级别的一致性:普通内存一致性与存储原子性的区别。
- 内存模型和顺序一致性的介绍:通过存储同步来强制顺序一致性。
- 线程同步和ISA级同步原语。
- 基于硬件效率的宽松内存模型和依赖同步的宽松内存模型:在具有存储原子共享内存和配备存储缓冲区的顺序静态流水线的简单多处理器中实现内存模型。
- 在具有存储原子共享内存和推测性乱序处理器的多处理器中实现内存模型:内存模型的推测性违规。
2. 背景
2.1 共享内存通信模型
共享内存多处理器中值的通信是通过在所有线程共享的内存中执行常规加
超级会员免费看
订阅专栏 解锁全文

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



