CS231 Lab 4
Out
date : 11/11/02
In
date : 11/29/02
Distributed Clock
Synchronization
Object :
Distributed Clock Synchronization Using Vector Clocks and
Casual Message Ordering by Birman et all Protocol
Procedure : You will implement first the
Vector Clocks and then the
Birman
Protocol . The nodes will be simulated by threads communicating
via FIFOs and
managing buffer space by buffer pools.
A.
Vector Clocks
A.1. Construct the
implementation rules for Vector Clocks (Section 5.4.
of the
text book)
A.2. Provide 3 Solaris kernel threads T1,T2,T3 such that :
T1 : Performs four events and
sends a message to T3
T2
: Sends a message to T1, performs two events then sends a
message to T3
T3
: Sends a message to T2, sends a message to T1, performs an
event, then sends a message to T2
A.3. Show the operation of the threads
and log the vector clocks in a
file for processing.
A.4. Repeat for other random message passing
B. Casual Ordering Of Messages
B.1. Construct Birman-Schiper-Stephenson
Protocol for each thread
B.2. For the A.2.
example, provide a broadcast FIFO for all or use
each thread FIFO to implement Birman et all protocol.
B.3. Show that the protocol works for
random messages order of which is
entered from the keyboard.
Grading : Correctness 20 %
Completeness 20 %
Documentation 10 %