190 likes | 206 Views
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
E N D
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 a Adaptivity • General algorithmic techniques for unbounded concurrency
Concurrency:Simultaneously Active Processes • k-bounded – single boundkover 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 Part 1: The Concurrency Hierarchy 1-concurrency …
Reminder: Snapshot algorithms sreturns {a,d,e,p,r,s,t,v,x,y} e returns {a,e,p,r,v,x} p y d r a xreturns {x} x e v t s Every process sees itself The snapshots are nested
j t p w e u a z q x Adaptively rename to 2k-1 names Adaptively rename to 2k’-1 names 2k-1 2k’-1 k+k’=n 1 2 3… 2n-2 …then there is a 2n-2 renaming algorithm, contradicting [HS99] Lemma--Any snapshot algorithm has an all-inclusive run (n is known). Suppose not...
5 6 4 2 7 8 . . . 3 9 10 ... i new processes in thei’thset Corollary--Any snapshot algorithm for unbounded concurrency has the following run: 1
5 6 4 2 7 8 3 9 10 For bounded concurrency, the concurrency bound c limits the maximum difference between successive snapshots: . . . 1 ... because at mostcnew processes in each set
5 5 2 7 6 8 2 7 6 8 . . . 3 4 . . . 1 3 4 1 9 9 10 10 The Bounded Snapshot Problem: in complete runs, there is an upper bound on the difference between successive snapshots. Impossible in unbounded concurrency Solvable for bounded concurrency?
k-concurrency bounded concurrency The Concurrency Hierarchy … k-snapshot (k+1)-concurrency … bounded snapshot unbounded concurrency
long-lived snapshot adaptive long-lived renaming adaptive one-shot renaming [AF99, AF2000] adaptive long-lived collect adaptive one-shot snapshot [AST99] adaptive long-lived snapshot adaptive one-shot 2k-1 renaming [AST99] Part 2: Algorithms for Unbounded Concurrency unbounded concurrency one-shot snapshot
. 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 One-shotSnapshot for Unbounded Concurrency . . .
0 2 5 9 1 4 8 3 7 . . . 6 Infinite array of splitters: May not terminate Adaptive One-shot Renaming [MA95, AF98]
p7 1 5 11 19 3 9 17 7 15 . . . 14 13 As soon aspifails to acquire any name j > 2ipitakesname 2i Adaptive One-shot Renaming for Unbounded Concurrency via “Interleaving” Infinite array of odd-numbered splitters:
Adaptive One-shot Snapshot for Unbounded Concurrency . . . . 1 5 11 19 3 9 17 . . . 7 15 13 Adaptive renaming . . . One-shot snapshot
for Unbounded Concurrency One-shot snapshot . 1 5 11 19 . . . 3 9 17 7 15 . . . . . . 13 Adaptive, Optimal One-shot Renaming collect 2k-1 one-shot renaming [BD89]
1-concurrency 1-snapshot 2-snapshot … bounded snapshot a. collect a. snapshot a. renaming a. 1-shot 2k-1 renaming Summary 2-concurrency … bounded concurrency unbounded concurrency
Conclusions and Open Problems • Concurrency hierarchy • Algorithms for unbounded concurrency (work for unknown number/concurrency) • General techniques • one-shot + infinite-arrival a 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 1 A1 g(k) names 0 A2 k processes 1 A3 g(k) names … 1 Ap g(k) names … At most k algorithms entered Eran Yahav