The Concurrency Hierarchy and Algorithms for Unbounded Concurrency Eli Gafni Michael Merritt Gadi Taubenfeld.

Slides:



Advertisements
Similar presentations
C++ Programming:. Program Design Including
Advertisements

Uninformed search strategies
N-Consensus is the Second Strongest Object for N+1 Processes Eli Gafni UCLA Petr Kuznetsov Max Planck Institute for Software Systems.
Synchronization Algorithms and Concurrent Programming
Uncoordinated Checkpointing The Global State Recording Algorithm Cristian Solano.
Chapter 15 Basic Asynchronous Network Algorithms
1 Chapter 2 Synchronization Algorithms and Concurrent Programming Gadi Taubenfeld © 2007 Synchronization Algorithms and Concurrent Programming Gadi Taubenfeld.
Multiprocessor Synchronization Algorithms ( ) Lecturer: Danny Hendler The Mutual Exclusion problem.
1 Chapter 3 Synchronization Algorithms and Concurrent Programming Gadi Taubenfeld © 2014 Synchronization Algorithms and Concurrent Programming Synchronization.
PRAM (Parallel Random Access Machine)
Distributed Computing 8. Impossibility of consensus Shmuel Zaks ©
CPSC 668Set 19: Asynchronous Solvability1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
Common2 Extended to Stacks Adam Morrison joint with Eli Gafni Yehuda Afek.
A Mile-High View of Concurrent Algorithms Hagit Attiya Technion.
Winter School: Hot Topics in Distributed Computing 2010 Algorithms that Adapt to Contention Hagit Attiya (Technion & EPFL)
Group-Solvability The Ultimate Wait-Freedom Eli Gafni UCLA DISC /4/04.
1 Eran Yahav and Mooly Sagiv School of Computer Science Tel-Aviv University Verifying Safety Properties.
1 Adaptive and Efficient Mutual Exclusion Presented by: By Hagit Attya and Vita Bortnikov Mian Huang.
Wait-Free Consensus with Infinite Arrivals James Aspnes Gauri Shah Jatin Shah Yale University STOC 2002.
Concurrency in Distributed Systems: Mutual exclusion.
Deriving an Algorithm for the Weak Symmetry Breaking Task Armando Castañeda Sergio Rajsbaum Universidad Nacional Autónoma de México.
Design and Analysis of Algorithms
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Spring 2014 Prof. Jennifer Welch CSCE 668 Set 19: Asynchronous Solvability 1.
Atomic Snapshots. Abstract Data Types Abstract representation of data & set of methods (operations) for accessing it Implement using primitives on base.
The Bernays-Schönfinkel Fragment of First-Order Autoepistemic Logic Peter Baumgartner MPI Informatik, Saarbrücken.
The minimum cost flow problem. Simplifying assumptions Network is connected (as an undirected graph). – We can consider each connected component separately.
1 Chapter 9 Synchronization Algorithms and Concurrent Programming Gadi Taubenfeld © 2014 Synchronization Algorithms and Concurrent Programming Synchronization.
6.852: Distributed Algorithms Spring, 2008 Class 13.
1 Chapter 10 Synchronization Algorithms and Concurrent Programming Gadi Taubenfeld © 2014 Synchronization Algorithms and Concurrent Programming Synchronization.
Mutual Exclusion Using Atomic Registers Lecturer: Netanel Dahan Instructor: Prof. Yehuda Afek B.Sc. Seminar on Distributed Computation Tel-Aviv University.
Common2 extended to stacks and unbound concurrency By:Yehuda Afek Eli Gafni Adam Morrison May 2007 Presentor: Dima Liahovitsky 1.
1 Chapter 2 Synchronization Algorithms and Concurrent Programming Gadi Taubenfeld © 2014 Synchronization Algorithms and Concurrent Programming Synchronization.
CS294, Yelick Consensus revisited, p1 CS Consensus Revisited
CSE 332: Design Patterns Review: Design Pattern Structure A design pattern has a name –So when someone says “Adapter” you know what they mean –So you can.
Chapter 15: Recursion. Objectives In this chapter, you will: – Learn about recursive definitions – Explore the base case and the general case of a recursive.
Asynchronous Exclusive Selection Bogdan Chlebus, U. Colorado Darek Kowalski, U. Liverpool.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
1 The Computability of Relaxed Data Structures: Queues and Stacks as Examples The Computability of Relaxed Data Structures: Queues and Stacks as Examples.
Distributed Algorithms (22903) Lecturer: Danny Hendler The Atomic Snapshot Object The Renaming Problem This presentation is based on the book “Distributed.
Chapter 15: Recursion. Recursive Definitions Recursion: solving a problem by reducing it to smaller versions of itself – Provides a powerful way to solve.
Chapter 15: Recursion. Objectives In this chapter, you will: – Learn about recursive definitions – Explore the base case and the general case of a recursive.
Introduction to distributed systems description relation to practice variables and communication primitives instructions states, actions and programs synchrony.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Achieving Goals in Decentralized POMDPs Christopher Amato Shlomo Zilberstein UMass.
CS 5751 Machine Learning Chapter 13 Reinforcement Learning1 Reinforcement Learning Control learning Control polices that choose optimal actions Q learning.
Math/CSE 1019C: Discrete Mathematics for Computer Science Fall 2012
Data Structures and Algorithms
Uninformed Search Strategies
A Balanced Introduction to Computer Science David Reed, Creighton University ©2005 Pearson Prentice Hall ISBN X Chapter 13 (Reed) - Conditional.
Bloom filters Probability and Computing Michael Mitzenmacher Eli Upfal
Multiprocessor Synchronization Algorithms ( )
Distributed Algorithms (22903)
Objective of This Course
How Hard Can It Be?.
Decidable Languages Costas Busch - LSU.
Searching for Solutions
Computing With Infinitely Many Processes
Review: Design Pattern Structure
Kevin Mason Michael Suggs
Distributed Algorithms (22903)
Multiprocessor Synchronization Algorithms ( )
Introduction to Reinforcement Learning and Q-Learning
Lecture 1: Introduction
Distributed Algorithms (22903)
Impossible problems.
Leader Election Ch. 3, 4.1, 15.1, 15.2 Chien-Liang Fok 4/29/2019
Combinatorial Topology and Distributed Computing
ECE457 Applied Artificial Intelligence Fall 2007 Lecture #2
A Balanced Introduction to Computer Science David Reed, Creighton University ©2005 Pearson Prentice Hall ISBN X Chapter 13 (Reed) - Conditional.
Algorithms CSCI 235, Spring 2019 Lecture 37 The Halting Problem
Heuristic Search Viewed as path Finding in a Graph
Presentation transcript:

The Concurrency Hierarchy and Algorithms for Unbounded Concurrency Eli Gafni Michael Merritt Gadi Taubenfeld

Motivation & Overview  Exploring the consequences of the a priori bound assumption on processes and concurrency  Extends “Computing with infinitely many processes” [MT2000]  Wait-free algorithms using atomic registers  Part 1: Computability: the Concurrency Hierarchy  Part 2: Algorithms:  Understanding one-shot/long-lived relationships  Infinity+Symmetry  Adaptivity  General algorithmic techniques for unbounded concurrency

Concurrency: Simultaneously Active Processes  k -bounded – single bound k over all runs  bounded – in each run an upper bound exists  unbounded – finite at any point, no upper bound  infinite – within a single state (not considered)

2 -concurrency bounded concurrency unbounded concurrency 1 -concurrency Part 1: The Concurrency Hierarchy …

Reminder: Snapshot algorithms e r p v a yd t s e returns {a,e,p,r,v,x} s returns {a,d,e,p,r,s,t,v,x,y} x returns {x} Every process sees itself The snapshots are nested x

Lemma--Any snapshot algorithm has an all-inclusive run ( n is known). p w u q t x z e j a Adaptively rename to 2k-1 names 2k-1 2n … …then there is a 2n-2 renaming algorithm, contradicting [HS99] Suppose not... 2k’-1 Adaptively rename to 2k’-1 names k+k’=n

Corollary--Any snapshot algorithm for unbounded concurrency has the following run: i new processes in the i’ th set

For bounded concurrency, the concurrency bound c limits the maximum difference between successive snapshots: because at most c new processes in each set

The Bounded Snapshot Problem: in complete runs, there is an upper bound on the difference between successive snapshots Impossible in unbounded concurrencySolvable for bounded concurrency?

The Concurrency Hierarchy k -concurrency ( k+1 )-concurrency bounded concurrency unbounded concurrency … bounded snapshot … k-snapshot

Part 2: Algorithms for Unbounded Concurrency unbounded concurrency adaptive one-shot 2k-1 renaming adaptive one-shot snapshot adaptive one-shot renaming long-lived snapshot one-shot snapshot adaptive long-lived renaming adaptive long-lived collect adaptive long-lived snapshot [AST99] [AF99, AF2000] [AST99]

One-shot Snapshot for Unbounded Concurrency... Use diagonalization to make long-lived.... Take a second snapshot (which must include me):...if the road goes on forever, someone paved it after driving past my house....

Adaptive One-shot Renaming [MA95, AF98] Infinite array of splitters: May not terminate...

Adaptive One-shot Renaming for Unbounded Concurrency via “Interleaving” Infinite array of odd-numbered splitters: As soon as p i fails to acquire any name j > 2i  p i takes name 2i p7p7 14

Adaptive One-shot Snapshot for Unbounded Concurrency Adaptive renaming One-shot snapshot

Adaptive, Optimal One-shot Renaming 2k-1 one-shot renaming [BD89] collect for Unbounded Concurrency One-shot snapshot

Summary 1-concurrency 2-concurrency bounded concurrency unbounded concurrency … … 2-snapshot bounded snapshot 1-snapshot a. collect a. snapshot a. 1-shot 2k-1 renaming a. renaming

Conclusions and Open Problems  Concurrency hierarchy  Algorithms for unbounded concurrency (work for unknown number/concurrency)  General techniques  one-shot + infinite-arrival  long-lived (diagonalization)  interleaving, help first, doorways  Are there natural problems outside unbounded concurrency?  Efficiency (space and time)  Separating problems that are “tasks”

One-shot Renaming “black-box” Transformation A1A1 A2A2 A3A3 ApAp … … k processes g(k) names At most k algorithms entered Eran Yahav