Distributed Universal Constructions a Guided Tour Concurrent Programming: Algorithms, Principles and Foundations by Michel Rayna

Total Page:16

File Type:pdf, Size:1020Kb

Distributed Universal Constructions a Guided Tour Concurrent Programming: Algorithms, Principles and Foundations by Michel Rayna Never forget .... Distributed Universal Constructions a guided tour Michel RAYNAL Institut Universitaire de France Academia Europaea IRISA, Universit´ede Rennes, France Polytechnic University (PolyU), Hong Kong DistributedUniversalConstructions 1 DistributedUniversalConstructions 2 Content Concurrent programming (1) Concurrent Programming: • Short historical perspective and a point of view Algorithms, Principles • From sequential computing to distributed computing and Foundations • Distributed universal constructions by Michel Raynal • Conclusion Springer, 531 pages, 2013 ISBN: 978-3-642-32026-2 DistributedUniversalConstructions 3 DistributedUniversalConstructions 4 Concurrent programming (2) Distributed Message-Passing (1) • Part 1: Lock-based synchronization (3 chap., pp. 1-110) • Part 2: The atomicity concept (1 chap., pp. 111-132) Distributed algorithms for • Part 3: Mutex-free synchronization (5 chap., pp. 133-274) Message-passing systems • Part 4: The transactional memory approach by Michel Raynal (1 chap., pp. 275-302) Springer, 517 pages, 2013 • Part 5: From safe bits to atomic registers (3 chap., pp. 303-368) ISBN 978-3-642-38122-5 • Part 6: The computability power of concurrent objects (4 chap., pp. 369-488) DistributedUniversalConstructions 5 DistributedUniversalConstructions 6 Distributed Message-Passing (2) PART 1 • Part 1: Distributed graph algorithms (5 chap., pp. 1-118) • Part 2: Logical time and global states (4 chap., pp. 119-244) • Part 3: Mutual exclusion and resource allocation Historical perspective (2 chap., pp. 244-300) and ... • Part 4: High level communication abstractions (2 chap., pp. 301-364) a point of view on what is • Part 5: Detection of properties of distributed executions INFORMATICS (2 chap., pp. 365-423) • Part 6: Distributed shared memory (2 chap., pp. 425-470) DistributedUniversalConstructions 7 DistributedUniversalConstructions 8 One upon a time... Plimpton tablet 322 (1800 BC) From the very beginning (?) 15 lines Pythagorean triplets mankind is (a2 + b2 = c2) Sexagesimal base Looking for UNIVERSALITY! Algorithms seem to be born with writing... (only receipes at this time, no formalization, no proofs) DistributedUniversalConstructions 9 DistributedUniversalConstructions 10 a few historical references A little bit later... • Neugebauer O. E., The exact sciences in Antiquity Princeton University Press (1952); 2nd edition: Brown A great step ahead! University Press (1957), Reprint: Dover publications (1969) Axioms: Euclid (≃ 300 BC) • Kramer S. N., History begins at Sumer: thirty-nine firsts in man’s “Ruler + compass” constructions recorded history “Ruler + compass” define the University of Pennsylvania Press, 416 pages (1956) set of allowed operations • Donald Knuth We have: algorithms + proofs Ancient Babylonian Algorithms Communications of the ACM, 15(7):671-677 (1972) DistributedUniversalConstructions 11 DistributedUniversalConstructions 12 Example: Bissecting an angle with compass + ruler BTW: what about trisecting an angle? B r1 • Is it possible to trisect an angle with compass + ruler? A A • One of the hardest pb for Ancient Greeks (squaring the r1 circle) C • Answer : impossibility proved in 1837 by Wantzel P. L.: Recherches sur les moyens de reconnaˆıtre si un probl`eme B B de g´eom´etrie peut se r´esoudre avec la r`egle et le com- r2 r1 r2 pas, Journal de math´ematiques pures et appliqu´ees, A A D 1(2):366-372 (1837) r2 r1 r2 Plus the fact that π is a transcendent number (F. von C C Lindemann 1882) • Hence ruler + compass operations are not universal for geometric constructions! Proof: consists in showing that the triangles ABD and ACD are equal DistributedUniversalConstructions 13 DistributedUniversalConstructions 14 Still a little bit later... A few references M. Ibn Musa Al Khawarizmi - Kitabu al-mukhtasar fi hisabi 780, Khiva - 850, Bagdad al-jabr wa’l-muqabala - Kitabu al-jami‘ wa’t-tafriq bi- hisabi ’l-Hind Contributed to algebra ... (the book of addition and substrac- but gave its name to algorithms! tion from Indian calculus) DistributedUniversalConstructions 15 DistributedUniversalConstructions 16 Closer to us Two great colleagues! 1936 1912-1954 - Turing A. M., On computable numbers with an applica- tion to the Entscheidungsproblem. Proc. of the London 1903-1995 1897-1954 Mathematical Society, 42:230-265 (1936) DistributedUniversalConstructions 17 DistributedUniversalConstructions 18 ALGORITHMICS A unifying view The science of operations Loking for universality! DIGITAL WORLD applications • Founding result: INFORMATICS ⋆ FSA ⊂ Pushdown Automata ⊂ Turing Machines Languages Systems ⋆ Machines to process SYMBOLS Artificial Int. ALGORITHMICS Data bases • Church-Turing Thesis: universal machines Computers • Universality of data representation : Etc. s´equences de bits (books, images, files, etc.) A very nice book by Harel D. and Feldman Y.: Algorithmics: the spirit of computing. 3rd edition Springer, 572 pagers (2012) [First edition: 1992] DistributedUniversalConstructions 19 DistributedUniversalConstructions 20 About informatics (1) About informatics (2) • Main resources: ⋆ up to mid of XX-th century: matter/energy ⋆ from mid of XX-th century: information • Produces a “new” way of thinking (algorithmics-based) • From putting the world into equations ⋆ as matter/energy: information can be collected, con- sumed, transformed, stored, carried, etc. to putting the world into algorithms ⋆ differentlty from matter/energy: it does not burn, it • Informatics is the language of science! can be copied at “zero cost” • Looking for universality (just repeating...) DistributedUniversalConstructions 21 DistributedUniversalConstructions 22 PART 2 The basic unit of sequential computing in f() out = f(in) • The notion of a function From sequential computing • Sequential algorithm to distributed computing • The notion of computability (Turing machine) • The notion of impossibility (e.g., halting problem) • The fundamental hierarchy FSA ⊂ Pushdown Automata ⊂ Turing Machines • Church-Turing’s Thesis DistributedUniversalConstructions 23 DistributedUniversalConstructions 24 The case of parallel computing What is distributed computing? • We look inside the box implementing f() ⋆ mono-processor ⋆ multiprocessor : to be more efficient DC arises when one has to solve a problem in terms of entities (processes, agents, sensors, peers, actors, nodes, processors, ...) such that each entity has only a partial • The problem could ALWAYS be solved by a sequential algorithm, but can be solved more efficiently with sev- knowledge of the many parameters involved in the problem eral computing entities that has to be solved • Parallel computing is an “extension” of sequential com- puting looking for efficiency DC is about Mastering UNCERTAINTY • This has a long story and introduced new techniques and concepts (e.g., task graphs, scheduling, etc.) DistributedUniversalConstructions 25 DistributedUniversalConstructions 26 The basic unit of distributed computing The notion of a (distributed) task T () • A task T is a triple (I, O, ∆) Output O ∈ T (I) Input I [out1, · · · ,outn] ⋆ I: set of input vectors (of size n) pi [ ] in outi in1, · · · , inn i ⋆ O: set of output vectors (of size n) ⋆ ∆: relation from I into O: ∀I ∈ I : ∆(I) ⊆O T () is a relation • I[i]: private input of pi • O[i]: private output of pi • The notion of a task: from an input vector to an output • ∀I ∈ I: • The inputs are DISTRIBUTED ∆(I) defines the set of legal output vectors that can (this is not under the control of the algorithm designer) be decided from the input vector I • Failures belong to the model (in nearly all cases) DistributedUniversalConstructions 27 DistributedUniversalConstructions 28 Examples of tasks Solving a task • Binary consensus A distributed algorithm A is a set of n local automata (Turing machines) that cooperate through specific com- ⋆ I = {all vectors of 0 and 1} munication objects (e.g., message-passing network, shared memory, etc.) ⋆ O = n{0,..., 0}, {1,..., 1}o ⋆ Let X = {0,..., 0} and X = {1,..., 1} 0 0 An algorithm A solves a task T if in any run ∗ ∆(X0) = {0,..., 0} and ∆(X1) = {1,..., 1} ∗ ∆(any vector except XO, X1)= O • ∃ I ∈ I such that each pi starts with (proposes) ini = I[i] • k-set agreement, Renaming, Weak symmetry breaking • ∃ O ∈ ∆(I) such that O[j] = outj for each process pj • k-Simultaneous consensus, etc. that that computes (decides) an output outj DistributedUniversalConstructions 29 DistributedUniversalConstructions 30 Distributed computing: birth certificates A famous quote ... and its formalization • L. Lamport, Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7):558-565 (1978) • “A distributed system is one in which the failure of a computer you didn’t even know existed can render your ⋆ Partial order on events own computer unusable” (L. Lamport) ⋆ Scalar clocks • Fischer M.J., Lynch N.A., and Paterson M.S., ⋆ State machine replication Impossibility of distributed consensus with one faulty process. • Fischer M.J., Lynch N.A., and Paterson M.S., Impossi- Journal of the ACM, 32(2):374-382 (1985) bility of distributed consensus with one faulty process. Journal of the ACM, 32(2):374-382 (1985) ⋆ Impossibilty result in asynch. crash-prone systems Reminder: DC is about Mastering UNCERTAINTY! ⋆ Notion of valence (captures non-determinism) DistributedUniversalConstructions 31 DistributedUniversalConstructions 32 To summarize PART 3 • Real-time: masters On-time computing • Parallelism: provides Efficiency • Distributed computing: masters Uncertainty Universal constructions
Recommended publications
  • ACM SIGACT News Distributed Computing Column 28
    ACM SIGACT News Distributed Computing Column 28 Idit Keidar Dept. of Electrical Engineering, Technion Haifa, 32000, Israel [email protected] Sergio Rajsbaum, who edited this column for seven years and established it as a relevant and popular venue, is stepping down. This issue is my first step in the big shoes he vacated. I would like to take this opportunity to thank Sergio for providing us with seven years’ worth of interesting columns. In producing these columns, Sergio has enjoyed the support of the community at-large and obtained material from many authors, who greatly contributed to the column’s success. I hope to enjoy a similar level of support; I warmly welcome your feedback and suggestions for material to include in this column! The main two conferences in the area of principles of distributed computing, PODC and DISC, took place this summer. This issue is centered around these conferences, and more broadly, distributed computing research as reflected therein, ranging from reviews of this year’s instantiations, through influential papers in past instantiations, to examining PODC’s place within the realm of computer science. I begin with a short review of PODC’07, and highlight some “hot” trends that have taken root in PODC, as reflected in this year’s program. Some of the forthcoming columns will be dedicated to these up-and- coming research topics. This is followed by a review of this year’s DISC, by Edward (Eddie) Bortnikov. For some perspective on long-running trends in the field, I next include the announcement of this year’s Edsger W.
    [Show full text]
  • Edsger Dijkstra: the Man Who Carried Computer Science on His Shoulders
    INFERENCE / Vol. 5, No. 3 Edsger Dijkstra The Man Who Carried Computer Science on His Shoulders Krzysztof Apt s it turned out, the train I had taken from dsger dijkstra was born in Rotterdam in 1930. Nijmegen to Eindhoven arrived late. To make He described his father, at one time the president matters worse, I was then unable to find the right of the Dutch Chemical Society, as “an excellent Aoffice in the university building. When I eventually arrived Echemist,” and his mother as “a brilliant mathematician for my appointment, I was more than half an hour behind who had no job.”1 In 1948, Dijkstra achieved remarkable schedule. The professor completely ignored my profuse results when he completed secondary school at the famous apologies and proceeded to take a full hour for the meet- Erasmiaans Gymnasium in Rotterdam. His school diploma ing. It was the first time I met Edsger Wybe Dijkstra. shows that he earned the highest possible grade in no less At the time of our meeting in 1975, Dijkstra was 45 than six out of thirteen subjects. He then enrolled at the years old. The most prestigious award in computer sci- University of Leiden to study physics. ence, the ACM Turing Award, had been conferred on In September 1951, Dijkstra’s father suggested he attend him three years earlier. Almost twenty years his junior, I a three-week course on programming in Cambridge. It knew very little about the field—I had only learned what turned out to be an idea with far-reaching consequences. a flowchart was a couple of weeks earlier.
    [Show full text]
  • Mastering Concurrent Computing Through Sequential Thinking
    review articles DOI:10.1145/3363823 we do not have good tools to build ef- A 50-year history of concurrency. ficient, scalable, and reliable concur- rent systems. BY SERGIO RAJSBAUM AND MICHEL RAYNAL Concurrency was once a specialized discipline for experts, but today the chal- lenge is for the entire information tech- nology community because of two dis- ruptive phenomena: the development of Mastering networking communications, and the end of the ability to increase processors speed at an exponential rate. Increases in performance come through concur- Concurrent rency, as in multicore architectures. Concurrency is also critical to achieve fault-tolerant, distributed services, as in global databases, cloud computing, and Computing blockchain applications. Concurrent computing through sequen- tial thinking. Right from the start in the 1960s, the main way of dealing with con- through currency has been by reduction to se- quential reasoning. Transforming problems in the concurrent domain into simpler problems in the sequential Sequential domain, yields benefits for specifying, implementing, and verifying concur- rent programs. It is a two-sided strategy, together with a bridge connecting the Thinking two sides. First, a sequential specificationof an object (or service) that can be ac- key insights ˽ A main way of dealing with the enormous challenges of building concurrent systems is by reduction to sequential I must appeal to the patience of the wondering readers, thinking. Over more than 50 years, more sophisticated techniques have been suffering as I am from the sequential nature of human developed to build complex systems in communication. this way. 12 ˽ The strategy starts by designing —E.W.
    [Show full text]
  • Lecture Notes in Computer Science 2584 Edited by G
    Lecture Notes in Computer Science 2584 Edited by G. Goos, J. Hartmanis, and J. van Leeuwen 3 Berlin Heidelberg New York Barcelona Hong Kong London Milan Paris Tokyo André Schiper Alex A. Shvartsman Hakim Weatherspoon Ben Y. Zhao (Eds.) Future Directions in Distributed Computing Research and Position Papers 13 Series Editors Gerhard Goos, Karlsruhe University, Germany Juris Hartmanis, Cornell University, NY, USA Jan van Leeuwen, Utrecht University, The Netherlands Volume Editors André Schiper École Polytechnique Fédérale de Lausanne, Faculté Informatique et Communication IN-Ecublens, 1015 Lausanne, Switzerland E-mail: andre.schiper@epfl.ch Alex A. Shvartsman University of Connecticut, Computer Science and Engineering Unit 3155, Storrs, CT 06269, USA E-mail: [email protected] and [email protected] Hakim Weatherspoon Ben Y. Zhao University of California at Berkeley, Computer Science Division 447/443 Soda Hall, Berkeley, CA 94704-1776, USA E-mail: {hweather, ravenben}@cs.berkeley.edu Cataloging-in-Publication Data applied for A catalog record for this book is available from the Library of Congress Bibliographic information published by Die Deutsche Bibliothek Die Deutsche Bibliothek lists this publication in the Deutsche Nationalbibliographie; detailed bibliographic data is available in the Internet at <http://dnb.ddb.de>. CR Subject Classification (1998): C.2.4, D.1.3, D.2.12, D.4.3-4, F.1.2 ISSN 0302-9743 ISBN 3-540-00912-4 Springer-Verlag Berlin Heidelberg New York This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks.
    [Show full text]
  • 31 International Symposium on Distributed Computing Andréa W
    31 International Symposium on Distributed Computing DISC 2017, October 16–20, Vienna, Austria Edited by Andréa W. Richa LIPIcs – Vol. 91 – DISC2017 www.dagstuhl.de/lipics Editor Andréa W. Richa Computer Science and Engineering School of Computing, Informatics and Decision Systems Engineering (CIDSE) Arizona State University Tempe, AZ, USA [email protected] ACM Classification 1998 C.2 Computer-Communication Networks, C.2.4 Distributed Systems, D.1.3 Concurrent Programming, E.1 Data Structures, F Theory of Computation, F.1.1 Models of Computation, F.1.2 Modes of Computation ISBN 978-3-95977-053-8 Published online and open access by Schloss Dagstuhl – Leibniz-Zentrum für Informatik GmbH, Dagstuhl Publishing, Saarbrücken/Wadern, Germany. Online available at http://www.dagstuhl.de/dagpub/978-3-95977-053-8. Publication date October, 2017 Bibliographic information published by the Deutsche Nationalbibliothek The Deutsche Nationalbibliothek lists this publication in the Deutsche Nationalbibliografie; detailed bibliographic data are available in the Internet at http://dnb.d-nb.de. License This work is licensed under a Creative Commons Attribution 3.0 Unported license (CC-BY 3.0): http://creativecommons.org/licenses/by/3.0/legalcode. In brief, this license authorizes each and everybody to share (to copy, distribute and transmit) the work under the following conditions, without impairing or restricting the authors’ moral rights: Attribution: The work must be attributed to its authors. The copyright is retained by the corresponding authors. Digital Object Identifier: 10.4230/LIPIcs.DISC.2017.0 ISBN 978-3-95977-053-8 ISSN 1868-8969 http://www.dagstuhl.de/lipics 0:iii LIPIcs – Leibniz International Proceedings in Informatics LIPIcs is a series of high-quality conference proceedings across all fields in informatics.
    [Show full text]
  • Byzantine Consensus in Asynchronous Message-Passing Systems: a Survey
    Int. J. Critical Computer-Based Systems, Vol. x, No. x, xxxx 1 Byzantine Consensus in Asynchronous Message-Passing Systems: a Survey Miguel Correia*, Giuliana Santos Veronese, Nuno Ferreira Neves and Paulo Verissimo Faculdade de Ciˆenciasda Universidade de Lisboa Campo Grande, 1749-016 Lisboa, Portugal E-mail: [email protected] E-mail: [email protected] E-mail: [email protected] E-mail: [email protected] *Corresponding author Abstract Consensus is a classical distributed systems problem with both theo- retical and practical interest. Asynchronous Byzantine consensus is cur- rently at the core of some solutions for the implementation of highly- resilient computing services. This paper surveys Byzantine consensus in message-passing distributed systems, by presenting the main theo- retical results in the area, the main classes of algorithms and by dis- cussing important issues like the performance and resilience of these algorithms. Keywords: distributed algorithms; distributed systems; consensus; Byzantine faults; arbitrary faults; asynchronous model; message pass- ing; Byzantine consensus Reference to this paper should be made as follows: Correia, M., Veronese, G. S., Neves, N. F. and Verissimo, P. (xxxx) ‘Byzantine Con- sensus in Asynchronous Message-Passing Systems: a Survey’, Int. J. Critical Computer-Based Systems, Vol. x, No. x, pp.xxx–xxx. Biographical notes: Miguel Correia is an assistant professor in the Department of Informatics at the Faculty of Sciences at the University of Lisboa, and an adjunct faculty member of the Carnegie Mellon In- formation Networking Institute. More information about his research can be found at http://www.di.fc.ul.pt/∼mpc.
    [Show full text]
  • Money Transfer Made Simple Alex Auvolat, Davide Frey, Michel Raynal, François Taïani
    Money Transfer Made Simple Alex Auvolat, Davide Frey, Michel Raynal, François Taïani To cite this version: Alex Auvolat, Davide Frey, Michel Raynal, François Taïani. Money Transfer Made Simple. 2020. hal-02861511v2 HAL Id: hal-02861511 https://hal.archives-ouvertes.fr/hal-02861511v2 Preprint submitted on 17 Jun 2020 (v2), last revised 16 Feb 2021 (v3) HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Money Transfer Made Simple Alex Auvolat École Normale Supérieure, Paris, France Univ Rennes, Inria, CNRS, IRISA, Rennes, France [email protected] Davide Frey Univ Rennes, Inria, CNRS, IRISA, Rennes, France [email protected] Michel Raynal Univ Rennes, Inria, CNRS, IRISA, Rennes, France Department of Computing, Polytechnic University, Hong Kong [email protected] François Taïani Univ Rennes, Inria, CNRS, IRISA, Rennes, France [email protected] Abstract It has recently been shown (PODC 2019) that, contrarily to a common belief, money transfer in the presence of faulty (Byzantine) processes does not require strong agreement such as consensus. This article goes one step further: namely, it shows that money transfers do not need to explicitly capture the causality relation that links individual transfers.
    [Show full text]
  • Distributed Computing Column 36 Distributed Computing: 2009 Edition
    Distributed Computing Column 36 Distributed Computing: 2009 Edition Idit Keidar Dept. of Electrical Engineering, Technion Haifa, 32000, Israel [email protected] It’s now the season for colorful reviews of 2009. While you can read elsewhere about the year in sports, top-40 pop hit charts, people of the year, and so on, I throw my share into the mix with a (biased) review of this year’s major distributed computing events. Awards First, let’s look at awards. This year we learned that two women were recognized with ACM and IEEE prestigious awards for their achievements in, (among other things), distributed computing. Barbara Liskov won the 2008 ACM Turing Award for a range of contributions to practical and theoretical foundations of programming language and system design, some of which are in distributed computing. The award citation mentions her impact on distributed programming, decentralized information flow, replicated storage, and modular upgrading of distributed systems. I include below a short reflection, by Rodrigo Rodrigues, on Barbara Liskov’s Turing Award and legacy. Looking ahead to 2010, it was recently announced that Nancy Lynch is the recipient of the prestigious 2010 IEEE Emanuel R. Piore Award1 for her contributions to foundations of distributed and concurrent computing. The award is given for outstanding contributions in the field of information processing in relation to computer science. Leslie Lamport has won the same award in 2004 for his seminal contributions to the theory and practice of concurrent programming and fault-tolerant computing. The 2009 Edsger W. Dijkstra Prize in Distributed Computing was awarded to Joseph Halpern and Yoram Moses for “Knowledge and Common Knowledge in a Distributed Environment”.
    [Show full text]
  • Distributed Eventual Leader Election in the Crash-Recovery and General Omission Failure Models
    University of the Basque Country UPV/EHU Department of Computer Architecture and Technology Distributed Eventual Leader Election in the Crash-Recovery and General Omission Failure Models Dissertation for the degree of Doctor of Philosophy Candidate Christian Fernández-Campusano Supervisors Roberto Cortiñas Mikel Larrea 2019 (c)2020 CHRISTIAN FERNANDEZ CAMPUSANO Abstract Distributed applications are present in many aspects of everyday life. Banking, healthcare, or transportation are some examples of such applications. These are built on top of distributed systems. Roughly speaking, a distributed system is composed of a set of processes which collaborate among them to achieve a common goal. When building such systems, designers have to cope with several issues, such as dierent synchrony assumptions and failure occurrences. Distributed systems must ensure that the delivered service is trustworthy. Agreement problems compose a fundamental class of problems in distributed systems. Agree- ment problems follow a similar pattern: all processes must agree on some common decision. Interestingly, most of the agreement problems can be considered as a particular instance of a problem called consensus, and, as a consequence, they can be solved by reduction to consensus. However, there exists a fundamental impossibility result, namely (FLP), which states that in an asynchronous distributed system, it is impossible to achieve consensus deterministically when at least one process may fail. A way to circumvent this obstacle is by using unreliable failure detectors. A failure detector is an abstraction that allows encapsulating synchrony assumptions of the system and provides (possibly incorrect) information about process failures. A particular failure detector, called Omega, has been shown to be the weakest failure detector for solving consensus with a majority of correct processes.
    [Show full text]
  • Characterizing Consensus in the Heard-Of Model
    1 Characterizing consensus in the Heard-Of model 2 A. R. Balasubramanian 3 Technical University of Munich, Germany 4 Igor Walukiewicz 5 CNRS, LaBRI, University of Bordeaux, France 6 Abstract 7 The Heard-Of model is a simple and relatively expressive model of distributed computation. Because 8 of this, it has gained a considerable attention of the verification community. We give a characterization 9 of all algorithms solving consensus in a fragment of this model. The fragment is big enough to cover 10 many prominent consensus algorithms. The characterization is purely syntactic: it is expressed in 11 terms of some conditions on the text of the algorithm. 12 2012 ACM Subject Classification Theory of computation → Distributed computing models; Software 13 and its engineering → Software verification; Theory of computation → Logic and verification 14 Keywords and phrases consensus problem, Heard-Of model, verification. 15 Digital Object Identifier 10.4230/LIPIcs.CONCUR.2020.9 16 Related Version A full version of this paper is available at https://arxiv.org/abs/2004.09621. 17 Funding A. R. Balasubramanian: UMI ReLaX, ERC Advanced Grant 787367 (PaVeS) 18 Igor Walukiewicz: ANR FREDDA ANR-17-CE40-0013 19 1 Introduction 20 Most distributed algorithms solving problems like consensus, leader election, set agreement, 21 or renaming are essentially one iterated loop. Yet, their behavior is difficult to understand due 22 to unbounded number of processes, asynchrony, failures, and other aspects of the execution 23 model. The general context of this work is to be able to say what happens when we change 24 some of the parameters: modify an algorithm or the execution model.
    [Show full text]
  • Michel Raynal an Algorithmic Approach
    Michel Raynal Fault-Tolerant Message-Passing Distributed Systems An Algorithmic Approach Fault-Tolerant Message-Passing Distributed Systems [email protected] Michel Raynal Fault-Tolerant Message-Passing Distributed Systems An Algorithmic Approach [email protected] Michel Raynal IRISA-ISTIC Université de Rennes 1 Institut Universitaire de France Rennes, France Parts of this work are based on the books “Fault-Tolerant Agreement in Synchronous Message- Passing Systems” and “Communication and Agreement Abstractions for Fault-Tolerant Asynchro- nous Distributed Systems”, author Michel Raynal, © 2010 Morgan & Claypool Publishers (www. morganclaypool.com). Used with permission. ISBN 978-3-319-94140-0 ISBN 978-3-319-94141-7 (eBook) https://doi.org/10.1007/978-3-319-94141-7 Library of Congress Control Number: 2018953101 © Springer Nature Switzerland AG 2018 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication.
    [Show full text]
  • Scalable Consensus in a Hybrid Communication Model Michel Raynal, Jiannong Cao
    One for All and All for One: Scalable Consensus in a Hybrid Communication Model Michel Raynal, Jiannong Cao To cite this version: Michel Raynal, Jiannong Cao. One for All and All for One: Scalable Consensus in a Hybrid Commu- nication Model. ICDCS’19 - 39th IEEE International Conference on Distributed Computing Systems, Jul 2019, Dallas, United States. pp.464-471, 10.1109/ICDCS.2019.00053. hal-02394259 HAL Id: hal-02394259 https://hal.archives-ouvertes.fr/hal-02394259 Submitted on 5 Dec 2019 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. One for All and All for One: Scalable Consensus in a Hybrid Communication Model Michel Raynal⋆,†, Jiannong Cao† ⋆Univ Rennes IRISA, 35042 Rennes, France †Department of Computing, Polytechnic University, Hong Kong Abstract—This paper addresses consensus in an asyn- shown that enriching the read/write system with synchro- chronous model where the processes are partitioned into clus- nization operations such as compare&swap(), fetch&add(), ters. Inside each cluster, processes can communicate through or LL/SC allows consensus to be solved for any number of a shared memory, which favors efficiency. Moreover, any pair of processes can also communicate through a message- processes, despite asynchrony and the crash of all except passing communication system, which favors scalability.
    [Show full text]