The Coordination Criterion
Joseph M. Hellerstein

TL;DR
This paper introduces a universal coordination criterion in distributed systems, identifying when coordination is inherently necessary based on observable outcomes and causal history extensions.
Contribution
It provides a general, specification-level criterion for determining the necessity of coordination, unifying various classical results and tradeoffs in distributed computing.
Findings
Coordination-free implementations exist iff outcomes evolve monotonically with causal history extensions.
The criterion applies broadly, explaining protocols, impossibility results, and consistency tradeoffs.
It offers a unified semantic framework for understanding coordination requirements.
Abstract
When is coordination intrinsically required by a distributed specification, rather than imposed by a particular protocol or implementation strategy? We give a general answer using minimal assumptions. In an asynchronous message-passing model, we represent executions as Lamport histories: collections of events partially ordered under happens-before. We abstract away from implementation mechanics and reason only about the observable outcomes that a specification admits at each history. We show that a specification admits a coordination-free implementation if and only if observable outcomes evolve monotonically as the history is causally extended. This Coordination Criterion is stated entirely at the level of specifications, independent of any particular programming language, object implementation, or protocol structure. It yields a sharp boundary between specifications that can be…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Formal Methods in Verification · Logic, programming, and type systems
