Distributed Computing

, Volume 11, Issue 4, pp 169–189 | Cite as

Causality and atomicity in distributed computations

  • Ajay D. Kshemkalyani


In a distributed system, high-level actions can be modeled by nonatomic events. This paper proposes causality relations between distributed nonatomic events and provides efficient testing conditions for the relations. The relations provide a fine-grained granularity to specify causality relations between distributed nonatomic events. The set of relations between nonatomic events is complete in first-order predicate logic, using only the causality relation between atomic events. For a pair of distributed nonatomic events X and Y, the evaluation of any of the causality relations requires \(|N_X| \times |N_Y|\) integer comparisons, where \(|N_X|\) and \(|N_Y|\), respectively, are the number of nodes on which the two nonatomic events X and Y occur. In this paper, we show that this polynomial complexity of evaluation can by simplified to a linear complexity using properties of partial orders. Specifically, we show that most relations can be evaluated in \(\min(|N_X|,|N_Y|)\) integer comparisons, some in \(|N_X|\) integer comparisons, and the others in \(|N_Y|\) integer comparisons. During the derivation of the efficient testing conditions, we also define special system execution prefixes associated with distributed nonatomic events and examine their knowledge-theoretic significance.

Key words:Distributed computation – Distributed system – Atomicity – Time – Causality – Synchronization – Global predicates – Concurrency 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Ajay D. Kshemkalyani
    • 1
  1. 1. Department of Electrical Engineering and Computer Science (MC 154), University of Illinois at Chicago, 851 South Morgan Street, Chicago, IL 60607-7053, USA (e-mail: US

Personalised recommendations