patternMinor
Emulations of atomic registers and read-modify-write (RMW) primitives in message-passing systems
Viewed 0 times
rmwreadpassingmessagesystemsemulationswriteprimitivesregistersand
Problem
The ABD algorithm in paper: Sharing Memory Robustly in Message-Passing Systems can emulate single-writer multi-reader atomic registers in message-passing systems, in the presence of processor or link failures.
Looking into the details of this algorithm (in Figure 2, page 133), I found that it implicitly assumes the "conditional write" primitives at the side of servers:
Here, the statement
My first question is:
(1) Is this "conditional write" primitive necessary? Do you know any literature on emulations of atomic, SWMR registers without such primitives?
In the last section of the same paper, titled "Discussion and Further Research", the authors mentioned the emulations of stronger shared memory primitives in message-passing systems in presence of failures. One typical example is read-modify-write (RMW).
My second question is:
(2) Do you know any literature on the emulations of RMW-like primitives?
Google search and a quick glance over the "cited by" papers do not bring me anything specific.
Looking into the details of this algorithm (in Figure 2, page 133), I found that it implicitly assumes the "conditional write" primitives at the side of servers:
case received from w
: label_j = max{label_w, label_j};
send to w;Here, the statement
label_j = max{label_w, label_j} is equivalent to if (label_j < label_w) then label_j = label_w, requiring the variable label_j maintained by each process $j$ to be monotonic. This in turn needs the if-then "conditional write" primitive.My first question is:
(1) Is this "conditional write" primitive necessary? Do you know any literature on emulations of atomic, SWMR registers without such primitives?
In the last section of the same paper, titled "Discussion and Further Research", the authors mentioned the emulations of stronger shared memory primitives in message-passing systems in presence of failures. One typical example is read-modify-write (RMW).
My second question is:
(2) Do you know any literature on the emulations of RMW-like primitives?
Google search and a quick glance over the "cited by" papers do not bring me anything specific.
Solution
A partial answer to the second question:
In the book "Distributed Algorithms" by Nancy A. Lynch (1996) (Section 13.2 "Implementing Read-Modify-Write Atomic Objects in Terms of Read/Write Variables"), we have the following impossibility result:
Theorem 13.11 There does not exist a shared memory system using read/write shared variables that implements a read-modify-write atomic object and guarantees 1-failure termination.
In the book "Distributed Algorithms" by Nancy A. Lynch (1996) (Section 13.2 "Implementing Read-Modify-Write Atomic Objects in Terms of Read/Write Variables"), we have the following impossibility result:
Theorem 13.11 There does not exist a shared memory system using read/write shared variables that implements a read-modify-write atomic object and guarantees 1-failure termination.
Context
StackExchange Computer Science Q#30059, answer score: 2
Revisions (0)
No revisions yet.