Tech Report CS-96-03
The Topological Structure of Asynchronous Computability
Maurice Herlihy and Nir Shavit
We give necessary and sufficient combinatorial conditions characterizing the tasks that can be solved by asynchronous processes, of which all but one can fail, that communicate by reading and writing a shared memory. We introduce a new formalism for tasks, based on notions from classical algebraic and combinatorial topology, in which a task's possible input and output values are each associated with high-dimensional geometric structures called simplicial complexes. We characterize computability in terms of the topological properties of these complexes. This characterization has a surprising geometric interpretation: a task is solvable if and only if the complex representing the task's allowable inputs can be mapped to the complex representing the task's allowable outputs by a function satisfying certain simple regularity properties.
Our formalism thus replaces the ``operational'' notion of a wait-free decision task, expressed in terms of interleaved computations unfolding in time, by a static ``combinatorial'' description expressed in terms of relations among topological spaces, allowing us to exploit powerful theorems from the classic literature on algebraic and combinatorial topology. This approach yields the first impossibility results for several long-standing open problems in distributed computing, such as the ``renaming'' problem of Attiya et al., and the ``$k$-set agreement'' problem of Chaudhuri.