3.1.10 Distributed Transactions

  1. Transactional file systems have been implemented to provide stronger protection for application programs. Show a possible interface and describe the semantics of a transactional file system that buffers operational results till committed.

    What issues should be addressed to ensure consistency across machine crashes?

  2. Suggest two situations in the two phase commit protocol in which all the workers voted yes in the first phase, yet the coordinator decides to abort the transaction.
  3. A server manages the data items a1, a2...an. The server provides read and write operations on these items. Consider the following transactions:
    T
    x = read(i); write(j,44);
    U
    write(i,55); write(j,66);
    V
    write(k,77); write(k,88);
    Describe the information written to the log file if strict two phase locking is in use, and U acquires ai and aj before T. Describe how the recovery manager would uses this information to recover the effects of T, U and V when the server restarts after a crash. What is the significance of the commit entries in a log file.
  4. Five replicas A, B, C, D and E use quorum consensus with weights A = 3, B = C = 2, D = E = 1. State the possible values that may be chosen for a write quorum, Which choices allow the service to continue when one of the servers is unavailable? Give the choice of read quorums for each write quorum, and for each read quorum, how may the quorum be formed and what is the minimum number of servers involved?

The answer.

Ian Wakeman 2005-02-22