Distributed Computing Through Combinatorial Topology

Distributed Computing Through Combinatorial Topology describes techniques for analyzing distributed algorithms based on award winning combinatorial topology research. The authors present a solid theoretical foundation relevant to many real systems reliant on parallelism with unpredictable delays, such as multicore microprocessors, wireless networks, distributed systems, and Internet protocols. Today, a new student or researcher must assemble a collection of scattered conference publications, which are typically terse and commonly use different notations and terminologies. This book provides a self-contained explanation of the mathematics to readers with computer science backgrounds, as well as explaining computer science concepts to readers with backgrounds in applied mathematics. The first section presents mathematical notions and models, including message passing and shared-memory systems, failures, and timing models. The next section presents core concepts in two chapters each: first, proving a simple result that lends itself to examples and pictures that will build up readers' intuition; then generalizing the concept to prove a more sophisticated result. The overall result weaves together and develops the basic concepts of the field, presenting them in a gradual and intuitively appealing way. The book's final section discusses advanced topics typically found in a graduate-level course for those who wish to explore further. Gathers knowledge otherwise spread across research and conference papers using consistent notations and a standard approach to facilitate understandingPresents unique insights applicable to multiple computing fields, including multicore microprocessors, wireless networks, distributed systems, and Internet protocols Synthesizes and distills material into a simple, unified presentation with examples, illustrations, and exercises

[1]  Shlomo Moran,et al.  Extended Impossibility Results for Asynchronous Complete Networks , 1987, Inf. Process. Lett..

[2]  Maurice Herlihy,et al.  The topology of shared-memory adversaries , 2010, PODC '10.

[3]  Sergio Rajsbaum,et al.  New combinatorial topology bounds for renaming: the lower bound , 2010, Distributed Computing.

[4]  Maurice Herlihy,et al.  A tale of two directories: implementing distributed shared objects in Java , 1999, JAVA '99.

[5]  Achour Mostéfaoui,et al.  From adaptive renaming to set agreement , 2009, Theor. Comput. Sci..

[6]  Sergio Rajsbaum,et al.  New combinatorial topology upper and lower bounds for renaming , 2008, PODC '08.

[7]  Yehuda Afek,et al.  Asynchrony from Synchrony , 2012, ICDCN.

[8]  Maurice Herlihy,et al.  Axioms for concurrent objects , 1987, POPL '87.

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

[10]  Maurice Herlihy,et al.  New Perspectives in Distributed Computing , 1999, MFCS.

[11]  Yoram Moses,et al.  Knowledge and Common Knowledge in a Byzantine Environment I: Crash Failures , 1986, TARK.

[12]  Achour Mostéfaoui,et al.  Conditions on input vectors for consensus solvability in asynchronous distributed systems , 2003, J. ACM.

[13]  Maurice Herlihy,et al.  The Topology of Asynchronous Byzantine Colorless Tasks , 2013, ArXiv.

[14]  Nancy A. Lynch,et al.  A Lower Bound for the Time to Assure Interactive Consistency , 1982, Inf. Process. Lett..

[15]  Maurice Herlihy,et al.  Low contention linearizable counting , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[16]  Maurice Herlihy,et al.  How to Make Replicated Data Secure , 1987, CRYPTO.

[17]  Eric Goubault,et al.  Algebraic topology and concurrency , 2006, Theor. Comput. Sci..

[18]  Maurice Herlihy,et al.  A Wait-Free Classification of Loop Agreement Tasks , 1998, DISC.

[19]  Achour Mostéfaoui,et al.  Synchronous condition-based consensus , 2006, Distributed Computing.

[20]  Maurice Herlihy,et al.  Unifying synchronous and asynchronous message-passing models , 1998, PODC '98.

[21]  Maurice Herlihy,et al.  Subconsensus Tasks: Renaming Is Weaker Than Set Agreement , 2006, DISC.

[22]  Mark Moir,et al.  Wait-Free Algorithms for Fast, Long-Lived Renaming , 1995, Sci. Comput. Program..

[23]  Leslie Lamport,et al.  The part-time parliament , 1998, TOCS.

[24]  Idit Keidar,et al.  Impossibility Results and Lower Bounds for Consensus under Link Failures , 2008, SIAM J. Comput..

[25]  Nancy A. Lynch,et al.  Tight bounds for k-set agreement , 2000, J. ACM.

[26]  André Schiper,et al.  The Heard-Of model: computing in distributed systems with benign faults , 2009, Distributed Computing.

[27]  Elsevier Sdol,et al.  Journal of Parallel and Distributed Computing , 2009 .

[28]  Sam Toueg,et al.  Simulating authenticated broadcasts to derive simple fault-tolerant algorithms , 1987, Distributed Computing.

[29]  Rachid Guerraoui,et al.  The Complexity of Early Deciding Set Agreement , 2011, SIAM J. Comput..

[30]  J. A. Bondy,et al.  Graph Theory with Applications , 1978 .

[31]  Michel Raynal,et al.  The universe of symmetry breaking tasks , 2011, PODC '11.

[32]  Hagit Attiya,et al.  The Combinatorial Structure of Wait-Free Solvable Tasks , 2002, SIAM J. Comput..

[33]  K. Fan Simplicial maps from an orientable n-pseudomanifold into Sm with the octahedral triangulation* , 1967 .

[34]  Michael Henle,et al.  A combinatorial introduction to topology , 1978 .

[35]  Maurice Herlihy,et al.  Lock-free garbage collection for multiprocessors , 1991, SPAA '91.

[36]  Maurice Herlihy,et al.  The decidability of distributed decision tasks (extended abstract) , 1997, STOC '97.

[37]  Michael O. Rabin,et al.  Recursive Unsolvability of Group Theoretic Problems , 1958 .

[38]  Maurice Herlihy,et al.  A methodology for implementing highly concurrent data structures , 1990, PPOPP '90.

[39]  Michel Raynal,et al.  The renaming problem in shared memory systems: An introduction , 2011, Comput. Sci. Rev..

[40]  Maurice Herlihy,et al.  Set consensus using arbitrary objects (preliminary version) , 1994, PODC '94.

[41]  Maurice Herlihy,et al.  Upper bound on the complexity of solving hard renaming , 2013, PODC '13.

[42]  Luca Benini,et al.  A hardware/software framework for supporting transactional memory in a MPSoC environment , 2007, CARN.

[43]  Danny Dolev,et al.  Optimal Resilience Asynchronous Approximate Agreement , 2004, OPODIS.

[44]  Juhua Pu,et al.  A Classification of Degenerate Loop Agreement , 2008, IFIP TCS.

[45]  André Schiper,et al.  Structured Derivation of Semi-Synchronous Algorithms , 2011, DISC.

[46]  Shlomi Dolev,et al.  12th International Symposium on Stabilization, Safety, and Security of Distributed Systems , 2014, Inf. Comput..

[47]  Maurice Herlihy,et al.  The Aleph Toolkit: Support for Scalable Distributed Shared Objects , 1999, CANPC.

[48]  John Havlicek Computable obstructions to wait-free computability , 2000, Distributed Computing.

[49]  M. Herlihy,et al.  Computing in the Presence of Concurrent Solo Executions , 2014, LATIN.

[50]  Sun Fire V20z Sun Microsystems , 1996 .

[51]  Eli Gafni,et al.  Round-by-round fault detectors (extended abstract): unifying synchrony and asynchrony , 1998, PODC '98.

[52]  Zhiwei Xu,et al.  Classifying rendezvous tasks of arbitrary dimension , 2009, Theor. Comput. Sci..

[53]  Maurice Herlihy,et al.  Wait-free synchronization , 1991, TOPL.

[54]  Nancy A. Lynch,et al.  Bounds on the time to reach agreement in the presence of timing uncertainty , 1994, JACM.

[55]  Shmuel Zaks,et al.  A Combinatorial Characterization of the Distributed 1-Solvable Tasks , 1990, J. Algorithms.

[56]  Michel Raynal,et al.  Computability in distributed computing: a Tutorial , 2012, SIGA.

[57]  Nancy A. Lynch,et al.  On the Correctness of Orphan Elimination Algorithms. , 1987 .

[58]  Dmitry N. Kozlov Weak symmetry breaking and abstract simplex paths , 2015, Math. Struct. Comput. Sci..

[59]  Shmuel Zaks,et al.  A combinatorial characterization of the distributed tasks which are solvable in the presence of one faulty processor , 1988, PODC '88.

[60]  Michel Raynal,et al.  The Iterated Restricted Immediate Snapshot Model , 2008, COCOON.

[61]  Nancy A. Lynch,et al.  A tight lower bound for k-set agreement , 1993, Proceedings of 1993 IEEE 34th Annual Foundations of Computer Science.

[62]  Keith Marzullo,et al.  Designing algorithms for dependent process failures , 2003 .

[63]  Michael K. Reiter,et al.  On k-Set Consensus Problems in Asynchronous Systems , 2001, IEEE Trans. Parallel Distributed Syst..

[64]  Maurice Herlihy,et al.  Efficient Atomic Snapshots Using Lattice Agreement (Extended Abstract) , 1992, WDAG.

[65]  P. Garst,et al.  Cohen-macaulay complexes and group actions. , 1979 .

[66]  Maurice Herlihy,et al.  An Axiomatic Approach to Computing the Connectivity of Synchronous and Asynchronous Systems , 2009, GETCO@DISC.

[67]  Ophir Rachman,et al.  Atomic snapshots using lattice agreement , 1995, Distributed Computing.

[68]  Maurice Herlihy,et al.  Time-Lapse Snapshots , 1992, SIAM J. Comput..

[69]  Maurice Herlihy,et al.  A classification of wait-free loop agreement tasks , 2003, Theor. Comput. Sci..

[70]  Maurice Herlihy Fun with hardware transactional memory , 2014, SIGMOD Conference.

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

[72]  Eli Gafni,et al.  Immediate atomic snapshots and fast renaming , 1993, PODC '93.

[73]  Francis Sergeraert,et al.  The Computability Problem in Algebraic Topology , 1994 .

[74]  Michael K. Reiter,et al.  Objects shared by Byzantine processes , 2000, Distributed Computing.

[75]  Eli Gafni,et al.  Structured derivations of consensus algorithms for failure detectors , 1998, PODC '98.

[76]  Jim Gray,et al.  Notes on Data Base Operating Systems , 1978, Advanced Course: Operating Systems.

[77]  Maurice Herlihy,et al.  Low contention load balancing on large-scale multiprocessors , 1992, SPAA '92.

[78]  Maurice Herlihy The Multicore Revolution , 2007, FSTTCS.

[79]  Maurice Herlihy,et al.  Randomized greedy hot-potato routing , 2000, SODA '00.

[80]  Michel Raynal,et al.  The k-simultaneous consensus problem , 2010, Distributed Computing.

[81]  Ronald Fagin,et al.  Reasoning about knowledge , 1995 .

[82]  Michel Raynal,et al.  The multiplicative power of consensus numbers , 2010, PODC '10.

[83]  Maurice Herlihy,et al.  The topological structure of asynchronous computability , 1999, JACM.

[84]  Michel Raynal,et al.  Visiting Gafni's Reduction Land: From the BG Simulation to the Extended BG Simulation , 2009, SSS.

[85]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[86]  Soma Chaudhuri,et al.  More Choices Allow More Faults: Set Consensus Problems in Totally Asynchronous Systems , 1993, Inf. Comput..

[87]  Sam Toueg,et al.  Generalized Irreducibility of Consensus and the Equivalence of t-Resilient and Wait-Free Implementations of Consensus , 2004, SIAM J. Comput..

[88]  Maurice Herlihy,et al.  The topology of distributed adversaries , 2013, Distributed Computing.

[89]  Michael Joswig,et al.  Branched Coverings, Triangulations, and 3-Manifolds , 2001, math/0108202.

[90]  Maurice Herlihy,et al.  Wait-free data structures in the asynchronous PRAM model , 1990, SPAA '90.

[91]  Maurice Herlihy,et al.  Avalon : language support for reliable distributed systems , 1986 .

[92]  Petr Kuznetsov,et al.  Relating L-resilience and wait-freedom via hitting sets , 2011, ICDCN 2011.

[93]  Maurice Herlihy,et al.  Hard-Potato routing , 2000, STOC '00.

[94]  Danny Dolev,et al.  Cheating husbands and other stories: A case study of knowledge, action, and communication , 1986, Distributed Computing.

[95]  Nancy A. Lynch,et al.  Consensus in the presence of partial synchrony , 1988, JACM.

[96]  Rachid Guerraoui,et al.  The Disagreement Power of an Adversary , 2009, DISC.

[97]  Maurice Herlihy,et al.  The art of multiprocessor programming , 2020, PODC '06.

[98]  Nancy A. Lynch,et al.  Reaching approximate agreement in the presence of faults , 1986, JACM.

[99]  John Havlicek A Note on the Homotopy Type of Wait-Free Atomic Snapshot Protocol Complexes , 2004, SIAM J. Comput..

[100]  Maurice Herlihy,et al.  Specifying graceful degradation in distributed systems , 1987, PODC '87.

[101]  Dimitrios Michailidis Fast set agreement in the presence of timing uncertainty , 1999, PODC '99.

[102]  Danny Dolev,et al.  Authenticated Algorithms for Byzantine Agreement , 1983, SIAM J. Comput..

[103]  Jun Wang,et al.  A New Algorithm to Solve Synchronous Consensus for Dependent Failures , 2005, Sixth International Conference on Parallel and Distributed Computing Applications and Technologies (PDCAT'05).

[104]  Maurice Herlihy,et al.  Lower bounds for wait-free computation in message-passing systems , 1990, PODC '90.

[105]  Michel Raynal,et al.  Renaming Is Weaker Than Set Agreement But for Perfect Renaming: A Map of Sub-consensus Tasks , 2012, LATIN.

[106]  Achour Mostéfaoui,et al.  The Combined Power of Conditions and Information on Failures to Solve Asynchronous Set Agreement , 2008, SIAM J. Comput..

[107]  Maurice Herlihy,et al.  Inheritance of synchronization and recovery properties in Avalon/C++ , 1988, Computer.

[108]  Hagit Attiya,et al.  Renaming in an asynchronous environment , 1990, JACM.

[109]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1985, JACM.

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

[111]  Maurice Herlihy,et al.  Counting networks and multi-processor coordination , 1991, STOC '91.

[112]  Nir Shavit,et al.  Toward a Topological Characterization of Asynchronous Complexity , 2006, SIAM J. Comput..

[113]  Maurice Herlihy,et al.  Threshold counters with increments and decrements , 2002, Theor. Comput. Sci..

[114]  Sergio Rajsbaum,et al.  New combinatorial topology bounds for renaming: The upper bound , 2012, JACM.

[115]  Shmuel Zaks,et al.  Tight Bounds on the Round Complexity of Distributed 1-Solvable Tasks , 1995, Theor. Comput. Sci..

[116]  Soma Chaudhuri,et al.  Understanding the Set Consensus Partial Order Using the Borowsky-Gafni Simulation (Extended Abstract) , 1996, WDAG.

[117]  Michel Raynal,et al.  A Survey on Some Recent Advances in Shared Memory Models , 2011, SIROCCO.

[118]  Michael J. Fischer,et al.  The Consensus Problem in Unreliable Distributed Systems (A Brief Survey) , 1983, FCT.

[119]  Maurice Herlihy,et al.  A simple constructive computability theorem for wait-free computation , 1994, STOC '94.

[120]  Hagit Attiya,et al.  A Non-topological Proof for the Impossibility of k-Set Agreement , 2011, SSS.

[121]  Hagit Attiya,et al.  Counting-Based Impossibility Proofs for Renaming and Set Agreement , 2012, DISC.

[122]  J. Matousek,et al.  Using The Borsuk-Ulam Theorem , 2007 .

[123]  Nancy A. Lynch,et al.  Distributed computation in dynamic networks , 2010, STOC '10.

[124]  Eli Gafni,et al.  A simple algorithmically reasoned characterization of wait-free computation (extended abstract) , 1997, PODC '97.

[125]  Maurice Herlihy,et al.  Transactional Memory: Architectural Support For Lock-free Data Structures , 1993, Proceedings of the 20th Annual International Symposium on Computer Architecture.

[126]  Dan Alistarh,et al.  Generating Fast Indulgent Algorithms , 2011, ICDCN.

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

[128]  Maurice Herlihy,et al.  An Equivariance Theorem with Applications to Renaming , 2012, LATIN.

[129]  Shmuel Zaks,et al.  Deciding 1-sovability of distributed task is NP-hard , 1990, WG.

[130]  Pascale Mazoyer,et al.  General chair , 2010, 2010 IEEE International Memory Workshop.

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

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

[133]  Sergio Rajsbaum,et al.  Iterated Shared Memory Models , 2010, LATIN.

[134]  Maurice Herlihy,et al.  Contention in shared memory algorithms , 1993, JACM.

[135]  James H. Anderson,et al.  Composite registers , 1990, PODC '90.

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

[137]  Keith Marzullo,et al.  A framework for the design of dependent‐failure algorithms , 2007, Concurr. Comput. Pract. Exp..

[138]  Soma Chaudhuri,et al.  Agreement is harder than consensus: set consensus problems in totally asynchronous systems , 1990, PODC '90.

[139]  Eli Gafni,et al.  Distributed Programming with Tasks , 2010, OPODIS.

[140]  Eli Gafni,et al.  Generalized FLP impossibility result for t-resilient asynchronous computations , 1993, STOC.

[141]  Nancy A. Lynch,et al.  The BG distributed simulation algorithm , 2001, Distributed Computing.

[142]  Eli Gafni,et al.  Three-Processor Tasks Are Undecidable , 1999, SIAM J. Comput..

[143]  Eli Gafni,et al.  Recursion in Distributed Computing , 2010, SSS.

[144]  Tali Moreshet,et al.  Energy Implications of Transactional Memory for Embedded Architectures , 2008 .

[145]  Nicola Santoro,et al.  Agreement in synchronous networks with ubiquitous faults , 2007, Theor. Comput. Sci..

[146]  Sriram K. Rajamani,et al.  Generalized lattice agreement , 2012, PODC '12.

[147]  Maurice Herlihy,et al.  Simulations and reductions for colorless tasks , 2012, PODC '12.

[148]  Petr Kuznetsov,et al.  On Set Consensus Numbers , 2009, DISC.

[149]  Gabriel Bracha,et al.  Asynchronous Byzantine Agreement Protocols , 1987, Inf. Comput..

[150]  Maurice Herlihy,et al.  Supporting Increment and Decrement Operations in Balancing Networks , 1999, Chic. J. Theor. Comput. Sci..

[151]  Nissim Francez,et al.  Decomposition of Distributed Programs into Communication-Closed Layers , 1982, Sci. Comput. Program..

[152]  Dmitry N. Kozlov,et al.  Chromatic subdivision of a simplicial complex , 2012 .

[153]  Nitin H. Vaidya,et al.  Byzantine vector consensus in complete graphs , 2013, PODC '13.

[154]  Maurice Herlihy,et al.  Multidimensional approximate agreement in Byzantine asynchronous systems , 2013, STOC '13.

[155]  Fred B. Schneider,et al.  Implementing fault-tolerant services using the state machine approach: a tutorial , 1990, CSUR.

[156]  Pierre Fraigniaud,et al.  Locality and Checkability in Wait-Free Computing , 2011, DISC.

[157]  Eli Gafni The extended BG-simulation and the characterization of t-resiliency , 2009, STOC '09.

[158]  Michel Raynal,et al.  Generalized Symmetry Breaking Tasks , 2013 .