In the Stone Age. Stephan Holzer. Yuval Emek - Technion Roger Wattenhofer - ETH Zürich

Similar documents
arxiv: v2 [cs.dc] 5 Apr 2012

Stone Age Distributed Computing

AGREEMENT PROBLEMS (1) Agreement problems arise in many practical applications:

Concurrent Counting is harder than Queuing

1 Introduction. 1.1 The Problem Domain. Self-Stablization UC Davis Earl Barr. Lecture 1 Introduction Winter 2007

Towards More Realistic ANTS

Outline. The Leader Election Protocol (IEEE 1394) IEEE 1394 High Performance Serial Bus (FireWire) Motivation. Background. Protocol Descriptions

cs/ee/ids 143 Communication Networks

Stone Age Distributed Computing (Extended Abstract)

6.852: Distributed Algorithms Fall, Class 10

6.852: Distributed Algorithms Fall, Class 24

Time Synchronization

Distributed Systems Gossip Algorithms

Algorithm Design Strategies V

Clock Synchronization with Bounded Global and Local Skew

Discrete Wiskunde II. Lecture 5: Shortest Paths & Spanning Trees

Radio Network Clustering from Scratch

A Time Optimal Self-Stabilizing Synchronizer Using A Phase Clock

Networks Cannot Compute Their Diameter in Sublinear Time

Distributed Distance-Bounded Network Design Through Distributed Convex Programming

The Leader Election Protocol (IEEE 1394)

A Self-Stabilizing Distributed Approximation Algorithm for the Minimum Connected Dominating Set

Symmetric Rendezvous in Graphs: Deterministic Approaches

Graph-theoretic Problems

The Physarum Computer

Dominating Set. Chapter 26

Dominating Set. Chapter Sequential Greedy Algorithm 294 CHAPTER 26. DOMINATING SET

Describing Homing and Distinguishing Sequences for Nondeterministic Finite State Machines via Synchronizing Automata

Distributed Algorithms

Counting in Practical Anonymous Dynamic Networks is Polynomial

A Deterministic Almost-Tight Distributed Algorithm for Approximating Single-Source Shortest Paths

Dynamic Programming: Shortest Paths and DFA to Reg Exps

arxiv: v1 [cs.dc] 22 May 2017

CprE 281: Digital Logic

Colorless Wait-Free Computation

Asymptotics, asynchrony, and asymmetry in distributed consensus

A Self-Stabilizing Minimal Dominating Set Algorithm with Safe Convergence

Steps towards Decentralized Deterministic Network Coding

SDS developer guide. Develop distributed and parallel applications in Java. Nathanaël Cottin. version

Network Algorithms and Complexity (NTUA-MPLA) Reliable Broadcast. Aris Pagourtzis, Giorgos Panagiotakos, Dimitris Sakavalas

Rendezvous and Election of Mobile Agents: Impact of Sense of Direction

Fault-Tolerant Consensus

SFM-11:CONNECT Summer School, Bertinoro, June 2011

Preserving the Fault-Containment of Ring Protocols Executed on Trees

Quantum Algorithms for Leader Election Problem in Distributed Systems

Self-Stabilizing Silent Disjunction in an Anonymous Network

arxiv: v1 [cs.dc] 13 Nov 2013

A walk over the shortest path: Dijkstra s Algorithm viewed as fixed-point computation

Data Gathering and Personalized Broadcasting in Radio Grids with Interferences

Symmetry Reduction and Heuristic Search for Error Detection in Model Checking p.1/??

Byzantine Agreement. Gábor Mészáros. CEU Budapest, Hungary

Weak models of wireless distributed computing

Maximizable Routing Metrics

UNIVERSITY OF YORK. MSc Examinations 2004 MATHEMATICS Networks. Time Allowed: 3 hours.

Leader Election in Asymmetric Labeled Unidirectional Rings

A Brief Introduction to Model Checking

6. DYNAMIC PROGRAMMING II. sequence alignment Hirschberg's algorithm Bellman-Ford distance vector protocols negative cycles in a digraph

Agreement Protocols. CS60002: Distributed Systems. Pallab Dasgupta Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur

Cuts. Cuts. Consistent cuts and consistent global states. Global states and cuts. A cut C is a subset of the global history of H

Asynchronous Models For Consensus

Review for the Midterm Exam

Dynamic Programming: Shortest Paths and DFA to Reg Exps

Milestone V. Linsey A. Norris Justin Tanjuako Charlotte Wentzien Addison Yanito. December 14, 2006

Shortest paths: label setting

CSE 332. Data Abstractions

Distributed Approximate Single-Source Shortest Paths

Routing. Topics: 6.976/ESD.937 1

Symmetric Network Computation

Synchrony Weakened by Message Adversaries vs Asynchrony Restricted by Failure Detectors

CMU Lecture 4: Informed Search. Teacher: Gianni A. Di Caro

Loopy Belief Propagation for Bipartite Maximum Weight b-matching

Section 6 Fault-Tolerant Consensus

Minimum Spanning Trees

Dijkstra s Single Source Shortest Path Algorithm. Andreas Klappenecker

Failure Detectors. Seif Haridi. S. Haridi, KTHx ID2203.1x

Metrics: Growth, dimension, expansion

Clojure Concurrency Constructs, Part Two. CSCI 5828: Foundations of Software Engineering Lecture 13 10/07/2014

Gradient Clock Synchronization in Dynamic Networks Fabian Kuhn, Thomas Locher, and Rotem Oshman

arxiv: v1 [cs.ds] 18 Apr 2016

I may not have gone where I intended to go, but I think I have ended up where I needed to be. Douglas Adams

Coordination. Failures and Consensus. Consensus. Consensus. Overview. Properties for Correct Consensus. Variant I: Consensus (C) P 1. v 1.

Distributed primal-dual approximation algorithms for network design problems

Half-Duplex Gaussian Relay Networks with Interference Processing Relays

Routing Algorithms. CS60002: Distributed Systems. Pallab Dasgupta Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur

On Asynchronous Node Coloring in the SINR Model

Closed Form Bounds for Clock Synchronization Under Simple Uncertainty Assumptions

On Equilibria of Distributed Message-Passing Games

Notes on Machine Learning for and

Different encodings generate different circuits

Impossibility of Distributed Consensus with One Faulty Process

FAIRNESS FOR DISTRIBUTED ALGORITHMS

A Self-Stabilizing Algorithm for Finding a Minimal Distance-2 Dominating Set in Distributed Systems

Structuring Unreliable Radio Networks

Data Gathering and Personalized Broadcasting in Radio Grids with Interferences

11 The Max-Product Algorithm

More on NP and Reductions

Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths

Distributed Optimization over Random Networks

Competitive Concurrent Distributed Queuing

Theoretical Computer Science. Partially dynamic efficient algorithms for distributed shortest paths

Transcription:

The Power of a Leader In the Stone Age - MIT Yuval Emek - Technion Roger Wattenhofer - ETH Zürich 2nd Workshop on Biological Distributed Algorithms, October 11-12, 2014 in Austin, Texas USA

The Power of a Leader In the Stone Age - MIT Yuval Emek - Technion Roger Wattenhofer - ETH Zürich 2nd Workshop on Biological Distributed Algorithms, October 11-12, 2014 in Austin, Texas USA

Stone Age Model of Distributed Computing

Computational Power of a Cell?

Computational Power of a Cell? Finite State Machine

Communication?

Communication? Transmissions: Same message delivered to all neighbors Constant size message Port for each neighbor Stores the last message delivered

Communication? Transmissions: Same message delivered to all neighbors Constant size message Port for each neighbor Stores the last message delivered Can detect if 0, 1 or 2+ ports store message m FSM changes state based on this sends message based on state

Stone Age Model of Distributed Computing All nodes run the same FSM (random) Anonymous Weak communication Fully asynchronous Arbitrary network topology (unknown) All features of the protocol are constant!

What is known? Can be synchronized Cannot elect a leader Cannot compute shortest paths No Minimum Spanning Tree or Diameter Edsger W. Dijkstra: Actually: I CAN COMPUTE SHORTEST PATHS!

Edsger W. Dijkstra: Actually: I CAN COMPUTE SHORTEST PATHS! Actually: Me too! (The slime mold)

Physarum polycephalum Nuclei are nodes Tubes / plasma are edges?

Computes the Shortest Path Video can be found at: http://www.youtube.com/watch?v=czk4xgdhdy4

How a Leader can make a Difference! Symmetry is broken Can coordinate global computation E.g. select unique node at random

Select Unique Node at Random REPEAT: 1. select random neighbor 2. Pr[choose yourself]=1/2 lea der

Select Unique Node at Random REPEAT: 1. select random neighbor 2. Pr[choose yourself]=1/2 lea der

Select Unique Node at Random REPEAT: 1. select random neighbor 2. Pr[choose yourself]=1/2 lea der

Select Unique Node at Random REPEAT: 1. select Wait: random neighbor Transmissions: 2. Pr[choose yourself]=1/2 - Same message delivered to all neighbors lea der Solution: - Wait until there is a neighbor in a unique state among the neighbors - Detect this via ports - Transmit content of this port

Select Unique Node at Random REPEAT: 1. select random neighbor 2. Pr[choose yourself]=1/2 lea der

Select Unique Node at Random REPEAT: 1. select random neighbor 2. Pr[choose yourself]=1/2 lea der

Select Unique Node at Random REPEAT: 1. select random neighbor 2. Pr[choose yourself]=1/2 lea der

Select Unique Node at Random REPEAT: 1. select random neighbor 2. Pr[choose yourself]=1/2 lea der

Select Unique Node at Random REPEAT: 1. select random neighbor 2. Pr[choose yourself]=1/2 lea der

Select Unique Node at Random REPEAT: 1. select random neighbor 2. Pr[choose yourself]=1/2 lea der

Select Unique Node at Random REPEAT: 1. select random neighbor 2. Pr[choose yourself]=1/2 lea der

Select Unique Node at Random REPEAT: 1. select random neighbor 2. Pr[choose yourself]=1/2 lea der

Select Unique Node at Random REPEAT: 1. select random neighbor 2. Pr[choose yourself]=1/2 lea der

How a Leader can make a Difference! Symmetry is broken Can coordinate global computation Select unique node at random Check if all nodes up to a certain distance have a certain property

Check if all nodes up to a certain distance have a certain property Determines the distance (here: 2) lea der

Check if all nodes up to a certain distance have a certain property Determines the distance (here: 2) lea der v

Check if all nodes up to a certain distance have a certain property Use ping to check properties Determines the distance (here: 2) lea der v

How a Leader can make a Difference! Symmetry is broken Can coordinate global computation Select unique node at random Check if all nodes up to a certain distance have a certain property

How a Leader can make a Difference! Symmetry is broken Can coordinate global computation Select unique node at random Check if all nodes up to a certain distance have a certain property (works for subsets as well)

How a Leader can make a Difference! Symmetry is broken Can coordinate global computation Select unique node at random Check if all nodes up to a certain distance have a certain property (works for subsets as well) Iterate through all nodes (for v V do TASK)

Iterate through all nodes (for v V do) v max leader; while not all nodes at distance dist(leader,v max )+1 are marked do select random node u; // u marks itself if dist(leader,u) > dist(leader, v max ) then v max u; u performs TASK;

Iterate through all nodes (for v V do) v max leader; while not all nodes at distance dist(leader,v max )+1 are marked do select random node u; // u marks itself if dist(leader,u) > dist(leader, v max ) then v max u; u performs TASK;

Iterate through all nodes (for v V do) v max leader; while not all nodes at distance dist(leader,v max )+1 are marked do select random node u; // u marks itself if dist(leader,u) > dist(leader, v max ) then v max u; u performs TASK;

Iterate through all nodes (for v V do) v max leader; while not all nodes at distance dist(leader,v max )+1 are marked do select random node u; // u marks itself if dist(leader,u) > dist(leader, v max ) then v max u; u performs TASK;

Iterate through all nodes (for v V do) v max leader; while not all nodes at distance dist(leader,v max )+1 are marked do select random node u; // u marks itself if dist(leader,u) > dist(leader, v max ) then v max u; u performs TASK;

Iterate through all nodes (for v V do) v max leader; while not all nodes at distance dist(leader,v max )+1 are marked do select random node u; // u marks itself if dist(leader,u) > dist(leader, v max ) then v max u; u performs TASK;

Iterate through all nodes (for v V do) v max leader; while not all nodes at distance dist(leader,v max )+1 are marked do select random node u; // u marks itself if dist(leader,u) > dist(leader, v max ) then v max u; u performs TASK;

Iterate through all nodes (for v V do) v max leader; while not all nodes at distance dist(leader,v max )+1 are marked do select random node u; // u marks itself if dist(leader,u) > dist(leader, v max ) then v max u; u performs TASK;

Iterate through all nodes (for v V do) v max leader; while not all nodes at distance dist(leader,v max )+1 are marked do select random node u; // u marks itself if dist(leader,u) > dist(leader, v max ) then v max u; u performs TASK;

Iterate through all nodes (for v V do) v max leader; while not all nodes at distance dist(leader,v max )+1 are marked do select random node u; // u marks itself if dist(leader,u) > dist(leader, v max ) then v max u; u performs TASK;

Iterate through all nodes (for v V do) v max leader; while not all nodes at distance dist(leader,v max )+1 are marked do select random node u; // u marks itself if dist(leader,u) > dist(leader, v max ) then v max u; u performs TASK;

Iterate through all nodes (for v V do) v max leader; while not all nodes at distance dist(leader,v max )+1 are marked do select random node u; // u marks itself if dist(leader,u) > dist(leader, v max ) then v max u; u performs TASK;

Iterate through all nodes (for v V do) v max leader; while not all nodes at distance dist(leader,v max )+1 are marked do select random node u; // u marks itself if dist(leader,u) > dist(leader, v max ) then v max u; u performs TASK;

Iterate through all nodes (for v V do) v max leader; while not all nodes at distance dist(leader,v max )+1 are marked do select random node u; // u marks itself if dist(leader,u) > dist(leader, v max ) then v max u; u performs TASK;

How a Leader can make a Difference! Symmetry is broken Can coordinate global computation Select unique node at random Check if all nodes up to a certain distance have a certain property (works for subsets as well) Iterate through all nodes (for u V do TASK)

How a Leader can make a Difference! Symmetry is broken Can coordinate global computation Select unique node at random Check if all nodes up to a certain distance have a certain property (works for subsets as well) Iterate through all nodes (for u V do TASK) Decide dist(u,v) > dist(u,v )

Decide dist(u,v) > dist(u,v ) u u Perform BFS v v

Decide dist(u,v) > dist(u,v ) u u lea der Acts as synchronizer Perform BFS v v

Decide dist(u,v) > dist(u,v ) u u lea der Acts as synchronizer Perform BFS v v

Decide dist(u,v) > dist(u,v ) u u lea der Acts as synchronizer Perform BFS v v

Decide dist(u,v) > dist(u,v ) u u lea der Acts as synchronizer Perform BFS v v

Decide dist(u,v) > dist(u,v ) u u lea der Acts as synchronizer Perform BFS v v

How a Leader can make a Difference! Symmetry is broken Can coordinate global computation Select unique node at random Check if all nodes up to a certain distance have a certain property (works for subsets as well) Iterate through all nodes (for u V do TASK) Decide dist(u,v) > dist(u,v )

How a Leader can make a Difference! Symmetry is broken Can coordinate global computation Select unique node at random Check if all nodes up to a certain distance have a certain property (works for subsets as well) Iterate through all nodes (for u V do TASK) Decide dist(u,v) > dist(u,v ) Constant combination of all these

Shortest Path INPUT: nodes u,v (assume v is leader) While u v do u marks itself to be on the shortest path for each neighbor w of u do if dist w, v < dist(u, v) then u w; OUTPUT: marked nodes

Shortest Path Example:

Shortest Path Example:

Shortest Path Example:

Shortest Path Example:

Shortest Path Example:

Shortest Path Example:

Shortest Path Example:

Shortest Path Example:

Shortest Path Example:

Shortest Path Example:

Different Model for the Slime Mold? Keep algorithms simple How does communication work? Strength of flow through tubes indicates length. We assume additional communication through tubes/plasma. Communicate through moving nuclei? Nuclei: How long do they live? Robustness? Do they move? How many are there? Do they communicate / process information?

Note These are possibility results - which weak assumptions work - which don t

Thanks! holzer@mit.edu yemek@ie.technion.ac.il wattenhofer@ethz.ch