Issue No. 05 - September/October (2003 vol. 15)
<p><b>Abstract</b>—Vector clocks are the appropriate mechanism used to track causality among the events produced by a distributed computation. Traditional implementations of vector clocks require application messages to piggyback a vector of n integers (where n is the number of processes). This paper investigates the tracking of the causality relation on a subset of events (namely, the events that are defined as "relevant" from the application point of view) in a context where communication channels are not required to be FIFO, and where there is no a priori information on the connectivity of the communication graph or the communication pattern. More specifically, the paper proposes a suite of simple and efficient implementations of vector clocks that address the <it>reduction of the size of message timestamps</it>, i.e., they do their best to have message timestamps whose size is less than n. The relevance of such a suite of protocols is twofold. From a practical side, it constitutes the core of an <it>adaptive timestamping software layer</it> that can used by underlying applications. From a theoretical side, it provides a comprehensive view that helps better understand distributed causality-tracking mechanisms.</p>
Asynchronous distributed computation, causality, message-passing, timestamp, vector clock.
Michel Raynal, Jean-Michel H?lary, Roberto Baldoni, Giovanna Melideo, "Efficient Causality-Tracking Timestamping", IEEE Transactions on Knowledge & Data Engineering, vol. 15, no. , pp. 1239-1250, September/October 2003, doi:10.1109/TKDE.2003.1232275