ACM Home Page
Please provide us with feedback. Feedback
Abortable and query-abortable objects and their efficient implementation
Full text PdfPdf (238 KB)
Source
Annual ACM Symposium on Principles of Distributed Computing archive
Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing table of contents
Portland, Oregon, USA
SESSION: Multiprocessor, multicore, shared memory table of contents
Pages: 23 - 32  
Year of Publication: 2007
ISBN:978-1-59593-616-5
Authors
Marcos K. Aguilera  HP Laboratories, Palo Alto
Svend Frolund  Gatehouse A/S
Vassos Hadzilacos  University of Toronto
Stephanie L. Horn  University of Toronto
Sam Toueg  University of Toronto
Sponsors
SIGOPS: ACM Special Interest Group on Operating Systems
ACM: Association for Computing Machinery
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 45,   Citation Count: 6
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1281100.1281107
What is a DOI?

ABSTRACT

We introduce abortable and query-abortable objects, intended for asynchronous shared-memory systems with low contention. These objects behave like ordinary objects when accessed sequentially, but may abort operations when accessed concurrently. An aborted operation may or may not take effect, i.e., cause a state transition, and it returns no indication of which possibility occurred. Since this uncertainty is problematic, a query-abortable object supports a QUERY operation that each process can use to determine its last non-QUERY operation on the object that caused a state transition, and the response associated with this state transition. Query-abortable objects can easily implement obstruction-free objects (introduced by Herlihy, Luchangco and Moir) and pausable objects (introduced by Attiya, Guerraoui and Kouznetsov).

We present universal constructions for abortable and query-abortable objects that use only abortable registers -- registers that are strictly weaker than safe registers. Our universal constructions are novel and efficient in the number of registers used. Specifically, they are based on a simple time stamping mechanism for detecting concurrent executions, and in systems with n processes, they use only 2n abortable registers. It is worth noting that our results imply that any obstruction-free object and any pausable object can be implemented using only 2n abortable registers.

Finally, we identify a potential problem with correctness properties based on step contention: with such properties, the composition of correct object implementations may result in an implementation that is not correct. In other words, implementations defined in terms of step contention are not always composable. To avoid this problem, we use interval contention to define the correct behaviour of abortable and query-abortable objects.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Hagit Attiya, Rachid Guerraoui, and Petr Kouznetsov. Computing with reads and writes in the absence of step contention. In DISC '05: 19th International Symposium on Distributed Computing, volume 3724 of Lecture Notes in Computer Science, pages 122--136. Springer, 2005.
2
 
3
4
5
 
6
Leslie Lamport. On interprocess communication. Part II: Algorithms. Distributed Computing, 1(2):86--101, 1986.


Collaborative Colleagues:
Marcos K. Aguilera: colleagues
Svend Frolund: colleagues
Vassos Hadzilacos: colleagues
Stephanie L. Horn: colleagues
Sam Toueg: colleagues