skip to main content
poster

POSTER: Reuse, don't Recycle: Transforming Algorithms that Throw Away Descriptors

Published:26 January 2017Publication History
Skip Abstract Section

Abstract

Lock-free algorithms guarantee progress by having threads help one another. Complex lock-free operations facilitate helping by creating descriptor objects that describe how other threads should help them. In many lock-free algorithms, a new descriptor is allocated for each operation. After an operation completes, its descriptor must be reclaimed by a memory reclamation scheme. Allocating and reclaiming descriptors introduces significant space and time overhead.

We present a transformation for a class of lock-free algorithms that allows each thread to efficiently reuse a single descriptor. Experiments on a variety of workloads show that our transformation yields significant improvements over implementations that reclaim descriptors.

References

  1. T. Brown. Reclaiming memory for lock-free data structures: There has to be a better way. In phPODC '15, pages 261--270.Google ScholarGoogle Scholar
  2. T. Brown, F. Ellen, and E. Ruppert. A general technique for non-blocking trees. In phPPoPP '14, pages 329--342.Google ScholarGoogle Scholar
  3. F. Ellen, P. Fatourou, E. Ruppert, and F. van Breugel. Non-blocking binary search trees. In phPODC '10, pages 131--140.Google ScholarGoogle Scholar
  4. T. L. Harris, K. Fraser, and I. A. Pratt. A practical multi-word compare-and-swap operation. In phDISC '02, pages 265--279.Google ScholarGoogle Scholar
  5. S. V. Howley and J. Jones. A non-blocking internal binary search tree. In phSPAA '12, pages 161--171.Google ScholarGoogle Scholar
  6. P. E. McKenney and J. D. Slingwine. Read-copy update: Using execution history to solve concurrency problems. In phParallel and Distributed Computing and Systems, pages 509--518, 1998.Google ScholarGoogle Scholar
  7. M. M. Michael. Hazard pointers: Safe memory reclamation for lock-free objects. phIEEE Trans. Parallel Distrib. Syst., 15 (6): 491--504, June 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. POSTER: Reuse, don't Recycle: Transforming Algorithms that Throw Away Descriptors

      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

      Full Access

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 52, Issue 8
        PPoPP '17
        August 2017
        442 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/3155284
        Issue’s Table of Contents
        • cover image ACM Conferences
          PPoPP '17: Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
          January 2017
          476 pages
          ISBN:9781450344937
          DOI:10.1145/3018743

        Copyright © 2017 Owner/Author

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 26 January 2017

        Check for updates

        Qualifiers

        • poster

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!