Necessary and sufficient conditions on information for causal message ordering and their optimal implementation

  • Authors:
  • Ajay D. Kshemkalyani;Mukesh Singhal

  • Affiliations:
  • ECECS Department, P.O. Box 210030, University of Cincinnati, Cincinnati, OH;Department of Computer and Information Science, The Ohio State University, 2015 Neil Avenue, Columbus, OH

  • Venue:
  • Distributed Computing
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 message ordering in an asynchronous system is Ω(n2), 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(n2), the overhead is likely to be much smaller on the average, and is always the least possible.