Summary.
This paper formulates necessary and sufficient conditions on the information required for enforcing causal ordering in a distributed system with asynchronous communication. The paper then presents an algorithm for enforcing causal message ordering. The algorithm allows a process to multicast to arbitrary and dynamically changing process groups. We show that the algorithm is optimal in the space complexity of the overhead of control information in both messages and message logs. The algorithm achieves optimality by transmitting the bare minimum causal dependency information specified by the necessity conditions, and using an encoding scheme to represent and transmit this information. We show that, in general, the space complexity of causal 0message ordering in an asynchronous system is \(\Omega(n^{2})\), where \(n\) is the number of nodes in the system. Although the upper bound on space complexity of the overhead of control information in the algorithm is \(O(n^{2})\), the overhead is likely to be much smaller on the average, and is always the least possible.
Similar content being viewed by others
Author information
Authors and Affiliations
Additional information
Received: January 1996 / Accepted: February 1998
Rights and permissions
About this article
Cite this article
Kshemkalyani, A., Singhal, M. Necessary and sufficient conditions on information for causal message ordering and their optimal implementation. Distrib Comput 11, 91–111 (1998). https://doi.org/10.1007/s004460050044
Issue Date:
DOI: https://doi.org/10.1007/s004460050044