Question: This question has TWO parts. a . To prevent deadlocks in Maekawa s Mutual Exclusion algorithm someone proposes the following modification and calls it the

This question has TWO parts.
a. To prevent deadlocks in Maekawas Mutual Exclusion algorithm someone proposes the following modification and calls it the Aunt-Mae-KawaSpiderman algorithm. In the enter() function, a process pi instead of multicasting a request to processes in Vi, instead orders Vis processes in increasing order of ID, and sends them Request messages sequentially, waiting for each Reply before sending the next Request message. That is, pi sends a unicast Request to only the lowest ID process in Vi, then waits for a Reply message from it, and only then does it send a Request message to the second-lowest ID process in Vi, waits for a Reply message from it, and so on until the last voting set member. The rest of the protocol remains unchanged and same as Maekawas algorithm. You can assume no failures happen in this system. Does this modified Aunt-Mae-Kawa-Spiderman algorithm: i) still satisfy safety? ii) prevent deadlocks? For each, give a proof or a counter example.
b. For mutual exclusion, The Kingpin (a frequent opponent of Spiderman) has implemented the original Maekawa Mutual Exclusion algorithm, but to make it more efficient(a dangerous phrase, if ever there was one!) they have optimized the voting set members similar to how Ricart-Agrawala works. In other words, when a voting set Vjs member pi receives a Release message from a process pj (which is exiting the critical section), the voting set member process pi now immediately multicasts a Reply message to all waiting processes in pis queue, and empties the queue. Does this new Kingpin algorithm work (i.e., guarantee safety)? If yes, give a proof. If not, give a concrete scenario where this algorithm violates mutual exclusion (in particular, safety).

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!