On reducing the complexity of matrix clocks
<|reference_start|>On reducing the complexity of matrix clocks: Matrix clocks are a generalization of the notion of vector clocks that allows the local representation of causal precedence to reach into an asynchronous distributed computation's past with depth $x$, where $x\ge 1$ is an integer. Maintaining matrix clocks correctly in a system of $n$ nodes requires that everymessage be accompanied by $O(n^x)$ numbers, which reflects an exponential dependency of the complexity of matrix clocks upon the desired depth $x$. We introduce a novel type of matrix clock, one that requires only $nx$ numbers to be attached to each message while maintaining what for many applications may be the most significant portion of the information that the original matrix clock carries. In order to illustrate the new clock's applicability, we demonstrate its use in the monitoring of certain resource-sharing computations.<|reference_end|>
@article{drummond2003on,
    title={On reducing the complexity of matrix clocks},
    author={L. M. A. Drummond, V. C. Barbosa},
    journal={Parallel Computing 29 (2003), 895-905},
    year={2003},
    doi={10.1016/S0167-8191(03)00066-8},
    archivePrefix={arXiv},
    eprint={cs/0309042},
    primaryClass={cs.DC}
}