skip to main content
10.1145/2611462.2611483acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
research-article

Making objects writable

Published:15 July 2014Publication History

ABSTRACT

We devise a technique for augmenting shared objects in the standard n-process shared memory model with a linearizable Write{} operation, using bounded space and optimal worst-case step complexity. We provide a transformation of any shared object SW supporting only sequential Write{} operations into an object $W$ that supports concurrent Write{} operations. This transformation requires O(n2) SW objects and O(n2) O(log n)-bit registers, and each method (including Write{}) has, up to a constant additive term, the same time complexity as the corresponding method on object $SW$. Our implementation is deterministic, wait-free, and uses only shared registers (supporting atomic read and write operations). To the best of our knowledge, similarly efficient general constructions are not known even if stronger primitives such as CAS or LL/SC are available.

Applying our transformation, we obtain an implementation of a k-word register from O(n2⋅ k) single-word registers. As another application we can transform randomized one-time TAS objects (e.g., randomized wait-free implementations that use a bounded number of registers [8,9]), into long-lived ones using also a bounded number of registers. The transformation preserves the time complexity of TaS{} operations and allows resets in constant worst-case time.

Our transformation employs a novel memory reclamation technique, which can replace Hazard Pointers [20] and is more efficient.

References

  1. Y. Afek, E. Gafni, J. Tromp, and P. Vitányi. Wait-free test-and-set (extended abstract). In WDAG 6th, pages 85--94, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. D. Alistarh and J. Aspnes. Sub-logarithmic test-and-set against a weak adversary. In DISC 25th, pages 97--109, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. T. Brown, F. Ellen, and E. Ruppert. Pragmatic primitives for non-blocking data structures. In ODC 32th, pages 13--22, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. T. Brown, F. Ellen, and E. Ruppert. A general technique for non-blocking trees. In Proc. of 19th PPoPP, pages 329--342, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. Detlefs, P. Martin, M. Moir, and G. S. Jr. Lock-free reference counting.DistComp, 15(4):255--271, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. F. Ellen, Y. Lev, V. Luchangco, and M. Moir. Snzi: scalable nonzero indicators. In ODC 26th, pages 13--22, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. F. Ellen and P. Woelfel. An optimal implementation of fetch-and-increment. In DISC 27th, pages 284--298, 2013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. G. Giakkoupis, M. Helmi, L. Higham, and P. Woelfel. An $O(\sqrtn)$ space bound for obstruction-free leader election. In DISC 27th, pages 46--60, 2013.Google ScholarGoogle Scholar
  9. G. Giakkoupis and P. Woelfel. On the time and space complexity of randomized test-and-set. In ODC 31th, pages 19--28, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Gidenstam, M. Papatriantafilou, H. Sundell, and P. Tsigas. Efficient and reliable lock-free memory reclamation based on reference counting.TPDS, 20(8):1173--1187, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. W. Golab. Constant-RMR Implementations of CAS and Other Synchronization Primitives Using Read and Write Operations. PhD thesis, University of Toronto, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. W. Golab, V. Hadzilacos, D. Hendler, and P. Woelfel. RMR-efficient implementations of comparison primitives using read and write operations. Dist Comp, 25(2):109--162, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  13. M. Herlihy. Impossibility and universality results for wait-free synchronization. In ODC 7th, pages 276--290, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Herlihy, V. Luchangco, and M. Moir. The repeat offender problem: A mechanism for supporting dynamic-sized, lock-free data structures. In DISC 16th, pages 339--353, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Herlihy and J. Wing. Linearizability: A correctness condition for concurrent objects.TOPLAS, 12(3), 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. A. Israeli and M. Li. Bounded time-stamps. In FOCS 28th, pages 371--382, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. P. Jayanti. A complete and constant time wait-free implementation of CAS from LL/SC and vice versa. In DISC 12th, pages 216--230, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. Larsson, A. Gidenstam, P. H. Ha, M. Papatriantafilou, and P. Tsigas. Multiword atomic read/write registers on multiprocessor systems. ACM Journal of Experimental Algorithmics, 13, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. H. Lee. Fast local-spin abortable mutual exclusion with bounded space. In ØPODIS 14th, pages 364--379, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. M. Michael. Hazard pointers: Safe memory reclamation for lock-free objects.TPDS, 15(6):491--504, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. G. Peterson. Concurrent reading while writing.TOPLAS, 5(1):46--55, 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. H. Sundell. Wait-free reference counting and memory management. In IPDPS 19th, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. J. Valois. Lock-free linked lists using compare-and-swap. In ODC 14th, pages 214--222, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Making objects writable

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      PODC '14: Proceedings of the 2014 ACM symposium on Principles of distributed computing
      July 2014
      444 pages
      ISBN:9781450329446
      DOI:10.1145/2611462

      Copyright © 2014 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 15 July 2014

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      PODC '14 Paper Acceptance Rate39of141submissions,28%Overall Acceptance Rate740of2,477submissions,30%

      Upcoming Conference

      PODC '24

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader