McGill University
School of Computer Science

Computer Science 308-575A
Fundamentals of Distributed Algorithms Project #2

Description: Global state detection

This problem is due on the last day of classes, December 4. There will be no extensions beyond this deadline. It is firm.

In this project, you are asked to implement Mattern's version of the global snapshot algorithm as described in sections 3 and 4 of the paper (pp. 425-427). You can assume that ONE process (and only one process) launches the algorithm and that all of the processes are aware of the initiator.

If you want to allow anyone to initiate the algorithm, and not have all of the processes be aware of the initiator, I will of course be suitably impressed. If you don't hav the time, don't do it.

After termination of the algorithm, you should send the local snapshots to the initiator.

I expect you to make use of vector counters in order to determine the termination of the algorithm, as described on pp.426-7.

Finally, the graph which you use will be the same one for the knot detection algorithm, i.e. the torus.

At this time like the first project, when you hand your project works, we recommend you use the follwong command: "handin cs575 proj2 xxxx" where "xxxx" is your project file(s) name. You should use proj2 instead of proj1 for the second project. GOOD LUCK.

[ Academic Programs ] [ SOCS HOME ]