CS 6/73201 "Advanced Operating Systems" HOMEWORK #3 Due in Class on Thursday, May 6th. 1. Suzuki-Kasami DMX algorithm requires that the token carries an array of the number satisfied requests (LN) for each process. Since the unsatisfied requests are stored in a queue (Q) held by the token would it be possible to determine which requests are satisfied and dispense with the array LN altogether? Explain your answer. 2. Consider the network structure below. The processes are executing Raymond's token circulation DMX algorithm. Process A initially holds the token and processes C,D and E are in CS contention. Is it possible that requesting processes enter critical section in the following order D,C,E? Explain your answer. Draw a sequence of diagrams outlining the possible computation. oA / \ oB oC / \ oD oE 3. A system has five processes: a,b,c,d, and e. Describe how the knot calculation algorithm may work if "a" is initially dead: list a possible computation and the resultant knot that the algorithm produces. Explain your answer. 4. A system has five processes: a,b,c,d, and e. The system runs a simple renaming algorithm. Process "a" crashes after broadcasting the first message. Show a possible computation the the resultant identities that the processes obtain. Explain your answer. 5. (Tel 16.3) The requirement of strong accuracy is stronger than the requirement that no correct process is ever suspected: \forall F: \forall H \in D(F): \forall T: \forall p \in correct(F), q \not\in F(t): p \not\in H(q,t) Give an example of a failure pattern and failure detector history that satisfies this property yet violates strong accuracy. 6. Give an example of a computation of S-based detector-based consensus algorithm where _|_ (bottom) is assigned to an element of V for some process in Phase 2. 7. Give an example of a computation of Diamond S detector-based consensus algorithm where two processes decide in different rounds. 8. Consider Lamport's Byzantine agreement algorithm with four generals. Assume the commanding general is a traitor. According to the algorithm, the loyal lieutenants have to come to an agreement whether to attack or retreat. Give an example where the traitorous commander behaves incorrectly yet the lieutenants decide to attack; decide to retreat. According to the algorithm, what determines whether the loyal lieutenants decide to attack or two retreat?