(O) Consider the algorithm for simulating a shared register with a single reader and a single writer on top of message passing in the presence of failures (Alg. 10.6-10.8 in the textbook). Show that the algorithm does not guarantee linearizability with multiple readers -- show an example of two readers that experience a new-old inversion of the values read.
Consider the following fault-tolerant leader election problem (for a general network, not just a ring): there exists a nonfaulty processor L such that eventually every nonfaulty processor p identifies L as its leader.
Can you use diamond-P to solve the fault-tolerant leader election problem? Can you use a solution to the fault-tolerant leader election problem to implement diamond-P? Either give algorithms or give impossibility proofs. Assume a message passing system with crash failures.
Explain why the message and time complexities are O(m). Are they the same in the synchronous and asynchronous cases?