Yehuda Afek, Eli Daian, Eli Gafni, Giuliano Losa

Slides:



Advertisements
Similar presentations
1 © R. Guerraoui Universal constructions R. Guerraoui Distributed Programming Laboratory.
Advertisements

1 © R. Guerraoui The Limitations of Registers R. Guerraoui Distributed Programming Laboratory.
N-Consensus is the Second Strongest Object for N+1 Processes Eli Gafni UCLA Petr Kuznetsov Max Planck Institute for Software Systems.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
CS364 CH16 Control Unit Operation
1 Lecture 11: Modern Superscalar Processor Models Generic Superscalar Models, Issue Queue-based Pipeline, Multiple-Issue Design.
Global Environment Model. MUTUAL EXCLUSION PROBLEM The operations used by processes to access to common resources (critical sections) must be mutually.
The weakest failure detector question in distributed computing Petr Kouznetsov Distributed Programming Lab EPFL.
Bigamy Eli Gafni UCLA GETCO Outline Models, tasks, and solvability What is SM? r/w w.f. asynch computability Sperner Lemma as a consequence of the.
A Completeness theorem for a class of synchronization objects Afek.Y, Weisberger.E, Weisman.H Presented by: Reut Schwartz.
1 © R. Guerraoui The Power of Registers Prof R. Guerraoui Distributed Programming Laboratory.
Background Concurrent access to shared data can lead to inconsistencies Maintaining data consistency among cooperating processes is critical What is wrong.
Is 1 different from 12? Eli Gafni UCLA Eli Gafni UCLA.
THE MIPS R10000 SUPERSCALAR MICROPROCESSOR Kenneth C. Yeager IEEE Micro in April 1996 Presented by Nitin Gupta.
Relative Power of Models in Distributed Computing Petr Kuznetsov TU Berlin/DT-Labs.
What is ’’hard’’ in distributed computing? R. Guerraoui EPFL/MIT joint work with. Delporte and H. Fauconnier (Univ of Paris)
Common2 Extended to Stacks Adam Morrison joint with Eli Gafni Yehuda Afek.
Distributed Algorithms: Asynch R/W SM Computability Eli Gafni, UCLA Summer Course, CRI, Haifa U, Israel.
Group-Solvability The Ultimate Wait-Freedom Eli Gafni UCLA DISC /4/04.
TK 2633 Microprocessor & Interfacing Lecture 3: Introduction to 8085 Assembly Language Programming (2) 1 Prepared By: Associate Prof. Dr Masri Ayob.
What Can Be Implemented Anonymously ? Paper by Rachid Guerraui and Eric Ruppert Presentation by Amir Anter 1.
Chapter 1 pp 1-14 Properties of Algorithms Pseudocode.
Room: E-3-31 Phone: Dr Masri Ayob TK 2633 Microprocessor & Interfacing Lecture 1: Introduction to 8085 Assembly Language.
Wait-Free Consensus with Infinite Arrivals James Aspnes Gauri Shah Jatin Shah Yale University STOC 2002.
Chapter Resynchsonous Stabilizer Chapter 5.1 Resynchsonous Stabilizer Self-Stabilization Shlomi Dolev MIT Press, 2000 Draft of Jan 2004, Shlomi.
CS510 Concurrent Systems Introduction to Concurrency.
Atomic Snapshots. Abstract Data Types Abstract representation of data & set of methods (operations) for accessing it Implement using primitives on base.
1 Chapter 9 Synchronization Algorithms and Concurrent Programming Gadi Taubenfeld © 2014 Synchronization Algorithms and Concurrent Programming Synchronization.
Wait-Free Consensus CPSC 661 Fall 2003 Supervised by: Lisa Higham Presented by: Wei Wei Zheng Nuha Kamaluddeen.
Common2 extended to stacks and unbound concurrency By:Yehuda Afek Eli Gafni Adam Morrison May 2007 Presentor: Dima Liahovitsky 1.
Interrupt driven I/O. MIPS RISC Exception Mechanism The processor operates in The processor operates in user mode user mode kernel mode kernel mode Access.
CS294, Yelick Consensus revisited, p1 CS Consensus Revisited
Silberschatz, Galvin and Gagne  Applied Operating System Concepts Chapter 2: Computer-System Structures Computer System Architecture and Operation.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
“Towards Self Stabilizing Wait Free Shared Memory Objects” By:  Hopeman  Tsigas  Paptriantafilou Presented By: Sumit Sukhramani Kent State University.
Structure and Role of a Processor
1 The Computability of Relaxed Data Structures: Queues and Stacks as Examples The Computability of Relaxed Data Structures: Queues and Stacks as Examples.
CS510 Concurrent Systems Jonathan Walpole. Introduction to Concurrency.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
1 © R. Guerraoui Set-Agreement (Generalizing Consensus) R. Guerraoui.
Big Picture Lab 4 Operating Systems C Andras Moritz
The Concurrency Hierarchy and Algorithms for Unbounded Concurrency Eli Gafni Michael Merritt Gadi Taubenfeld.
Wait-Free Consensus CPSC 661 Fall 2003 Supervised by: Lisa Higham
Distributed Algorithms (22903)
Processes and threads.
The consensus problem in distributed systems
Sujata Ray Dey Maheshtala College Computer Science Department
Reactive Synchronization Algorithms for Multiprocessors
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Challenges in Concurrent Computing
Algebraic Topology and Distributed Computing part two
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Chapter 26 Concurrency and Thread
Simulations and Reductions
Operating System Concepts
Rodolfo Conde Joint work with Sergio Rajsbaum Instituto de Matemáticas
Distributed Algorithms (22903)
Distributed Algorithms (22903)
Sujata Ray Dey Maheshtala College Computer Science Department
The Relative Power of Synchronization Methods
Distributed Computing:
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
FLP Impossibility of Consensus
Deterministic Objects: Life Beyond Consensus
Fast Shared Counting using O(n) Compare-and-Swap Registers
CSE 589 Applied Algorithms Spring 1999
More concurrency issues
Fetch And Add – switching network
Presentation transcript:

Yehuda Afek, Eli Daian, Eli Gafni, Giuliano Losa Life in 1-consensus Yehuda Afek, Eli Daian, Eli Gafni, Giuliano Losa

Classifying Deterministic Shared Memory Objects Computability = the power to solve tasks wait-free = non-blocking August 16, 2019

Deterministic Objects Task (deterministic and non-det.) Linearizable concurrent state machine Atomic R/W Reg’s Stack, Queue, F&Add, … CAS, Input-vector  Output-vector function: (0,2,5,14,1)  {(2,5,5,2,5),(2,2,2,2,2)…..} ….. Consensus (agreement & validity) Set-Consensus (set-agreement) Immediate Snapshot deterministic object = DFSA

Classifying Deterministic Shared Memory Objects Computability = the power to solve tasks wait-free = non-blocking Standard asynchronous shared memory Shared deterministic objects Interested (only) in wait-free linearizable implementations of tasks == non-blocking! August 16, 2019

Object O Consensus Number Cons#(O) = C=Max number of processors that can do w-f consensus with any number of O and Reg’s

Herlihy’s Consensus Hierarchy Test-and-set LL/SC R/W registers Fetch-and-add m-write 1 SWAP Queue Stack Compare-and-swap 2 ∞

Herlihy’s Consensus Hierarchy Compare-and-swap LL/SC ∞ Test-and-set Fetch-and-add Queue 2 Stack SWAP R/W registers 1 m-write If cons#(O1)<cons#(O2)  O1 cannot implement O2 Object in Lk is universal for k processes (implements any O) Is level k complete? different objects in Lk can implement each other in a system with n>k processes?

Common 2 [AWeisbergerWeisman 1994] Test&Set from 2-cons Yes Fetc&Add from 2-cons SWAP from 2-cons Stack from 2-cons Queue from 2-cons ?? Test-and-set Fetch-and-add 1 SWAP Queue Stack 2 ∞

FALSE AEllenGafni 2016 Common 2 Common 3 Common m Consensus Hierarchy Conjecture: Deteministic Obj of consensus number n can be implemented from n-consensus for any number of processors. FALSE

Set-Consensus Soma Chaudhuri 1990: (n,k)Set-Consensus: Agreement – output-vector is a set of at most k different values Validity – each value is an input of some process [HS, BG, SZ 1999] Atomic R/W cannot w-f solve (n,k)set-consensus, n>k>1

Borowsky Gafni 1993 Roughly, n>l and k>j: (l,j)set-consensus implements (n,k)set-consensus if k=j*n/l (use n/l copies of (l,j)set-consensus) More precisely (dealing with remainders): ………if and only if k ≥ j, n/k ≤ m/j, and either k ≥ j ⎡n/m⎤ or k ≥ j ⎣n/m⎦ + n – m ⎣n/m⎦ .

FALSE AEllenGafni 2016 AABBA cons#(AABBA)=2=(2,1)sc T A2 B1 B2 A/A */A B/B */B */ AABBA cons#(AABBA)=2=(2,1)sc Set-consensus Power (AABBA) = (5,2) BG(2,1)set-consensus cannot do (5,2)set-consensus FLP (bivalent) proof cons#(AABBA)<3, =2 ! counter example for common2 !! Common2 conjecture FALSE

AEllenGafni 2016 AABBCCBA (= (8,3)) implements AABBA AABBA does not implement AABBCCBA Hierarchy ! Test-and-set LL/SC R/W registers Fetch-and-add m-write 1 SWAP Stack Queue Compare-and-swap 2 ∞

Comparing the Hierarchies Herlihy’s Hierarchy AEG Uses consensus Deterministic task Classifies deterministic objects Uses set consensus Nondeterministic task Classifies deterministic objects August 16, 2019

Remains Open [AEG cojecture] Are there deterministic objects O s.t.,: Reg’s < O < 2-consensus ?? Test-and-set LL/SC R/W registers Fetch-and-add m-write 1 SWAP Stack Queue Compare-and-swap 2 ∞

T A[0], A[1], … , A[k-1] Registers, initially WRN(i,v): Write v  A[i]   A[0], A[1], … , A[k-1] Registers, initially WRN(i,v): Write v  A[i] Return A[(i+1) mod k] T August 16, 2019

    WRN(0, 14) Write Read August 16, 2019

  14   Write Read   August 16, 2019

      Write Read August 16, 2019

  WRN(2, 8)   Read Write August 16, 2019

    8 Read   Write August 16, 2019

      Read Write August 16, 2019

      August 16, 2019

    August 16, 2019

    August 16, 2019

Example – 3 processes           August 16, 2019

Example – 3 processes             August 16, 2019

Example – 3 processes               August 16, 2019

Example – 3 processes               August 16, 2019

  Renaming     More Iterations   August 16, 2019

    August 16, 2019

      August 16, 2019

        August 16, 2019

The Critical State       August 16, 2019

                August 16, 2019

                  August 16, 2019

                  August 16, 2019

                  August 16, 2019

    August 16, 2019

                  August 16, 2019

      Same value is returned             August 16, 2019

                    August 16, 2019

                    August 16, 2019

    DONE!   August 16, 2019

Remains Open [AEG cojecture] FALSE WRNk is a deterministic object WRNk s.t.,: Reg’s < WRNk < 2-consensus ?? Test-and-set LL/SC R/W registers Fetch-and-add m-write 1 SWAP Stack Queue Compare-and-swap 2 ∞

Building an Infinite Hierarchy   (If p is elected, then p elects itself) August 16, 2019

Building from Strong Set Election August 16, 2019

Implementation Directions   [BG 1993] Already shown In the paper August 16, 2019

Infinite hierarchy in L1 An infinite hierarchy Test-and-set LL/SC R/W registers Fetch-and-add m-write 1 SWAP Stack Queue Compare-and-swap 2 ∞

Set-Consensus below 2-consensus processes 2-setCons 3-setConse 4-setCons 5-setCons 6-setCons 7-setCons 3 4 5 6 7 8 Reg’s=1-consensus

Set-Consensus below 2-consensus processes 2-setCons 3-setConse 4-setCons 5-setCons 6-setCons 7-setCons 3 WRN3 4 5 6 7 8 Reg’s=1-consensus

Set-Consensus below 2-consensus processes 2-setCons 3-setConse 4-setCons 5-setCons 6-setCons 7-setCons 3 WRN3 4 WRN4 5 WRN5 6 WRN6 7 WRN7 8 WRN8 Reg’s=1-consensus

Set-Consensus below 2-consensus processes 2-setCons 3-setConse 4-setCons 5-setCons 6-setCons 7-setCons 3 WRN3 4 WRN4 5 WRN5 6 2xWRN3 WRN6 7 WRN7 8 WRN8 Reg’s=1-consensus

Set-Consensus below 2-consensus processes 2-setCons 3-setConse 4-setCons 5-setCons 6-setCons 7-setCons 3 WRN3 4 WRN4 5 WRN5 6 2xWRN3 WRN6 7 WRN7 8 2xWRN4 WRN8 Reg’s=1-consensus

Set-Consensus below 2-consensus processes 2-setCons 3-setConse 4-setCons 5-setCons 6-setCons 7-setCons 3 WRN3 4 WRN4 5 WRN5 6 2xWRN3 WRN6 7 WRN7 8 2xWRN4 WRN8 Reg’s=1-consensus ??? OPEN ???

Consensus vs. Set Consensus Power   August 16, 2019

Delporte-Gallet, Fauconnier, Gafni, Kuznetsov Set-consensus power vector (Obj)= (k1, k2, k3, …..) where Obj and registers can w-f implement (ki,i)set-consensus and NOT (ki+1,i)set-consensus.

Set Consensus Power Vector   August 16, 2019

Remaining Open Questions   Thank you! August 16, 2019

A Ellen Gafni Test-and-set LL/SC R/W registers Fetch-and-add m-write 1 SWAP Queue Stack Compare-and-swap 2 ∞

Spoiler Test-and-set R/W registers Fetch-and-add SWAP LL/SC 1 CAS Stack Queue 2 ∞

Spoiler Test-and-set R/W registers Fetch-and-add SWAP LL/SC 1 CAS Stack Queue 2 ∞

The Open Question ??? August 16, 2019