CMPSCI 677: Homework 3

Due: Friday, April 1 2005, 5pm
Off-campus students: one week from when you view Lecture 13
Web posted: Saturday, March 26 2005

  1. Describe the benefits of a two-level scheduler implementation of threads as compared to a user-level and kernel-level threads implementation.

  2. Consider the iterative and recursive name resolution techniques and k-level hierarchy of name servers.
    1. If the one-way cost of communicating from a client to a server is 'C' and one-way cost of communicating amongst servers is 'S', determine the cost of name resolution using each of the techniques.
    2. State the conditions under which each one of them is better than the other, or if one is always better and reasons for same.

  3. Give an example to show that Lamport's clock does not give us the following property: if C(a) < C(b) then a -> b, where a and b are events, and C(i) is the clock value assigned to event i.

  4. Assume vector clocks used for vector ordering, and 'a' and 'b' are distributed events,
    show that if V(a) < V(b) then a->b and vice-versa , i.e.,
    if a->b then V(a) < v(b)

  5. What is the differnce between Weak and Strong mobility?
    Give example situations where each one of them can be useful.

  6. In the Ring algorithm for leader election, more than one elections can be in operation concurrently in a group. While this does not effect correctness, nodes send election messages more than once and still elect the same leader. Suggest a modification to the algorithm to make it more efficient by reducing number of messages transmitted during concurrent elections.

  7. What is the advantage of using strict two phase locking over normal two phase locks? What might be a disadvantage of strict 2PL?

  8. Explain why write-ahead logs are prefered to private workspaces in commercial transcational systems?

Prashant Shenoy
Puru Kulkarni