Download presentation
Presentation is loading. Please wait.
1
Yehuda Afek, Eli Daian, Eli Gafni, Giuliano Losa
Life in 1-consensus Yehuda Afek, Eli Daian, Eli Gafni, Giuliano Losa
2
Classifying Deterministic Shared Memory Objects
Computability = the power to solve tasks wait-free = non-blocking August 16, 2019
3
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
4
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
5
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
6
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 ∞
7
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?
8
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 ∞
9
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
10
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
11
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⎦ .
12
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
13
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 ∞
14
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
15
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 ∞
16
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
17
WRN(0, 14) Write Read August 16, 2019
18
14 Write Read August 16, 2019
19
Write Read August 16, 2019
20
WRN(2, 8) Read Write August 16, 2019
21
8 Read Write August 16, 2019
22
Read Write August 16, 2019
23
August 16, 2019
24
August 16, 2019
25
August 16, 2019
26
Example – 3 processes August 16, 2019
27
Example – 3 processes August 16, 2019
28
Example – 3 processes August 16, 2019
29
Example – 3 processes August 16, 2019
30
Renaming More Iterations August 16, 2019
31
August 16, 2019
32
August 16, 2019
33
August 16, 2019
34
The Critical State August 16, 2019
35
August 16, 2019
36
August 16, 2019
37
August 16, 2019
38
August 16, 2019
39
August 16, 2019
40
August 16, 2019
41
Same value is returned August 16, 2019
42
August 16, 2019
43
August 16, 2019
44
DONE! August 16, 2019
45
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 ∞
46
Building an Infinite Hierarchy
(If p is elected, then p elects itself) August 16, 2019
47
Building from Strong Set Election
August 16, 2019
48
Implementation Directions
[BG 1993] Already shown In the paper August 16, 2019
49
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 ∞
50
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
51
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
52
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
53
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
54
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
55
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 ???
56
Consensus vs. Set Consensus Power
August 16, 2019
57
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.
58
Set Consensus Power Vector
August 16, 2019
59
Remaining Open Questions
Thank you! August 16, 2019
60
A Ellen Gafni Test-and-set LL/SC R/W registers Fetch-and-add m-write
1 SWAP Queue Stack Compare-and-swap 2 ∞
61
Spoiler Test-and-set R/W registers Fetch-and-add SWAP LL/SC 1 CAS
Stack Queue 2 ∞
62
Spoiler Test-and-set R/W registers Fetch-and-add SWAP LL/SC 1 CAS
Stack Queue 2 ∞
63
The Open Question ??? August 16, 2019
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.