skip to main content
research-article

Correct and efficient work-stealing for weak memory models

Published:23 February 2013Publication History
Skip Abstract Section

Abstract

Chase and Lev's concurrent deque is a key data structure in shared-memory parallel programming and plays an essential role in work-stealing schedulers. We provide the first correctness proof of an optimized implementation of Chase and Lev's deque on top of the POWER and ARM architectures: these provide very relaxed memory models, which we exploit to improve performance but considerably complicate the reasoning. We also study an optimized x86 and a portable C11 implementation, conducting systematic experiments to evaluate the impact of memory barrier optimizations. Our results demonstrate the benefits of hand tuning the deque code when running on top of relaxed memory models.

References

  1. C. Augonnet, S. Thibault, R. Namyst, and P.-A. Wacrenier. StarPU: A Unified Platform for Task Scheduling on Heterogeneous Multicore Architectures. In Euro-Par, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. R. D. Blumofe and C. E. Leiserson. Scheduling multithreaded computations by work stealing. J. ACM, 46(5):720--748, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. D. Chase and Y. Lev. Dynamic circular work-stealing deque. In SPAA, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Frigo, C. E. Leiserson, and K. H. Randall. The implementation of the Cilk-5 multithreaded language. In PLDI, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. T. Gautier, X. Besseron, and L. Pigeon. KAAPI: A thread scheduling runtime system for data flow computations on cluster of multi-processors. In PASCO, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. JTC1/SC22/WG14. Programming languages -- C, Committee Draft. ISO/IEC, Apr. 2011.Google ScholarGoogle Scholar
  7. S. Mador-Haim, L. Maranget, S. Sarkar, K. Memarian, J. Alglave, S. Owens, R. Alur, M. M. K. Martin, P. Sewell, and D. Williams. An Axiomatic Memory Model for POWER Multiprocessors. In CAV, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. L. Maranget, S. Sarkar, and P. Sewell. A tutorial introduction to the ARM and POWER relaxed memory model, 2012. Draft. http://www.cl.cam.ac.uk/ pes20/ppc-supplemental/test7.pdf.Google ScholarGoogle Scholar
  9. P. E. McKenney and R. Silvera, 2011.smallhttp://www.rdrop.com/users/paulmck/scalability/!paper/N2745r.2011.03.04a.html.Google ScholarGoogle Scholar
  10. M. M. Michael, M. T. Vechev, and V. A. Saraswat. Idempotent work stealing. In PPOPP, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. S. Sarkar, K. Memarian, S. Owens, M. Batty, P. Sewell, L. Maranget, J. Alglave, and D. Williams. Synchronising C/CGoogle ScholarGoogle Scholar
  12. and POWER. In PLDI, 2012.Google ScholarGoogle Scholar
  13. S. Sarkar, P. Sewell, J. Alglave, L. Maranget, and D. Williams. Understanding POWER multiprocessors. In PLDI, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. P. Sewell, S. Sarkar, S. Owens, F. Zappa Nardelli, and M. O. Myreen. x86-TSO: a rigorous and usable programmer's model for x86 multiprocessors. Commun. ACM, 53(7):89--97, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. A. Terekhov. Brief tentative example x86 implementation for C/C++ memory model, 2008.smallhttp://www.decadent.org.uk/pipermail/ cpp-threads/2008-December/001933.html.Google ScholarGoogle Scholar

Index Terms

  1. Correct and efficient work-stealing for weak memory models

        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 48, Issue 8
          PPoPP '13
          August 2013
          309 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/2517327
          Issue’s Table of Contents
          • cover image ACM Conferences
            PPoPP '13: Proceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programming
            February 2013
            332 pages
            ISBN:9781450319225
            DOI:10.1145/2442516

          Copyright © 2013 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 23 February 2013

          Check for updates

          Qualifiers

          • research-article

        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!