Manifold Protocols TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A AA Companion slides for Distributed Computing.

Slides:



Advertisements
Similar presentations
C&O 355 Lecture 23 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
Advertisements

Bigamy Eli Gafni UCLA GETCO Outline Models, tasks, and solvability What is SM? r/w w.f. asynch computability Sperner Lemma as a consequence of the.
Map Overlay Algorithm. Birch forest Wolves Map 1: Vegetation Map 2: Animals.
Introduction to Software Engineering 7. Modeling Behaviour.
13.4 Map Coloring and the Four Color Theorem. We started this chapter by coloring the regions formed by a set of circles in the plane. But when do we.
Elementary Number Theory and Methods of Proof
From Topological Methods to Combinatorial Proofs of Kneser Graphs Daphne Der-Fen Liu 劉 德 芬 Department of Mathematics California State University, Los Angeles.
1 Nir Shavit Tel-Aviv University and Sun Microsystems Labs (Joint work with Maurice Herlihy of Brown University) © Herlihy and Shavit 2004 The Topological.
Two Techniques for Proving Lower Bounds Hagit Attiya Technion TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A.
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
How should we define corner points? Under any reasonable definition, point x should be considered a corner point x What is a corner point?
R/W Reductions Eli Gafni UCLA ICDCN06 12/30. Outline Tasks and r/w impossible task: –2 cons –3 cons NP-completeness R/W reduction “Weakest Unsolvable.
Great Theoretical Ideas in Computer Science.
Last time: terminology reminder w Simple graph Vertex = node Edge Degree Weight Neighbours Complete Dual Bipartite Planar Cycle Tree Path Circuit Components.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
The main idea of the article is to prove that there exist a tester of monotonicity with query and time complexity.
Shared Counters and Parallelism Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit.
ESE Einführung in Software Engineering X. CHAPTER Prof. O. Nierstrasz Wintersemester 2005 / 2006.
Graph Colouring Lecture 20: Nov 25.
Bit Complexity of Breaking and Achieving Symmetry in Chains and Rings.
Definition Dual Graph G* of a Plane Graph:
Deriving an Algorithm for the Weak Symmetry Breaking Task Armando Castañeda Sergio Rajsbaum Universidad Nacional Autónoma de México.
Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit Concurrent Skip Lists.
Hardness Results for Problems
Two-Process Systems TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A AA Companion slides for Distributed Computing.
C&O 355 Lecture 2 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A.
Win8 on Intel Programming Course The challenge Paul Guermonprez Intel Software
Distributed Consensus Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit.
Planar Graphs: Euler's Formula and Coloring Graphs & Algorithms Lecture 7 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.:
Multicore Programming
C&O 355 Mathematical Programming Fall 2010 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A.
1 © P. Kouznetsov A Note on Set Agreement with Omission Failures Rachid Guerraoui, Petr Kouznetsov, Bastian Pochon Distributed Programming Laboratory Swiss.
C&O 355 Mathematical Programming Fall 2010 Lecture 4 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A.
Section 1.8. Section Summary Proof by Cases Existence Proofs Constructive Nonconstructive Disproof by Counterexample Nonexistence Proofs Uniqueness Proofs.
Quantum Computing MAS 725 Hartmut Klauck NTU TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A.
Lecture 22 More NPC problems
CSE 20: Discrete Mathematics for Computer Science Prof. Shachar Lovett.
Graph Colouring L09: Oct 10. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including the famous.
Graph Colouring Lecture 20: Nov 25. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including.
Multiprocessor Architecture Basics Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit.
Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit Concurrent Skip Lists.
Images of pesticides By: Leslie London, University of Cape Town This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.
 2004 SDU 1 Lecture5-Strongly Connected Components.
C&O 355 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
6.853: Topics in Algorithmic Game Theory Fall 2011 Constantinos Daskalakis Lecture 9.
The Relative Power of Synchronization Operations Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit.
Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit Concurrent Skip Lists.
Colorless Wait-Free Computation
Algebraic Topology and Distributed Computing part two
Byzantine-Resilient Colorless Computaton
Elements of Combinatorial Topology
Algebraic Topology and Distributed Computing
Elements of Combinatorial Topology
Solvability of Colorless Tasks in Different Models
Wait-Free Computability for General Tasks
CS 154, Lecture 6: Communication Complexity
Discrete Mathematics for Computer Science
Depth Estimation via Sampling
Simulations and Reductions
Combinatorial Topology and Distributed Computing
Renaming and Oriented Manifolds
Combinatorial Topology and Distributed Computing
Rodolfo Conde Joint work with Sergio Rajsbaum Instituto de Matemáticas
Algebraic Topology and Distributed Computing part three
Computational Geometry
Combinatorial Topology and Distributed Computing
Combinatorial Topology and Distributed Computing
Presentation transcript:

Manifold Protocols TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A AA Companion slides for Distributed Computing Through Combinatorial Topology Maurice Herlihy & Dmitry Kozlov & Sergio Rajsbaum

Kinds of Results 2 Impossibility Separation Task T cannot be solved in model M Task T cannot be solved in model M Task T can be solved by a protocol for T’, but not vice-versa Distributed Computing Through Combinatorial Topology

Road Map 3 Manifolds Sperner’s Lemma and k-Set Agreement Immediate Snapshot Model Weak Symmetry-Breaking Separation results Distributed Computing Through Combinatorial Topology

Road Map 4 Manifolds Sperner’s Lemma and k-Set Agreement Immediate Snapshot Model Weak Symmetry-Breaking Separation results Distributed Computing Through Combinatorial Topology

Simplicial Complex 5 Distributed Computing Through Combinatorial Topology

6 Manifolds Every (n-1)-simplex a face of two n-simplexes Every (n-1)-simplex a face of two n-simplexes Distributed Computing Through Combinatorial Topology

7 Manifolds Every (n-1)-simplex a face of two n-simplexes Every (n-1)-simplex a face of two n-simplexes technically, a pseudo-manifold Distributed Computing Through Combinatorial Topology

8 Manifold with Boundary Internal (n-1)-simplex a face of two n-simplexes Internal (n-1)-simplex a face of two n-simplexes Boundary (n-1)-simplex a face of one n-simplex Boundary (n-1)-simplex a face of one n-simplex Boundary  C

Why Manifolds? 9 Nice combinatorial properties Many useful theorems Easy to prove certain claims True, most complexes are not manifolds …. Still a good place to start. Distributed Computing Through Combinatorial Topology

Road Map 10 Manifolds Sperner’s Lemma and k-Set Agreement Immediate Snapshot Model Weak Symmetry-Breaking Separation results Distributed Computing Through Combinatorial Topology

Immediate Snapshot Executions 11 Restricted form of Read-Write memory Protocol complexes are manifolds (Equivalent to regular R-W memory) But we will not prove it yet. Distributed Computing Through Combinatorial Topology

000 1 Write Single-writer, multi-reader variables 12

Distributed Computing Through Combinatorial Topology Snapshot Single-writer, multi-reader variables 13

Immediate Snapshot Executions 14 Pick a set of processes write together snapshot together Repeat with another set Distributed Computing Through Combinatorial Topology

Example Executions PQR write snap write snap write snap P??PQ?PQR 15 Each process writes, then takes snapshot Each process has a view time Distributed Computing Through Combinatorial Topology

Example Executions PQR write snap write snap write snap P??PQR 16 Moving last process one round earlier, Changes this view from PQ? to PQR PQR write snap write snap write snap P??PQ?PQR Distributed Computing Through Combinatorial Topology

PQR write snap write snap PQR PQR write snap write snap PQR PQR write snap write snap write snap P??PQR Example Executions 17 Moving last processes one round earlier, Changes this view from P?? to PQR Distributed Computing Through Combinatorial Topology

Protocol Complex Process (color) & view 18Distributed Computing Through Combinatorial Topology

Protocol Complex PQR write snap write snap write snap PQR write snap PQR write snap write snap 19Distributed Computing Through Combinatorial Topology

Standard Chromatic Subdivision 20 Distributed Computing Through Combinatorial Topology

Vertex (P i, ¾ i ) Combinatorial Definition (I) 21 Process name view ¾ i µ ¾ Input simplex ¾ Protocol complex Ch(¾) Distributed Computing Through Combinatorial Topology

Combinatorial Definition (II) 22 Each process's write appears in its own view P i 2 names(¾ i ). Snapshots are ordered ¾ i µ ¾ j or vice-versa Each snapshot ordered immediately after write if P i 2 names(¾ j ), then ¾ i µ ¾ j. If P j saw P i write … then P j ‘s snapshot not later than P j ‘s.

Manifold Theorem 23 If the input complex I is a manifold … Distributed Computing Through Combinatorial Topology

Manifold Theorem 24 … so is the immediate snapshot protocol complex Ch( I ). Distributed Computing Through Combinatorial Topology

Proof of Manifold Theorem 25 Let ¿ n-1 be an (n-1)- simplex of Ch( I ). Must prove that ¿ n-1 is a face of exactly one or two n-simplexes of Ch( I ). Distributed Computing Through Combinatorial Topology

Without Loss of Generality … 26 Simplex of I seen by last process Where ¾ i µ ¾ i+1 for 0 · i < n Re-index processes in execution order (ignoring ties) Distributed Computing Through Combinatorial Topology

Proof Strategy 27 Count the ways we can extend… Where ¾ n is an n-simplex of Ch(¾) ¿ n-1 = {(P 0, ¾ 0 ), …, (P n-1, ¾ n-1 )} ¿ n = {(P 0, ¾ 0 ), …, (P n-1, ¾ n-1 i, (P n, ¾ n )} Distributed Computing Through Combinatorial Topology

Cases 28 dim n-1 or dim n Boundary or internal 3 cases Distributed Computing Through Combinatorial Topology

29 ¿ n-1¿ n-1 ¾n-1¾n-1 Boundary (n-1)-simplex Case One Distributed Computing Through Combinatorial Topology

30 Exactly one n-simplex ¾ of I contains ¾ n-1 ¾ ¾n-1¾n-1 ¿n-1¿n-1 Case One Distributed Computing Through Combinatorial Topology

31 Exactly one n-simplex ¿ n of Ch( I ) contains ¿ n-1 ¿ n = ¿ n-1 [ h P n, ¾ i ¾ Case One Distributed Computing Through Combinatorial Topology

32 ¿n-1¿n-1 ¾n-1¾n-1 Internal (n-1)-simplex Case Two Distributed Computing Through Combinatorial Topology

33 Exactly two n-simplexes ¾ 0 & ¾ 1 of I contain ¾ n-1 ¾0¾0 ¾1¾1 Case Two Distributed Computing Through Combinatorial Topology

34 Exactly 2 n-simplexes ¿ 0 n & ¿ 1 n of Ch( I ) contain ¿ n-1 ¿ n 0 = ¿ n-1 [ h P n, ¾ 0 i ¿ n 1 = ¿ n-1 [ h P n, ¾ 1 i ¾0¾0 ¾1¾1 Case Three Distributed Computing Through Combinatorial Topology

35 ¿n-1¿n-1 ¾n-1¾n-1 n-simplex Case Three Distributed Computing Through Combinatorial Topology

Suppose 36 P n 2 names( ¾ k ) (P k saw P n ’s write) P n  names( ¾ k-1 ) (P k-1 did not see P n ’s write) Special case: k=0, ¾ -1 = ; ¾n µ ¾k¾n µ ¾k ¾n µ ¾k¾n µ ¾k ) ) ¾k-1 ½ ¾n¾k-1 ½ ¾n ¾k-1 ½ ¾n¾k-1 ½ ¾n ) ) Either ¾ k-1 ½ ¾ n ½ ¾ k or ¾ k-1 ½ ¾ n = ¾ k Case Three

37 P k-1 did not see P n P k did see P n P n between P k-1 & P k P n with P k This completes the proof. Case Three Distributed Computing Through Combinatorial Topology

Manifold Protocols 38 A protocol M ( I ) is a manifold protocol if If I is a manifold, so is M ( I ) M (  I ) =  M ( I ). Example: immediate snapshot Important: closed under composition Distributed Computing Through Combinatorial Topology

Road Map 39 Manifolds Sperner’s Lemma and k-Set Agreement Immediate Snapshot Model Weak Symmetry-Breaking Separation results

Distributed Computing Through Combinatorial Topology k-set Agreement: before

k-set Agreement: after k = 2 Distributed Computing Through Combinatorial Topology

Theorem 42 No Manifold Protocol can solve n-set agreement Including Immediate Snapshot Including read-write memory Distributed Computing Through Combinatorial Topology

Sperner Coloring 43Distributed Computing Through Combinatorial Topology

Sperner Coloring 44Distributed Computing Through Combinatorial Topology “Corners” have distinct colors

Sperner Coloring 45Distributed Computing Through Combinatorial Topology Edge vertexes have corner colors “Corners” have distinct colors

Sperner Coloring 46Distributed Computing Through Combinatorial Topology Edge vertexes have corner colors “Corners” have distinct colors Every vertex has face boundary colors

Sperner’s Lemma 47Distributed Computing Through Combinatorial Topology In any Sperner coloring, at least one n-simplex has all n+1 colors

Sperner Coloring for Manifolds with Boundary (base) 48 One color here Other color here Only those colors in interior Distributed Computing Through Combinatorial Topology

Sperner Coloring for Manifolds with Boundary (inductive) 49 M is n-manifold colored with ¦  M = [ i M i Where M i is non-empty (n-1)- manifold Sperner-colored with ¦ n {i } Distributed Computing Through Combinatorial Topology

Sperner’s Lemma for Manifolds 50Distributed Computing Through Combinatorial Topology MM Odd number of n- simplexes have all n+1 colors Sperner Coloring on Manifold M

Proof of Sperner’s Lemma 51 Induction on n Base One color here Other color here Odd number of changes Distributed Computing Through Combinatorial Topology

Induction Step 52 Distributed Computing Through Combinatorial Topology

Dual Graph One vertex per n-simplex … 53 Distributed Computing Through Combinatorial Topology

Dual Graph One vertex per n-simplex … One “external” vertex 54 Distributed Computing Through Combinatorial Topology

Discard One Color 55 n+1 colors “restricted”n colors Distributed Computing Through Combinatorial Topology

Edges 56 If two n-simplexes share an (n-1)-face … with restricted n colors … add an edge. Distributed Computing Through Combinatorial Topology

Edges 57 Same for external vertex Distributed Computing Through Combinatorial Topology

Some Vertexes have Degree Zero 58 Even degree Distributed Computing Through Combinatorial Topology

Some Vertexes have Degree Two 59 Even degree Only n restricted colors Distributed Computing Through Combinatorial Topology

All n+1 Colors ) Degree 1 60 Odd degree Distributed Computing Through Combinatorial Topology

Induction Hypothesis Odd number of n-colored simplexes 61 Distributed Computing Through Combinatorial Topology

Induction Hypothesis External vertex has odd degree 62 Distributed Computing Through Combinatorial Topology

Odd Degrees 63 One external vertex Even n-simplexes with n+1 colors? All the rest Distributed Computing Through Combinatorial Topology

Odd Degrees 64 One external vertex Even n-simplexes with n+1 colors? All the rest Every graph Even number of odd degree vertexes sum of degrees is even… each edge contributes 2 Distributed Computing Through Combinatorial Topology

Odd Degrees 65 One external vertex Even n-simplexes with n+1 colors? All the rest Even number of odd degree vertexes Distributed Computing Through Combinatorial Topology

Parity 66 One external vertex Even number of odd degree vertexes n-simplexes with n+1 colors? Even Odd Distributed Computing Through Combinatorial Topology

Parity 67 One external vertex Even number of odd degree vertexes n-simplexes with n+1 colors? Even Odd QED Distributed Computing Through Combinatorial Topology

No Manifold Task can solve n-Set Agreement 68 Assume protocol exists: Run manifold task protocol Choose value based on vertex Idea: Color vertex with “winning” process name … Distributed Computing Through Combinatorial Topology

69 Manifold Task for n-Set Agreement manifold Only P wins Only Q and R win Sperner coloring

70 Manifold Task for n-Set Agreement manifold Sperner coloring Distributed Computing Through Combinatorial Topology

71 Manifold Task for n-Set Agreement manifold Sperner coloring n+1 colors Contradiction: at most n can win Execution with n+1 winners Distributed Computing Through Combinatorial Topology

Road Map 72 Manifolds Sperner’s Lemma and k-Set Agreement Immediate Snapshot Model Weak Symmetry-Breaking Separation results Distributed Computing Through Combinatorial Topology

Weak Symmetry-Breaking 73 Group 0 Group 1 If all processes participate … At least one process in each group Distributed Computing Through Combinatorial Topology

Weak Symmetry-Breaking 74 Group 0 Group 1 If fewer participate … we don’t care. Distributed Computing Through Combinatorial Topology

Anonymous Protocols 75 Trivial solution: choose name parity WSB protocol should be anonymous Output depends on … Input … Interleaving … But not name Restriction on protocol, not task!

Road Map 76 Manifolds Sperner’s Lemma and k-Set Agreement Immediate Snapshot Model Weak Symmetry-Breaking Separation results

Next Step 77 Construct manifold task that solves weak-symmetry-breaking Because it is a manifold, it cannot solve n-set agreement Separation: n-set agreement is harder than WSB Distributed Computing Through Combinatorial Topology

A Simplex 78Distributed Computing Through Combinatorial Topology

Standard Chromatic Subdivision 79Distributed Computing Through Combinatorial Topology

Glue Three Copies Together 80Distributed Computing Through Combinatorial Topology

Glue Opposite Edges 81Distributed Computing Through Combinatorial Topology

The Moebius Task 82Distributed Computing Through Combinatorial Topology

Defines a Manifold Task 83Distributed Computing Through Combinatorial Topology boundary

Manifold Task 84Distributed Computing Through Combinatorial Topology Note Sperner coloring on boundary boundary

Terminology 85Distributed Computing Through Combinatorial Topology Each face has a central simplex 1-dim 2-dim

Subdivided Faces 86Distributed Computing Through Combinatorial Topology external internal

Black-and-White Coloring (I) 87Distributed Computing Through Combinatorial Topology Central 2-simplex: White near external face Black elsewhere

Black-and-White Coloring (II) 88Distributed Computing Through Combinatorial Topology Black Central simplex of external face: Central simplex of external face:

Black-and-White Coloring (III) 89Distributed Computing Through Combinatorial Topology All others White

Moebius Solves WSB 90Distributed Computing Through Combinatorial Topology

Moebius Solves WSB 91Distributed Computing Through Combinatorial Topology

Moebius Solves WSB 92Distributed Computing Through Combinatorial Topology Every n-simplex has both black & white colors. Boundary coloring is symmetric!

General Construction 93 n+1 “copies” » 0, … » n of Ch(¾) »0»0 »0»0 »n»n »n»n … … »1»1 »1»1 (picture not exact!) n = 2N Distributed Computing Through Combinatorial Topology

General Construction 94 »0»0 »0»0 »i-1»i-1 »i-1»i-1 … … n = 2N »i»i »i»i »i+1»i+1 »i+1»i+1 Face i is external »k»k »k»k … … … … »n»n »n»n Distributed Computing Through Combinatorial Topology

General Construction 95 »0»0 »0»0 »i-1»i-1 »i-1»i-1 … … n = 2N »i»i »i»i »i+1»i+1 »i+1»i+1 Face i is external »k»k »k»k … … … … »n»n »n»n 2N others

Distributed Computing Through Combinatorial Topology General Construction 96 »0»0 »0»0 »i-1»i-1 »i-1»i-1 … … n = 2N »i»i »i»i »i+1»i+1 »i+1»i+1 »k»k »k»k … … … … »n»n »n»n Identify Faces j Rank j+N out of 2N Face i is external

Distributed Computing Through Combinatorial Topology General Construction 97 »0»0 »0»0 »i-1»i-1 »i-1»i-1 … … n = 2N »i»i »i»i »i+1»i+1 »i+1»i+1 »k»k »k»k … … … … »n»n »n»n Symmetric! Rank j+N out of 2N Face i is external Why it’s a (non-orientable) manifold Why it’s a (non-orientable) manifold Why it works only for even dimensions

Open Problem 98 Generalize to odd dimensions … or find counterexample. Distributed Computing Through Combinatorial Topology

Black-and-White Coloring (I) 99Distributed Computing Through Combinatorial Topology Central n-simplex: White near external face Black elsewhere

Black-and-White Coloring (II) 100Distributed Computing Through Combinatorial Topology Black Central m-simplexes of external face for m > 0 Central m-simplexes of external face for m > 0

Black-and-White Coloring (III) 101Distributed Computing Through Combinatorial Topology All others White

No Monochromatic n-simplexes 102Distributed Computing Through Combinatorial Topology Central n-simplex By construction

No Monochromatic n-simplexes 103Distributed Computing Through Combinatorial Topology Intersects internal face Black at n-center White at edge

No Monochromatic n-simplexes 104Distributed Computing Through Combinatorial Topology Intersects external face White at n-center Black at m-center, 0 < m < n

Progress 105Distributed Computing Through Combinatorial Topology Weak Symmetry-Breaking Moebius Task no yes Set Agreement

Next Step 106Distributed Computing Through Combinatorial Topology Weak Symmetry-Breaking Moebius Task no yes Anonymous Set Agreement

107 Group 1 Choose name with anonymous n-Set agreement Choose name with anonymous n-Set agreement My name written? My name written? Group 0 no · n+1 Write name Read names yes Set Agreement  WSB Distributed Computing Through Combinatorial Topology

Choose name with anonymous n-Set agreement Choose name with anonymous n-Set agreement Proof 108 Group 1 My name written? My name written? Group 0 no · n+1 Write name Read names yes Set Agreement  WSB If all n+1 participate … First name written joins Group 0 Some name not chosen, it joins Group 1 Distributed Computing Through Combinatorial Topology

Choose name with anonymous n-Set agreement Choose name with anonymous n-Set agreement Proof 109 Group 1 My name written? My name written? Group 0 no · n+1 Write name Read names yes Set Agreement  WSB Protocol is anonymous … Because we use anonymous set agreement “black box” (Any set agreement protocol can be made anonymous) Distributed Computing Through Combinatorial Topology

Conclusions 110 Some tasks harder than others … n-set agreement solves weak-symmetry breaking But not vice-versa Distributed Computing Through Combinatorial Topology

Remarks 111 Combinatorial and algorithmic arguments complement one another Combinatorial: what we can’t do Algorithmic: what we can do Distributed Computing Through Combinatorial Topology

112 This work is licensed under a Creative Commons Attribution- ShareAlike 2.5 License.Creative Commons Attribution- ShareAlike 2.5 License You are free: –to Share — to copy, distribute and transmit the work –to Remix — to adapt the work Under the following conditions: –Attribution. You must attribute the work to “Distributed Computing through Combinatorial Topology” (but not in any way that suggests that the authors endorse you or your use of the work). –Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same, similar or a compatible license. For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to – Any of the above conditions can be waived if you get permission from the copyright holder. Nothing in this license impairs or restricts the author's moral rights. Distributed Computing through Combinatorial Topology