What is consistency? When must a processor see the new value?
e.g., seems that
•P1:A =
0;P2:B = 0;
• ..... .....
•A = 1;B = 1;
•L1: if (B == 0) ...L2:if (A == 0)
...
Impossible for both if statements L1 & L2 to be true?
What if write invalidate is delayed & processor continues?
Memory consistency models: what
are the rules for such cases?
Sequential consistency: result of
any execution is the same as if the accesses of each
processor were kept in order and the accesses
among different processors were interleaved =>
assignments before ifs above
SC: delay all memory accesses until all invalidates done