CMPSCI 677: Homework 2

Due: In-Class, Tuesday, March 1 2005
Off-campus students: one week from when you view Lecture 7
Web posted: Tue Feb 22, 12pm

  1. RPC
    1. Give an example application for each of the following RPC semantics.
      - atleast-once
      - atmost-once
      - exactly-once
      - atmost-once multicast
    2. Consider the case of orphaned computations at the server and use of at-most once semantics RPC. Describe briefly how the client and server should be implemented to handle orphan computations for the at-most once semantics.

  2. Communication
    Suppose 3 machines can communicate as shown below,
       M1 <--> M2 <--> M3  
    An instant messenger application needs to exchange data between M1 and M3, but all messages go via M2.
    What kind of communication model will you use? i.e: persistent/transient asynchronous/synchronous and describe briefly how you will realize/implement it. Also, describe what kind of reliability and tradefoffs will your system have?

  3. Token Bucket
    Consider two flows that both share a transmission link of capacity 'R' Kbps.
    1. Use a set of token buckets to regulate their average traffic in the ratio r1:r2 and burst sizes in the ratio b1:b2. State what is the inequality that needs to be satisfied so that no packets are dropped after passing the token buckets (i.e., packets do not get dropped because they exceed the transmission capacity)
    2. Give a solution for the values of (r,b) for each bucket, if the r1:r2 ratio is 1:3, b1:b2 ratio is 2:3 and R=300 Kbps

  4. Design considerations
    1. Last slide of Lecture 2 describes the design consideration of the Email system along several parameters. Similarly, pick any other distributed system and list its design considerations and describe each in a single sentence.
    2. Give an example each of system where pure-pull, pure-push and combination of push and pull are appropriate.

Prashant Shenoy
Puru Kulkarni