Topology in Distributed Computing

Topology is the general mathematical theory of convergence. Distributed computing is the formal investigation of communicating concurrent processes. We explore applications of topology to distributed computing in two directions: (1) Point-set topology and (2) algebraic topology. We use the former to study the topological structure of infinite execution trees. This enables us to unify a number of impossibility proofs, in particular, the impossibility of distributed consensus — the task of all processes in a system agreeing on a single value — in various (close to) asynchronous systems with crash failures. The latter is used to look into the combinatorial structure of configurations, i.e., the collection of current process states in the system. Configurations are regarded as simplices in a simplicial complex, and topological incompatibility of such complexes is utilized to prove the impossibility of a generalization of distributed consensus in certain systems. The particular problem considered is k-set agreement, which is the task of letting all processes agree to values within a set of at most k elements.

[1]  Leslie Lamport,et al.  Proving the Correctness of Multiprocess Programs , 1977, IEEE Transactions on Software Engineering.

[2]  Nicola Santoro,et al.  Time is Not a Healer , 1989, STACS.

[3]  Bernadette Charron-Bost,et al.  Revisiting Safety and Liveness in the Context of Failures , 2000, CONCUR.

[4]  Shlomo Moran,et al.  Closed schedulers: a novel technique for analyzing asynchronous protocols , 1995, Distributed Computing.

[5]  Maurice Herlihy,et al.  Algebraic spans , 1995, PODC '95.

[6]  Danny Dolev,et al.  On the minimal synchronism needed for distributed consensus , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[7]  Yoram Moses,et al.  A Layered Analysis of Consensus , 2002, SIAM J. Comput..

[8]  H. Herrlich,et al.  Category theory : an introduction , 1973 .

[9]  R. Ho Algebraic Topology , 2022 .

[10]  Michael E. Saks,et al.  Wait-free k-set agreement is impossible: the topology of public knowledge , 1993, STOC.

[11]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1983, PODS '83.

[12]  Hagit Attiya,et al.  Distributed Computing: Fundamentals, Simulations and Advanced Topics , 1998 .

[13]  Maurice Herlihy,et al.  The asynchronous computability theorem for t-resilient tasks , 1993, STOC.

[14]  Faith Ellen,et al.  Hundreds of impossibility results for distributed computing , 2003, Distributed Computing.

[15]  Bowen Alpern,et al.  Defining Liveness , 1984, Inf. Process. Lett..