13、并行计算机架构:内存一致性模型与硬件并行示例

并行计算机架构:内存一致性模型与硬件并行示例

1. 内存一致性模型概述

在并行计算机系统中,有两个关键问题决定了不同的内存一致性模型:
- 每个处理器的内存访问操作是否按程序顺序执行?
- 所有处理器是否以相同顺序观察到所执行的内存访问操作?

1.1 顺序一致性模型

顺序一致性模型(SC 模型)是一种流行的内存一致性模型,它是单处理器模型的直观扩展,对内存访问的执行顺序有严格限制。一个内存系统若满足以下条件,则具有顺序一致性:
- 每个处理器的内存访问按该处理器程序所描述的程序顺序执行。
- 所有处理器对所有内存访问的全局结果,呈现为相同的顺序,该顺序由不同处理器内存访问的任意交错产生。
- 内存访问必须作为原子操作执行,即每个内存操作的效果必须在任何处理器的下一个内存操作开始之前,对所有处理器全局可见。

1.1.1 程序顺序的解释

程序顺序有不同的解释方式,它可以是源程序中执行内存访问的语句顺序,也可以是优化编译器生成的机器程序中内存访问操作的顺序,编译器可能会对语句进行重新排序以提高性能。这里假设使用源程序中的顺序。

1.1.2 顺序一致性的示例

假设有三个处理器 P1、P2、P3 执行以下语句:
| 处理器 | 程序 |
| ---- | ---- |
| P1 | (1) x1 = 1; |
| P2 | (2) while(x1 == 0); (3) x2 = 1; |
| P3 | (4) while(x2 == 0); (5) print(x1); |

变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值