From bounded to unbounded concurrency objects and back

We consider the power of objects in the unbounded concurrency shared memory model, where there is an infinite set of processes and the number of processes active concurrently may increase without bound. By studying this model we obtain new results and observations that are relevant and meaningful to the standard bounded concurrency model. First we resolve an open problem from 2006 and provide, contrary to what was conjectured, an unbounded concurrency wait-free implementation of a swap object from 2-consensus objects. This construction resolves another puzzle that has eluded us for a long time, that of considerably simplifying a 16 year old complicated bounded concurrency swap construction. A further insight to the traditional bounded concurrency model that we obtain by studying the unbounded concurrency model, is a refinement of the top level of the wait-free hierarchy, the class of infinite-consensus number objects. First we resolve an open question of Merritt and Taubenfeld from 2003, showing that having n-consensus objects for all n does not imply consensus under unbounded concurrency. I.e., consensus alone, treated as a black box, cannot be "boosted" in this way. We continue to show an infinite-number consensus object that while able to perform consensus for any n-bounded concurrency (n unknown in advance) cannot solve consensus in the face of unbounded concurrency. This divides the infinite-consensus class of objects into two, those that can solve consensus for unbounded concurrency, and those that cannot.

[1]  Michael Merritt,et al.  Resilient Consensus for Infinitely Many Processes , 2003, DISC.

[2]  David Eisenstat,et al.  A two-enqueuer queue , 2008, ArXiv.

[3]  Maurice Herlihy,et al.  Impossibility results for asynchronous PRAM (extended abstract) , 1991, SPAA '91.

[4]  Eli Gafni,et al.  Recursion in Distributed Computing , 2010, SSS.

[5]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1985, JACM.

[6]  D. Scott McCrickard A Study of Wait-Free Hierarchies in Concurrent Systems , 1994 .

[7]  Matei David,et al.  A Single-Enqueuer Wait-Free Queue Implementation , 2004, DISC.

[8]  Nir Shavit,et al.  Atomic snapshots of shared memory , 1990, JACM.

[9]  Yehuda Afek,et al.  Common2 extended to stacks and unbounded concurrency , 2006, PODC '06.

[10]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

[11]  James Aspnes,et al.  Wait-free consensus with infinite arrivals , 2002, STOC '02.

[12]  Dahlia Malkhi,et al.  Active disk paxos with infinitely many processes , 2002, PODC.

[13]  Michael Merritt,et al.  Computing with Infinitely Many Processes , 2000, DISC.

[14]  Yehuda Afek,et al.  A completeness theorem for a class of synchronization objects , 1993, PODC '93.

[15]  Maurice Herlihy,et al.  Wait-free synchronization , 1991, TOPL.

[16]  Serge A. Plotkin Sticky bits and universality of consensus , 1989, PODC '89.

[17]  David Eisenstat,et al.  Two-enqueuer queue in Common2 , 2008, 0805.0444.

[18]  Faith Ellen,et al.  Restricted Stack Implementations , 2005, DISC.

[19]  Zongpeng Li,et al.  Non-blocking implementations of Queues in asynchronous distributed shared-memory systems , 2001 .

[20]  Eli Gafni,et al.  The concurrency hierarchy, and algorithms for unbounded concurrency , 2001, PODC '01.

[21]  Prasad Jayanti,et al.  Robust wait-free hierarchies , 1997, JACM.