并行计算机架构:内存一致性与硬件并行性解析
1. 内存一致性模型概述
在并行计算机系统中,内存一致性模型是一个关键概念。它主要围绕两个核心问题展开:
- 每个处理器的内存访问操作是否按程序顺序执行?
- 所有处理器是否以相同顺序观察到内存访问操作?
基于对这些问题的不同回答,可以确定不同的一致性模型。下面将详细介绍顺序一致性模型和放宽一致性模型。
1.1 顺序一致性模型
顺序一致性模型(SC 模型)是一种流行的内存一致性模型,它是单处理器模型的直观扩展,对内存访问的执行顺序有严格限制。
1.1.1 定义与特点
一个内存系统若满足以下两个条件,则具有顺序一致性:
- 每个处理器的内存访问按其程序所描述的顺序执行。
- 所有处理器对所有内存访问的全局结果,呈现出与不同处理器内存访问任意交错顺序相同的顺序。
内存访问必须作为原子操作执行,即每个内存操作的效果必须在任何处理器开始下一个内存操作之前,对所有处理器全局可见。
程序顺序的概念有一定的解释空间,它可以是源程序中执行内存访问的语句顺序,也可以是优化编译器生成的机器程序中内存访问操作的顺序。为了便于讨论,这里假设使用源程序中的顺序。
使用顺序一致性时,内存操作被视为原子操作,按每个处理器源程序给定的顺序执行,并进行集中序列化。这导致并行程序的内存操作具有一个总顺序,对系统的所有处理器都是相同的。例如,输出 001011 和 111111 都符合 SC 模型,但输出 011001 对于顺序一致性是不可能的。
超级会员免费看
订阅专栏 解锁全文
10万+

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



