skip to main content
10.1145/2807591.2807597acmconferencesArticle/Chapter ViewAbstractPublication PagesscConference Proceedingsconference-collections
research-article
Free Access

CilkSpec: optimistic concurrency for Cilk

Published:15 November 2015Publication History

ABSTRACT

Recursive parallel programming models such as Cilk strive to simplify the task of parallel programming by enabling a simple divide-and-conquer programming model. This model is effective in recursively partitioning work into smaller parts and combining their results. However, recursive work partitioning can impose additional constraints on concurrency than is implied by the true dependencies in a program. In this paper, we present a speculation-based approach to alleviate the concurrency constraints imposed by such recursive parallel programs. We design a runtime infrastructure that supports speculative execution and a predictor to accurately learn and identify opportunities to relax extraneous concurrency constraints. Experimental evaluation demonstrates that speculative relaxation of concurrency constraints can deliver gains of up to 1.6x on 30 cores over baseline Cilk.

References

  1. K. Agrawal, C. E. Leiserson, and J. Sukha. Executing task graphs using work-stealing. In IPDPS, pages 1--12, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  2. E. Ayguadé, N. Copty, A. Duran, J. Hoeflinger, Y. Lin, F. Massaioli, X. Teruel, P. Unnikrishnan, and G. Zhang. The design of OpenMP tasks. TPDS, 20(3):404--418, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Frigo, C. E. Leiserson, H. Prokop, and S. Ramachandran. Cache-oblivious algorithms. ACM Transactions on Algorithms, 8(1):4, 2012. 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. L. Gao, L. Li, J. Xue, and T.-F. Ngai. Exploiting speculative tlp in recursive programs by dynamic thread prediction. In Compiler Construction, pages 78--93, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Y. Guo, R. Barik, R. Raman, and V. Sarkar. Work-first and help-first scheduling policies for async-finish task parallelism. In IPDPS, pages 1--12, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Kulkarni, K. Pingali, B. Walter, G. Ramanarayanan, K. Bala, and L. P. Chew. Optimistic parallelism requires abstractions. In PLDI, pages 211--222, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. Lea et al. Java specification request 166: Concurrency utilities, 2004.Google ScholarGoogle Scholar
  9. J. Lifflander, S. Krishnamoorthy, and L. V. Kalé. Optimizing data locality for fork/join programs using constrained work stealing. In SC, pages 857--868, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Reinders. Intel Threading Building Blocks: Outfitting C++ for Multi-Core Processor Parallelism. O'Reilly Media, 2007.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. V. A. Saraswat, V. Sarkar, and C. von Praun. X10: concurrent programming for modern architectures. In PPoPP, pages 271--271, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Y. Tang, R. You, H. Kan, J. J. Tithi, P. Ganapathi, and R. A. Chowdhury. Cache-oblivious wavefront: improving parallelism of recursive dynamic programming algorithms without losing cache-efficiency. In PPoPP, pages 205--214, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S. Tasirlar and V. Sarkar. Data-driven tasks and their implementation. In ICPP, pages 652--661, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Valdes, R. E. Tarjan, and E. L. Lawler. The recognition of series parallel digraphs. In STOC, pages 1--12, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. CilkSpec: optimistic concurrency for Cilk

      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
        SC '15: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis
        November 2015
        985 pages
        ISBN:9781450337236
        DOI:10.1145/2807591
        • General Chair:
        • Jackie Kern,
        • Program Chair:
        • Jeffrey S. Vetter

        Copyright © 2015 ACM

        © 2015 Association for Computing Machinery. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of the United States government. As such, the United States Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 15 November 2015

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        SC '15 Paper Acceptance Rate79of358submissions,22%Overall Acceptance Rate1,516of6,373submissions,24%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader