Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
A completeness theorem for a class of synchronization objects
PODC '93 Proceedings of the twelfth annual ACM symposium on Principles of distributed computing
Transactional memory: architectural support for lock-free data structures
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
On the space complexity of randomized synchronization
Journal of the ACM (JACM)
Scalable queue-based spin locks with timeout
PPoPP '01 Proceedings of the eighth ACM SIGPLAN symposium on Principles and practices of parallel programming
Some Results on the Impossibility, Universality, and Decidability of Consensus
WDAG '92 Proceedings of the 6th International Workshop on Distributed Algorithms
Notes on Data Base Operating Systems
Operating Systems, An Advanced Course
Obstruction-Free Synchronization: Double-Ended Queues as an Example
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
Abortable and query-abortable objects and their efficient implementation
Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing
Computing with reads and writes in the absence of step contention
DISC'05 Proceedings of the 19th international conference on Distributed Computing
Hi-index | 0.00 |
We define deterministic abortable (DA) objects, which guarantee that operations complete normally if executed solo, but may abort if executed concurrently with other operations. An operation that aborts has no effect on the object. This simple and attractive behavior is reminiscent of transactional memory, database transactions, and abortable mutual exclusion --- techniques in which a process can, under contention, ``bail out'' of the computation without leaving a trace. It is well-known that ordinary objects can be placed in a consensus hierarchy, based on their ability to implement n-Consensus (an object that allows up to n processes to agree on a value): an object is at level n if, together with registers, it can implement n-Consensus} but not (n+1)-Consensus. We show that DA objects can be placed in an analogous hierarchy, called the DAC hierarchy, based on their ability to implement n-DAC, the DA counterpart of n-Consensus. We explore the similarities and differences between these two hierarchies. It was previously known that 2-DAC is just as powerful as 2-Consensus, so the two hierarchies coincide at level 2. We show, however, that they diverge at higher levels. First, we show that ∞-DAC} (which is at level ∞ of the DAC hierarchy) can not implement even 3-Consensus (which is at level 3 of the consensus hierarchy). Then we show that, for each n, n-Consensus cannot implement (n+1)-DAC. Finally, we show that, in general, there is no simple correspondence between the level of an object in one hierarchy and its counterpart in the other: We exhibit an ordinary object at level ∞ of the consensus hierarchy, whose DA counterpart is at level 1 in the DAC hierarchy.