I am learning Sequential Consistency in Distributed Systems but just could not understand the terms explained. I would appreciate if someone can shed some light in layman's term on why (a) and (c) below are sequentially consistent and (b) is not.
Thanks.
Sequential Consistency in Distributed Systems
6.9k views Asked by user23 At
1
An execution
eof operations is sequentially consistent if and only if it can be permutated into a sequencesof these operations such that:the sequence
srespects the program order of each process. That is, for any two operationso1ando2which are of the same process and ifo1precedeso2ine, theno1should be placed beforeo2ins;in the sequence
s, each read operation returns the value of the last preceding write operation over the same variable.For (a),
scan be:W(x)b [P2], R(x)b [P3], R(x)b [P4], W(x)a [P1], R(x)a [P3], R(x)a [P4]For (c),
scan be:W(x)a [P1], R(x)a [P2], R(x)a [P3], R(x)a [P4], W(x)b [P3], R(x)b [P1], R(x)b [P2], R(x)b [P4]However, for (b):
the operations
R(x)b, R(x)afromP3require thatW(x)bcome beforeW(x)athe operations
R(x)a, R(x)bfromP4require thatW(x)acome beforeW(x)bIt is impossible to construct such a sequence
s.