Abstract
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.
| Original language | English |
|---|---|
| Article number | 24 |
| Journal | Journal of the ACM |
| Volume | 56 |
| Issue number | 4 |
| DOIs | |
| Publication status | Published - 1 Jun 2009 |
| Externally published | Yes |
Keywords
- Lower bounds
- Memory contention
- Perturbable objects
- Shared memory
- Solo-fast implementations
- Step contention