• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • DMCA
  • Donate

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

DMCA

The Implementation of the Cilk-5 Multithreaded Language (1998)

Cached

  • Download as a PDF

Download Links

  • [wwwx.cs.unc.edu]
  • [www.cs.unc.edu]
  • [www.csd.uwo.ca]
  • [supertech.csail.mit.edu]
  • [www.informatik.hu-berlin.de]
  • [www.cs.umass.edu]
  • [www.cis.udel.edu]

  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Matteo Frigo , Charles E. Leiserson , Keith H. Randall
Citations:489 - 28 self
  • Summary
  • Citations
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@MISC{Frigo98theimplementation,
    author = {Matteo Frigo and Charles E. Leiserson and Keith H. Randall},
    title = { The Implementation of the Cilk-5 Multithreaded Language},
    year = {1998}
}

Share

Facebook Twitter Reddit Bibsonomy

OpenURL

 

Abstract

The fifth release of the multithreaded language Cilk uses a provably good "work-stealing " scheduling algorithm similar to the rst system, but the language has been completely redesigned and the runtime system completely reengineered. The efficiency of the new implementation was aided by a clear strategy that arose from a theoretical analysis of the scheduling algorithm: concentrate on minimizing overheads that contribute to the work, even at the expense of overheads that contribute to the critical path. Although it may seem counterintuitive to move overheads onto the critical path, this "work-first" principle has led to a portable Cilk-5 implementation in which the typical cost of spawning a parallel thread is only between 2 and 6 times the cost of a C function call on a variety of contemporary machines. Many Cilk programs run on one processor with virtually no degradation compared to equivalent C programs. This paper describes how the work-first principle was exploited in the design of Cilk-5's compiler and its runtime system. In particular, we present Cilk-5's novel "two-clone" compilation strategy and its Dijkstra-like mutual-exclusion protocol for implementing the ready deque in the work-stealing scheduler.

Keyphrases

cilk-5 multithreaded language    critical path    runtime system    clear strategy    portable cilk-5 implementation    typical cost    function call    good work-stealing quot    multithreaded language cilk    dijkstra-like mutual-exclusion protocol    compilation strategy    fth release    many cilk program    contemporary machine    new implementation    work-stealing scheduler    rst system    novel two-clone quot    theoretical analysis    parallel thread    ready deque   

Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2019 The Pennsylvania State University