CS5414 (Fall 2010) Homework 3
Snapshots in Synchronous Systems

Due: 9:00am, 9/29/2010
Relative weight: 6 units

General Instructions. You are expected to work alone on this assignment.

Submit your solution using CMS. No late assignments will be accepted.

To facilitate grading, format your solutions as follows.

Solutions that do not satisfy the formatting guidelines will be returned, ungraded.


The Chandy-Lamport snapshot algorithm assumes the asynchronous model of computation. Consider a synchronous system with N processors interconnected by unidirectional channels. The topology of the interconnections between processors is fixed, but unspecified.

In addition, assume:

Part I. Give an algorithm the individual processors can use use to take local snapshots that, along with channel states they compute, constitute a consistent cut. Like the Chandy-Lamport algorithm, yours should work with any fixed network topology where

Unlike the Chandy-Lamport algorithm, yours should attempt to minimize the snapshot elapsed time, which is the time that passes between the snapshot's start time and the snapshot's end time, defined as follows. Assume for this elapsed-time calculation that processor execution time and storing a processor's local state is inconsequential but message delivery delay is not. If needed, other reasonable assumptions about timing may also be imposed---be sure to state these; fewer assumptions are better.

Part II. Give the elapsed-time calculation for your algorithm.

Part III. Argue that the snapshot your algorithm generates is a consistent cut.