Advertisement

k-Abortable Objects: Progress Under High Contention

  • Naama Ben-David
  • David Yu Cheng ChanEmail author
  • Vassos Hadzilacos
  • Sam Toueg
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9888)

Abstract

In this paper, we define k-abortable objects, the first kind of abortable objects [2, 7] that guarantee some degree of progress even under high contention. The definition is simple and natural: intuitively, an operation on a k-abortable object can abort only if k operations from distinct processes succeed during the execution of the aborted operation. We first show that k-abortable objects can easily implement k -lock-free objects, i.e., objects where at least k processes make progress [5], but in contrast to k-lock-free objects, k-abortable objects always return control. We then give an efficient universal construction for wait-free k-abortable objects shared by n processes that takes only O(k) steps per operation. We also give a \(\varOmega (\log k)\)-steps lower bound for universal constructions of k-abortable objects shared by \(n \ge k\) processes. Since every wait-free k-abortable object can implement its k-lock-free counterpart, our universal construction also provides a universal construction for k-lock-free objects.

Keywords

Shared memory Lock-freedom Wait-freedom Distributed algorithms Abortable objects Liveness conditions Asynchronous system 

References

  1. 1.
    Afek, Y., Dauber, D., Touitou, D.: Wait-free made fast. In: Proceedings of the Twenty-Seventh Annual ACM Symposium on Theory of Computing, pp. 538–547. ACM (1995)Google Scholar
  2. 2.
    Aguilera, M.K., Frolund, S., Hadzilacos, V., Horn, S.L., Toueg, S.: Abortable and query-abortable objects and their efficient implementation. In: Proceedings of the Twenty-Sixth Annual ACM Symposium on Principles of Distributed Computing, pp. 23–32. ACM (2007)Google Scholar
  3. 3.
    Attiya, H., Guerraoui, R., Kouznetsov, P.: Computing with reads and writes in the absence of step contention. In: Fraigniaud, P. (ed.) DISC 2005. LNCS, vol. 3724, pp. 122–136. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Brown, T., Ellen, F., Ruppert, E.: A general technique for non-blocking trees. In: Proceedings of the 19th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 329–342. ACM (2014)Google Scholar
  5. 5.
    Bushkov, V., Guerraoui, R.: Safety-liveness exclusion in distributed computing. In: Proceedings of the Twenty Fourth Annual ACM Symposium on Principles of Distributed Computing. ACM (2015)Google Scholar
  6. 6.
    Fatourou, P., Kallimanis, N.D.: Highly-efficient wait-free synchronization. Theor. Comput. Syst. 55(3), 475–520 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Hadzilacos, V., Toueg, S.: On deterministic abortable objects. In: Proceedings of the 2013 ACM Symposium on Principles of Distributed Computing, pp. 4–12. ACM (2013)Google Scholar
  8. 8.
    Herlihy, M.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. (TOPLAS) 13(1), 124–149 (1991)CrossRefGoogle Scholar
  9. 9.
    Herlihy, M., Luchangco, V., Moir, M.: Obstruction-free synchronization: Double-ended queues as an example. In: 23rd International Conference on Distributed Computing Systems, Proceedings, pp. 522–529. IEEE (2003)Google Scholar
  10. 10.
    Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. (TOPLAS) 12(13), 463–492 (1990)CrossRefGoogle Scholar
  11. 11.
    Jayanti, P.: A time complexity lower bound for randomized implementations of some shared objects. In: Proceedings of the Seventeenth Annual ACM Symposium on Principles of Distributed Computing, pp. 201–210. ACM (1998)Google Scholar
  12. 12.
    Kogan, A., Petrank, E.: Wait-free queues with multiple enqueuers and dequeuers. ACM SIGPLAN Not. 46, 223–234 (2011). ACMCrossRefGoogle Scholar
  13. 13.
    Michael, M.M., Scott, M.L.: Simple, fast, and practical non-blocking and blocking concurrent queue algorithms. In: Proceedings of the Fifteenth Annual ACM Symposium on Principles of Distributed Computing, pp. 267–275. ACM (1996)Google Scholar
  14. 14.
    Taubenfeld, G.: Contention-sensitive data structures and algorithms. In: Keidar, I. (ed.) DISC 2009. LNCS, vol. 5805, pp. 157–171. Springer, Heidelberg (2009)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2016

Authors and Affiliations

  • Naama Ben-David
    • 1
  • David Yu Cheng Chan
    • 2
    Email author
  • Vassos Hadzilacos
    • 2
  • Sam Toueg
    • 2
  1. 1.Carnegie Mellon UniversityPittsburghUSA
  2. 2.University of TorontoTorontoCanada

Personalised recommendations