skip to main content
10.1145/1693453.1693503acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
poster

Supporting lock-free composition of concurrent data objects

Published:09 January 2010Publication History

ABSTRACT

Lock-free data objects offer several advantages over their blocking counterparts, such as being immune to deadlocks and convoying and, more importantly, being highly concurrent. But they share a common disadvantage in that the operations they provide are difficult to compose into larger atomic operations while still guaranteeing lock-freedom. We present a lock-free methodology for composing highly concurrent linearizable objects together by unifying their linearization points. This makes it possible to relatively easily introduce atomic lock-free move operations to a wide range of concurrent objects. Experimental evaluation has shown that the operations originally supported by the data objects keep their performance behavior under our methodology.

References

  1. C. Cascaval, C. Blundell, M. Michael, H. W. Cain, P. Wu, S. Chiras, and S. Chatterjee. Software Transactional Memory: Why Is It Only a Research Toy? Queue, 6(5):46--58, 2008. ISSN 1542-7730. doi: http://doi.acm.org/10.1145/1454456.1454466. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. A. Gidenstam, M. Papatriantafilou, and P. Tsigas. NBmalloc: Allocating Memory in a Lock-Free Manner. Algorithmica, 2009. ISSN 0178-4617. doi: http://dx.doi.org/10.1007/s00453-008-9268-x.Google ScholarGoogle Scholar
  3. T. Harris, S. Marlow, S. Peyton-Jones, and M. P. Herlihy. Composable Memory Transactions. In PPoPP '05: Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, pages 48--60, New York, NY, USA, 2005. ACM. ISBN 1-59593-080-9. doi: http://doi.acm.org/10.1145/1065944.1065952. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Intel. Threading Building Blocks, 2009. URL http://threadingbuildingblocks.org.Google ScholarGoogle Scholar
  5. J. Larus and C. Kozyrakis. Transactional Memory. Commun. ACM, 51(7):80--88, 2008. ISSN 0001-0782. doi: http://doi.acm.org/10.1145/1364782.1364800. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Lea. The Java Concurrency Package (JSR-166), 2009. URL http://gee.cs.oswego.edu/dl/concurrency-interest.Google ScholarGoogle Scholar
  7. M. M. Michael and M. L. Scott. Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms. In PODC '96: Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing, pages 267--275. ACM Press, 1996. ISBN 0897918002. doi: http://dx.doi.org/10.1145/248052.248106. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Microsoft. Parallel Computing Developer Center, 2009. URL http://msdn.microsoft.com/en-us/concurrency.Google ScholarGoogle Scholar
  9. H. Sundell and P. Tsigas. NOBLE: A Non-Blocking Inter-Process Communication Library. In Proceedings of the 6th Workshop on Languages, Compilers and Run-time Systems for Scalable Computers, Lecture Notes in Computer Science. Springer Verlag, 2002. URL http://citeseer.ist.psu.edu/sundell02noble.html.Google ScholarGoogle Scholar
  10. R. K. Treiber. Systems programming: Coping with parallelism. In Technical Report RJ 5118, April 1986.Google ScholarGoogle Scholar
  11. P. Tsigas and Y. Zhang. Evaluating the performance of non-blocking synchronization on shared-memory multiprocessors. SIGMETRICS Perform. Eval. Rev., 29(1):320--321, 2001. ISSN 0163-5999. doi: http://doi.acm.org/10.1145/384268.378810. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. P. Tsigas and Y. Zhang. Integrating non-blocking synchronisation in parallel applications: performance advantages and methodologies. In WOSP '02: Proceedings of the 3rd international workshop on Software and performance, pages 55--67, New York, NY, USA, 2002. ACM. ISBN 1-58113-563-7. doi: http://doi.acm.org/10.1145/584369.584378. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Supporting lock-free composition of concurrent data objects

      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
        PPoPP '10: Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
        January 2010
        372 pages
        ISBN:9781605588773
        DOI:10.1145/1693453
        • cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 45, Issue 5
          PPoPP '10
          May 2010
          346 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/1837853
          Issue’s Table of Contents

        Copyright © 2010 Copyright held by author(s).

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 9 January 2010

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • poster

        Acceptance Rates

        Overall Acceptance Rate230of1,014submissions,23%

      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!