Affiliation:
1. MIT Laboratory for Computer Science, 545 Technology Square, Cambridge, MA
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
275 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. IRIS: A Performance-Portable Framework for Cross-Platform Heterogeneous Computing;IEEE Transactions on Parallel and Distributed Systems;2024-10
2. Scheduling Jobs with Work-Inefficient Parallel Solutions;Proceedings of the 36th ACM Symposium on Parallelism in Algorithms and Architectures;2024-06-17
3. When Is Parallelism Fearless and Zero-Cost with Rust?;Proceedings of the 36th ACM Symposium on Parallelism in Algorithms and Architectures;2024-06-17
4. Orchard: Heterogeneous Parallelism and Fine-grained Fusion for Complex Tree Traversals;ACM Transactions on Architecture and Code Optimization;2024-05-21
5. HardCilk: Cilk-like Task Parallelism for FPGAs;2024 IEEE 32nd Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM);2024-05-05