Presentation is loading. Please wait.

Presentation is loading. Please wait.

Yehuda Afek, Eli Daian, Eli Gafni, Giuliano Losa

Similar presentations


Presentation on theme: "Yehuda Afek, Eli Daian, Eli Gafni, Giuliano Losa"— Presentation transcript:

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


Download ppt "Yehuda Afek, Eli Daian, Eli Gafni, Giuliano Losa"

Similar presentations


Ads by Google