ACM Home Page
Please provide us with feedback. Feedback
Cilk: an efficient multithreaded runtime system
Full text PdfPdf (1.31 MB)
Source Principles and Practice of Parallel Programming archive
Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming table of contents
Santa Barbara, California, United States
Pages: 207 - 216  
Year of Publication: 1995
ISBN:0-89791-701-6
Also published in ...
Authors
Robert D. Blumofe  MIT Laboratory for Computer Science, 545 Technology Square, Cambridge, MA
Christopher F. Joerg  MIT Laboratory for Computer Science, 545 Technology Square, Cambridge, MA
Bradley C. Kuszmaul  MIT Laboratory for Computer Science, 545 Technology Square, Cambridge, MA
Charles E. Leiserson  MIT Laboratory for Computer Science, 545 Technology Square, Cambridge, MA
Keith H. Randall  MIT Laboratory for Computer Science, 545 Technology Square, Cambridge, MA
Yuli Zhou  MIT Laboratory for Computer Science, 545 Technology Square, Cambridge, MA
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 23,   Downloads (12 Months): 187,   Citation Count: 99
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/209936.209958
What is a DOI?

ABSTRACT

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 runtime scheduling issues. We also prove that for the class of “fully strict” (well-structured) programs, the Cilk scheduler achieves space, time and communication bounds all within a constant factor of optimal.The Cilk runtime system currently runs on the Connection Machine CM5 MPP, the Intel Paragon MPP, the Silicon Graphics Power Challenge SMP, and the MIT Phish network of workstations. Applications written in Cilk include protein folding, graphic rendering, backtrack search, and the *Socrates chess program, which won third prize in the 1994 ACM International Computer Chess Championship.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
Guy E. BIelloch. Programming parallel algorithms. In Proceedings of the 1992 Dartmouth Institute for Advanced Graduate Studies (DAGS) Symposium on Parallel Computation, pages 11- 18, Hanover, New Hampshire, June 1992.
 
3
Robert D. Blumofe and Charles E. Leiserson. Scheduling multithreaded computations by work stealing. In Proceedings of the 35th Annual Symposium on Foundations of Computer Science, pages 356-368, Santa Fe, New Mexico, November 1994.
 
4
Robert D. Blumofe and David S. Park. Scheduling large-scale parallel computations on networks of workstations. In Proceedings of the Third International Symposium on High Performance Distributed Computing, pages 96-105, San Francisco, California, August 1994.
5
 
6
Eric A. Brewer and Robert Blumofe. Strata: A multi-layer communications library. Technical Report to appear, MIT Laboratory for Computer Science. Available as ftp: / / ftp. ics .mit. edu/pub/supertech/strata /strata. tar. Z.
7
 
8
 
9
10
 
11
Eric C. Cooper and Richard R Draves. C Threads. Technical Report CMU-CS-88-154, School of Computer Science, Carnegie- Mellon University, June 1988.
12
13
14
 
15
Vincent W. Freeh, David K. Lowenthal, and Gregory R. Andrews. Distributed Filaments: Efficient fine-grain parallelism on a cluster of workstations. In Proceedings of the First Symposium on Operating Systems Design and Implementation, pages 201-213, Monterey, California, November 1994.
 
16
R. L. Graham Bounds for certain multiprocessing anomalies. The Bell System Technical Journal, 45:1563-1581, November 1966.
 
17
R. L. Graham. Bounds on multiprocessing timing anomalies. SIAM Journal on Applied Mathematics, 17(2):416-429, March 1969.
 
18
Michael Halbherr, Yuli Zhou, and Chris E Joerg. MIMD-style parallel programming with continuation-passing threads. In Proceedings of the 2nd International Workshop on Massive Parallelism: Hardware, Software, and Applications, Capn, Italy, September 1994.
19
20
21
22
 
23
Chris Joerg and Bradley C. Kuszmaul. Masswely parallel chess In Proceedings of the Third DIMACS Parallel Implementation Challenge, Rutgers University, New Jersey, October 1994. Available as ftp://theory.lcs.mit.edu /pub/cilk/dimacs 9 4. ps. Z.
 
24
L. V. Kal6. The Chare kernel parallel programming system. In Proceedings of the 1990 International Conference on Parallel Processing, Volume II: Software, pages 17-25, August 1990.
25
 
26
27
28
 
29
30
31
 
32
 
33
 
34
 
35
Vijay S. Pande, Christopher E Joerg, Alexander Yu Grosberg, and Toyolchi Tanaka. Enumerations of the hamiltonian walks on a cubic sublattice. Journal of Physics A. 27, 1994.
 
36
37
 
38
 
39
Andrew S. Tanenbaum, Henri E, Bal, and M. Frans Kaashoek. Programming a distributed system using shared objects. In Proceedings of the Second International Symposium on High Performance Distributed Computing, pages 5-12, Spokane, Washington, July 1993.
 
40
 
41

CITED BY  99

Collaborative Colleagues:
Robert D. Blumofe: colleagues
Christopher F. Joerg: colleagues
Bradley C. Kuszmaul: colleagues
Charles E. Leiserson: colleagues
Keith H. Randall: colleagues
Yuli Zhou: colleagues