Homework #2 Solutions – Theoretical Foundations of Distributed Systems

COP 5611, Operating Systems, Spring, 2003

Department of Computer Science, Florida State University


Points: 100

Due: Thursday, February 20, 2003


Problem 5 (45 points) A distributed system consists of three processes given by the following diagram. The system uses vector clocks with initial values of zeros in all entries. Each dot in the diagram represents an event.

(1)   (10 points) Show the vector clocks of the sending and receiving events of all the messages without casual ordering of messages.

  (Thanks to Brian Bouta)

(2)   (10 points) Give the message pairs whose sending events are causally related based on their timestamps.

    (Thanks to Brian Bouta)


(3)   (25 points) Apply the Schiper-Eggli-Sandoz algorithm to the system. You need to show the ordered pairs before and after each message is sent and the vector clock of the receiving process right before the message is being received. For each message’s receiving event, use the algorithm to show whether it can be delivered immediately or needs to be buffered. In the latter case (being buffered), show when and why the message can be delivered.

          (Thanks to Qiang Zhang)