Cilk: an efficient multithreaded runtime system

@inproceedings{Blumofe1995CilkAE,
  title={Cilk: an efficient multithreaded runtime system},
  author={R. Blumofe and C. Joerg and Bradley C. Kuszmaul and C. Leiserson and K. H. Randall and Yuli Zhou},
  booktitle={PPOPP '95},
  year={1995}
}
Cilk (pronounced “silk”) is a C-based runtime system for multi-threaded parallel programming. In this paper, we document the efficiency of the Cilk work-stealing scheduler, both empirically and analytically. We show that on real and synthetic applications, the “work” and “critical path” of a Cilk computation can be used to accurately model performance. Consequently, a Cilk programmer can focus on reducing the work and critical path of his computation, insulated from load balancing and other… Expand
239 Citations

Figures and Tables from this paper

Heterogeneous Multithreaded Computing
Performance measurements for multithreaded programs
Thread Migration in a Parallel Graph Reducer
A programming model for deterministic task parallelism
...
1
2
3
4
5
...

References

SHOWING 1-6 OF 6 REFERENCES
Lazy Task Creation: A Technique for Increasing the Granularity of Parallel Programs
MULTILISP: a language for concurrent symbolic computation
Cid: A Parallel, "Shared-Memory" C for Distributed-Memory Machines
DIB—a distributed implementation of backtracking
Executing functional programs on a virtual tree of processors
Randomized parallel algorithms for backtrack search and branch-and-bound computation