Combinatorial Topology and Distributed Computing

Slides:



Advertisements
Similar presentations
Shape of a Network.
Advertisements

The Contest between Simplicity and Efficiency in Asynchronous Byzantine Agreement Allison Lewko The University of Texas at Austin TexPoint fonts used in.
Win8 on Intel Programming Course Desktop : WPF Cédric Andreolli Intel Software
CS 542: Topics in Distributed Systems Diganta Goswami.
Introduction Companion slides for
Introduction to Software Engineering 7. Modeling Behaviour.
Computer Science 425 Distributed Systems CS 425 / ECE 428 Consensus
Consensus problem Agreement. All processes that decide choose the same value. Termination. All non-faulty processes eventually decide. Validity. The common.
Internet of Things with Intel Edison Presentation Paul Guermonprez Intel Software
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.
Teaching material based on Distributed Systems: Concepts and Design, Edition 3, Addison-Wesley Copyright © George Coulouris, Jean Dollimore, Tim.
CS533 - Concepts of Operating Systems
Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit Concurrent Skip Lists.
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.
Win8 on Intel Programming Course The challenge Paul Guermonprez Intel Software
Multicore Programming
Lecture #12 Distributed Algorithms (I) CS492 Special Topics in Computer Science: Distributed Algorithms and Systems.
Manifold Protocols TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A AA Companion slides for Distributed Computing.
State of the Ward in 2007 Version 1.0 A Fifth Sunday Lesson Given in the Sterling Park Ward, Ashburn, VA Stake by D. Calvin Andrus, Bishop
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.
Shape of a Network 10/10/07. Topology  The way the computers are cabled together  Four different layouts  Logical topology describes the way data travels.
Images of pesticides By: Leslie London, University of Cape Town This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5.
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.
1 Licence This presentation document is one used by Ryan Cartwright of Equitas IT Solutions [1] and is Copyright © 2008 Ryan P. Cartwright / Equitas IT.
Sketching Vocabulary Chapter 3.4 in Sketching User Experiences: The Workbook Drawing objects, people, and their activities.
CSE 486/586 Distributed Systems Leader Election
When Is Agreement Possible
Monitoring Churn in Wireless Networks
Algebraic Topology and Distributed Computing part two
Byzantine-Resilient Colorless Computaton
Pre and post workshop assessments
Lecture 7: Introduction to Distributed Computing.
Elements of Combinatorial Topology
Solvability of Colorless Tasks in Different Models
FOTW Worksheet Slides Christopher Penn, Financial Aid Podcast Student Loan Network.
Alternating Bit Protocol
Distributed Consensus
Agreement Protocols CS60002: Distributed Systems
Distributed Systems, Consensus and Replicated State Machines
Distributed Consensus
Simulations and Reductions
Preparing Tables and Figures: Some Basics
Algebraic Topology and Decidability in Distributed Computing
Active replication for fault tolerance
Renaming and Oriented Manifolds
EEC 688/788 Secure and Dependable Computing
Architectures of distributed systems Fundamental Models
1.1 The Characteristics of Contemporary Processors, Input, Output and Storage Devices Types of Processors.
CSE 486/586 Distributed Systems Leader Election
Consensus in Synchronous Systems: Byzantine Generals Problem
COMP60621 Fundamentals of Parallel and Distributed Systems
EEC 688/788 Secure and Dependable Computing
Subsuption Architecture
Distributed Computing:
Lecture 10: Coordination and Agreement
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
LO3 – Understand Business IT Systems
EEC 688/788 Secure and Dependable Computing
Byzantine Fault-Tolerance
EEC 688/788 Secure and Dependable Computing
Combinatorial Topology and Distributed Computing
Lecture 11: Coordination and Agreement
COMP60611 Fundamentals of Parallel and Distributed Systems
CSE 486/586 Distributed Systems Leader Election
Distributed Systems and Algorithms
Presentation transcript:

Combinatorial Topology and Distributed Computing TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA

Part One What is Distributed Computing? 3-Jan-19

a computer was just a Turing machine … In the Beginning … 1 1 In the beginning, a computer was a single processor. A rich theory grew up studying what single processors can and can’t do. a computer was just a Turing machine … 3-Jan-19

Computing is co-ordination and communication Today ? ? ? Today, however, there are many computers. Sometimes these computers are very far apart, as on the Internet. Sometimes they are closer, as in a sensor network. Sometimes they are close, as in a multicore chip. And sometimes they are very close, as in a graphics processor. Computing is co-ordination and communication 3-Jan-19 4

Here is a puzzle …. 3-Jan-19

Each process has an input … 32 19 21 Consensus is an innocuous-looking, somewhat abstract problem that will have enormous consequences for everything from algorithm design to hardware architecture. We have a collection of processes. Each process starts with a private input, known only to itself. This input can be a message it received, a character typed at a keyboard, or a signal from a sensor. 3-Jan-19 6

They Communicate … 3-Jan-19 The processes communicate among themselves. This communication can take any form. Processes can send messages to one another, they can read and write a shared memory, or they can send carrier pigeons. 3-Jan-19

19 19 19 All Agree on One Input consensus 3-Jan-19 Eventually, after a finite number of steps, they must all agree on some process’s input. Simple agreement is not enough, because they could trivially all decide zero, so we require that the agreement value be some process’s input. consensus 3-Jan-19

Why is this problem hard? (sleeping) Why is this problem hard? Well, some processes might be much slower than others, so some processes might have to decide without waiting to hear from everyone. Why can’t they just wait? 3-Jan-19

Why is this problem hard? Processes can fail. In some systems, a failed process might be indistinguishable from a slow process. 3-Jan-19

Why is this problem hard? (sleeping) (sleeping) For example, in a system where processes run at different speeds or communication is unreliable, a crashed process may be indistinguishable from a very slow process. 3-Jan-19

Why is this problem hard? (sleeping) Of course, a very slow process may be indistinguishable from a crashed process. 3-Jan-19

Tasks Possible set of input values Finite computation 32 19 21 Possible set of input values Finite computation Possible set of output values 19 32 21 3-Jan-19

19 21 Agree on · k Inputs k-set agreement 3-Jan-19 Eventually, after a finite number of steps, they must all agree on some process’s input. Simple agreement is not enough, because they could trivially all decide zero, so we require that the agreement value be some process’s input. k-set agreement 3-Jan-19

Renaming: Autonomous Air Traffic Control 35,000 f t 34,000 f t 33,000 f t 32,000 f t 31,000 f t 36,000 f t DL227 AL991 AA082 Transponder collusion avoidance system Pick your own altitude. How many slots do we need? renaming 3-Jan-19

There are Many Models Communication? Failures? Timing? 3-Jan-19 In distributed computing, there are many legitimate models of computation. This variety may seem confusing at first, but all these models, different as they are, share common properties. 3-Jan-19

Communication Message-Passing Read-Write Memory Black-Box Memory 3-Jan-19

Message-Passing 3-Jan-19

Read-Write Memory

Read-Write Models write & read individual locations write & take memory snapshot Group writes together then takes snapshots together 3-Jan-19

Round-By-Round

Black Box Memory Compare-and-swap Fetch-and-add

Crash failures: processes halt How many? Failures are halting failures: a process simply stops and takes no more steps. When designing a protocol, it is important to know what kinds of failures your protocol must tolerate. Which ones? 3-Jan-19

Wait-Free Failure Model All but one may crash In the wait-free model, all but one of the processes can fail. This is the most demanding model.

t-Resilient Failure Model At most t may crash Here, t = 1. In the t-resilient model, at most t process can crash. If t < n-1, this model is less demanding than the wait-free model.

Processes on same server may crash Correlated Failures Both the wait-free and t-resilient models assume failures are independent. In real life, failures are often not independent. In this example, the red and greed processes reside at one server, and the purple at another. Protocol designers should expect that red and green fail together, or purple fails by itself. Processes on same server may crash

Adversaries Determine which sets of processes can halt. “worst-case” scenario 3-Jan-19

Timing Models Processes share a clock Synchronous Processes do not share a clock Asynchronous It is important to understand how time works. Protocol design is easier if processes share a common clock: they take steps at the same rate, and one process can wait for another. Protocol design is harder if processes run at different speeds. In the middle, processes might run at different speeds, but not too different. Processes have approximately-synchronized clocks Semi-synchronous 3-Jan-19

Synchronous In synchronous models, processes take steps at the same rate. After the red process takes a step, it knows the blue process has also taken a step. Synchronous comes from Greek: syn = together, chronos = time.

Synchronous Failures ! detection easy One advantage of the synchronous model is that one process can easily detect when another has failed. detection easy

Asynchronous In asynchronous models, processes take steps at any rate. Asynchronous comes from Greek: a (not) + synchronous (at the same time). Synchronous comes from Greek: syn = together, chronos = time.

Asynchronous Failures ?? The asynchronous model is difficult because it is impossible to tell whether another process has failed or is just slow. detection impossible

Semi-Synchronous In the semi-synchronous model, processes may take steps at different speeds, but there is a bound on the difference. Here, for example, each time one process takes two steps, the other must take one. Semi-synchronous is a awkward mixture of semi (Latin for partly) and synchronous (Greek for “at the same time”).

Semi-Synchronous Failures ! In semi-synchronous model, it is possible for one process can detect when another has failed, but such detection is usually expensive, since one processor must wait for a long time before it can detect that another has failed. The word detection slow

Computation Model Space asynchronous semi-synchronous adversaries t-resilient wait-free synchronous The space of registers can be divided into three dimensions, where the number of readers and writers is one dimension, the register size is another, and the strength of the correctness condition is a third. messages read-write black-box Which combinations make sense? 35 35

Multicores Sun T2000 Asynchronous Niagara Wait-free Shared Memory 3-Jan-19

Distributed Computing Internet Asynchronous Message-passing Sensor network 3-Jan-19

Parallel Computing GPU Synchronous Message-passing (or shared memory) 3-Jan-19

Operational Reasoning 3-Jan-19

Combinatorial Reasoning Model-independent properties … … restricted model-dependent reasoning 3-Jan-19

          This work is licensed under a 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 “The Art of Multiprocessor Programming” (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 http://creativecommons.org/licenses/by-sa/3.0/. 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.