Douglas W. Jones
The Problem, part A: Describe how you would implement this server under the DEMOS message passing primitives. In answering this question, your first priority will be to identify the type of s, the handle on a semaphore! Your second priority will be to identify how you use the various incoming message queues and links that the server may have. Finally, you can round out your description of the top-level design for the server by describing the formats of the messages between client and server.
The Problem, part B: Describe how you would implement this server if you were required to use the following set of message passing primitives. Your description should be at the same level as the description you gave above; you may assume that each process knows its own address and that each client process knows the address of the synchronization server.
Part A: Describe a simple solution to this problem, assuming that the only message exchanges between the processes are involved in implementing a single barrier, and assuming that message transmission is reliable.
Part B: Describe how you would modify the above solution to allow for other message traffic addressed to processes that are waiting for the barrier.
Part C: Describe how you would modify the above solution to allow for the possibility of lost messages.
Part A: What is the maximum difference you could observe between any pair of clocks in this network? An approximate answer based on sound reasoning is acceptable here!
Part B: What is the maximum difference you could observe between any two clocks in this network? Why isn't it (or why is it) 10 times the error you gave in part A?