The vector-clock size necessary to characterize causality in a distributed computation is bounded by the dimension of the partial order induced by that computation. In an arbitrary distributed computation the dimension can be as large as the width, which in turn can be as large as the number of processes in the computation. Most vector clock algorithms, and all online ones, simply use a vector of size equal to the number of processes. In practice the dimension may be much smaller. It is the purpose of this paper to provide empirical evidence that the dimension of various distributed computations is often substantially smaller than the number of processes. We have found that typical distributed computations, with as many as 300 processes, have dimension less than 10. To achieve this quantification we developed various theorems and algorithms which we also describe. 1 Motivation An important problem in distributed systems is monitoring and debugging distributed computations. This proble...
Paul A. S. Ward