CMPSCI 677: Homework 3

Due: Thursday, April 18 2002, in class
Off-campus students: one week from when you view Lecture 19
Web posted: Wed April 10, 5pm

  1. Many distributed algorithms require the use of a coordinating process. To what extent can such algorithms actually be considered distributed? Discuss. (Textbook 5.8)

  2. A distributed system may have multiple, independent critical regions. Imagine that process 0 wants to enter critical region  A and process 1 wants to enter critical region B. Can Ricart and Agrawala's algorithm lead to deadlocks? Explain your answer. (Textbook 5.13)

  3. Linearizability assumes the existence of a global clock. However, with strict consistency we showed that such an assumption is not realistic for most distributed systems. Can linearizability be implemented for physically distributed data stores? (Textbook 6.6)

  4. When using a lease, is it necessary that the clocks of a client and the server, respectively, are tightly synchronized? (Textbook 6.21)

     

  5. A file is replicated on 10 servers. List all the combinations of read quorum and write quorum that are permitted by the voting algorithm. (Textbook 6.25)

  6. Can the model of triple modular redundancy described in the text handle Byzantine failures? (Textbook 7.4)

  7. In the two-phase commit protocol, why can blocking never be completely eliminated, even when the participants elect a new coordinator? (Textbook 7.16)


Prashant Shenoy
Last modified: Wed Apr 10 13:37:13 EST 2002