Homework 12

Due 4/27/2012 [start of section]

Problem 1

What protocol would you use to guarantee that two web servers, one in Boston and one in Austin, both start serving a new version of a web site to clients at exactly the same time?

a. Two phase commit
b. Three phase commit or non-blocking commit
c. The FLP (Fisher Lynch Patterson) protocol
d. Leases
e. None of the above

Problem 2

What protocol would you use to move a subdirectory from one file server to another file server in the same machine room?
a. Two phase commit
b. Three phase commit or non-blocking commit
c. The FLP (Fisher Lynch Patterson) protocol
d. Leases
e. None of the above

Problem 3

In two-phase commit, suppose the master fails after writing ``GLOBAL_COMMIT'' to disk and sending ``GLOBAL_COMMIT'' to all participating nodes but before any of the nodes receive this message. Suppose that the ``GLOBAL_COMMIT'' message reaches i of the n participants and that the participants implement a protocol in which they communicate with one another when they suspect the primary has died. What is the minimum number of participants that must receive the ``GLOBAL_COMMIT'' message to allow the participants to complete the transaction without waiting for the master to recover?

Problem 4

In two-phase commit, suppose the master fails after writing ``GLOBAL_COMMIT'' to disk and sending ``GLOBAL_COMMIT'' to all participating nodes but before any of the nodes receive this message. Suppose that the ``GLOBAL_COMMIT'' message reaches i of the n participants and that the participants implement a protocol in which they communicate with one another when they suspect the primary has died. What is the minimum number of participants that must receive the ``GLOBAL_COMMIT'' message to allow the participants to complete the transaction without waiting for the master to recover?