The complexity of obstruction-free implementations

Obstruction-free implementations of concurrent objects are optimized for the common case where there is no step contention, and were recently advocated as a solution to the costs associated with synchronization without locks. In this article, we study this claim and this goes through precisely defining the notions of obstruction-freedom and step contention. We consider several classes of obstruction-free implementations, present corresponding generic object implementations, and prove lower bounds on their complexity. Viewed collectively, our results establish that the worst-case operation time complexity of obstruction-free implementations is high, even in the absence of step contention. We also show that lock-based implementations are not subject to some of the time-complexity lower bounds we present.

[1]  Doug Lea,et al.  Concurrent programming in Java - design principles and patterns , 1996, Java series.

[2]  Maurice Herlihy,et al.  Software transactional memory for dynamic-sized data structures , 2003, PODC '03.

[3]  Eli Gafni,et al.  Structured derivations of consensus algorithms for failure detectors , 1998, PODC '98.

[4]  Yehuda Afek,et al.  Long-lived adaptive collect with applications , 1999, 40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039).

[5]  Doug Lea,et al.  Concurrent Programming In Java , 1996 .

[6]  Yehuda Afek,et al.  Long lived adaptive splitter and applications , 2002, Distributed Computing.

[7]  Marcin Paprzycki,et al.  Distributed Computing: Fundamentals, Simulations and Advanced Topics , 2001, Scalable Comput. Pract. Exp..

[8]  Marcos K. Aguilera,et al.  Brief Announcement: Abortable and Query-Abortable Objects , 2006, DISC.

[9]  Michael J. Fischer,et al.  Economical solutions for the critical section problem in a distributed system (Extended Abstract) , 1977, STOC '77.

[10]  Rachid Guerraoui,et al.  Synchronizing without locks is inherently expensive , 2006, PODC '06.

[11]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1983, PODS '83.

[12]  Hagit Attiya,et al.  Algorithms adapting to point contention , 2003, JACM.

[13]  Nir Shavit,et al.  Linear lower bounds on real-world implementations of concurrent objects , 2005, 46th Annual IEEE Symposium on Foundations of Computer Science (FOCS'05).

[14]  Rachid Guerraoui,et al.  Deconstructing paxos , 2003, SIGA.

[15]  Maurice Herlihy,et al.  Fast Randomized Consensus Using Shared Memory , 1990, J. Algorithms.

[16]  Dan Suciu,et al.  Journal of the ACM , 2006 .

[17]  Sam Toueg,et al.  Time and Space Lower Bounds for Nonblocking Implementations , 2000, SIAM J. Comput..

[18]  Leslie Lamport,et al.  The part-time parliament , 1998, TOCS.

[19]  Rachid Guerraoui,et al.  Computing with Reads and Writes in the Absence of Step Contention , 2005, DISC.

[20]  Doug Lea Concurrent Programming in Java. Second Edition: Design Principles and Patterns , 1999 .

[21]  Maurice Herlihy,et al.  Contention in shared memory algorithms , 1993, JACM.

[22]  Hagit Attiya,et al.  Distributed Computing: Fundamentals, Simulations and Advanced Topics , 1998 .

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

[24]  Hagit Attiya,et al.  Distributed computing - fundamentals, simulations, and advanced topics (2. ed.) , 2004, Wiley series on parallel and distributed computing.

[25]  Maurice Herlihy,et al.  Obstruction-free synchronization: double-ended queues as an example , 2003, 23rd International Conference on Distributed Computing Systems, 2003. Proceedings..

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

[27]  Nir Shavit,et al.  Solo-valency and the cost of coordination , 2008, Distributed Computing.

[28]  Edsger W. Dijkstra,et al.  Cooperating sequential processes , 2002 .

[29]  Maurice Herlihy,et al.  On the space complexity of randomized synchronization , 1993, PODC '93.

[30]  Maurice Herlihy,et al.  Contention in shared memory algorithms , 1997, J. ACM.

[31]  Nir Shavit,et al.  Operation-valency and the cost of coordination , 2003, PODC '03.

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

[33]  Marcos K. Aguilera,et al.  Strict Linearizability and the Power of Aborting , 2003 .

[34]  Mark Moir,et al.  On the Uncontended Complexity of Consensus , 2003, DISC.