第 1 章:多核一致性问题
学习目标
- 理解一致性问题
- 分析数据竞争
- 掌握一致性模型
1.1 思考:多核有什么问题?
// 核心 0
x = 1;
// 核心 1
y = x;
问题:核心 1 读到的 x 是多少?
1.2 Cache 一致性问题
核心 0 Cache: x = 1
核心 1 Cache: x = 0
内存: x = ?
这就是 Cache 一致性问题!
1.3 一致性定义
一个内存系统是一致的,如果:
- 写传播:一个核的写对其他核可见
- 写串行化:所有核看到相同的写顺序
思考:如何保证一致性?