1.前言
Atomicity是内存访问的一个属性,描述为原子性访问,包括single-copy atomicity和multi-copy atomicity
2.基本概念
- observer
可以发起对memory read/write访问的都是observer
- Coherent order
全局一致性,即shareability domain中所有的observer观察到的对同个内存位置的全局的一致的写入动作(顺序);
注[1]:属于同一个shareability domain的observers共享memory space,并且能够对同一个地址的memory进行操作。
下面我们用一个具体的例子来说明什么是“single total order”。假设系统中有四个cpu core,分别执行同样的代码:cpux给一个全局变量A赋值为x,然后不断对A进行观察(即load操作)。在这个例子中A分别被四个CPU设定了1、 2、3、4的值,当然,先赋值的操作结果会被后来赋值操作覆盖,最后那个执行的write操作则决定了A变量最后的赋值。假设一次运行后,cpu 1看到的序列是{1,2},cpu 2看到的序列是{2},cpu 3看到的序列是{3,2}&