Distributed Computing Through Combinatorial Topology Info
How do we prove that a task (e.g., consensus, leader election) is impossible in a certain model?
This content is structured to be pedagogical: starting with the "why," moving to the core mathematical analogy, and ending with a concrete example. 1. Introduction: The Gap Between Code and Reality Distributed systems are notoriously hard. Unlike sequential programs, distributed algorithms run on multiple nodes that communicate via an unreliable network (asynchronous, lossy) and can fail (crash or behave maliciously). Distributed Computing Through Combinatorial Topology
For consensus, output must be either all 0s or all 1s. But a crashed process outputs nothing. So the output complex is two disjoint points (0 and 1) — a disconnected space. How do we prove that a task (e
A wait-free algorithm defines a simplicial map ( \Phi ) from the input complex (connected) to the output complex (disconnected). But a simplicial map sends vertices to vertices and edges to edges. Since there is no edge between 0 and 1 in the output complex, all vertices in the input complex must map to the same output vertex. Introduction: The Gap Between Code and Reality Distributed