Sciweavers

PLDI
1998
ACM

The Implementation of the Cilk-5 Multithreaded Language

13 years 8 months ago
The Implementation of the Cilk-5 Multithreaded Language
The fth 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 e ciency 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- rst" 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- rst principle was exploited in the des...
Matteo Frigo, Charles E. Leiserson, Keith H. Randa
Added 05 Aug 2010
Updated 05 Aug 2010
Type Conference
Year 1998
Where PLDI
Authors Matteo Frigo, Charles E. Leiserson, Keith H. Randall
Comments (0)