Efficient Timestamps for Capturing Causality


<lb>Consider an asynchronous system consisting of processes that communicate via message-passing.<lb>The processes communicate over a potentially incomplete communication network consisting of reli-<lb>able bidirectional communication channels. Thus, not every pair of processes is necessarily able to<lb>communicate with each other directly.<lb>The goal of the algorithms discussed in this paper is to assign timestamps to the events at all the<lb>processes such that (a) distinct events are assigned distinct timestamps, and (b) the happened-before<lb>relationship between the events can be inferred from the timestamps. We consider three types of<lb>algorithms for assigning timestamps to events: (i) Online algorithms that must (greedily) assign a<lb>timestamp to each event when the event occurs. (ii) Offline algorithms that assign timestamps to<lb>event after a finite execution is complete. (iii) Inline algorithms that assign a timestamp to each<lb>event when it occurs, but may modify some elements of a timestamp again at a later time.<lb>For specific classes of graphs, particularly star graphs and graphs with connectivity ≥ 1, the paper<lb>presents bounds on the length of vector timestamps assigned by an online algorithm. The paper<lb>then presents an inline algorithm, which typically assigns substantially smaller timestamps than the<lb>optimal-length online vector timestamps. In particular, the inline algorithm assigns timestamp in<lb>the form of a tuple containing 2c+ 2 integer elements, where c is the size of the vertex cover for the<lb>underlying communication graph. A version of this report, excluding Section 5.1, was submitted for review to a conference on May 11, 2016. 1<lb>ar<lb>X<lb>iv<lb>:1<lb>60<lb>6.<lb>05<lb>96<lb>2v<lb>1<lb>[<lb>cs<lb>.D<lb>C<lb>]<lb>2<lb>0<lb>Ju<lb>n<lb>20<lb>16

Extracted Key Phrases

5 Figures and Tables

Cite this paper

@article{Vaidya2016EfficientTF, title={Efficient Timestamps for Capturing Causality}, author={Nitin H. Vaidya and Sandeep S. Kulkarni}, journal={CoRR}, year={2016}, volume={abs/1606.05962} }