Proceedings of the ACM SIGPLAN 1998 Conference on Programming Language Design and Implementation 1998
DOI: 10.1145/277650.277725
|View full text |Cite
|
Sign up to set email alerts
|

The implementation of the Cilk-5 multithreaded language

Abstract: 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 i… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

1
389
0
7

Year Published

2009
2009
2015
2015

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 845 publications
(397 citation statements)
references
References 17 publications
1
389
0
7
Order By: Relevance
“…Frameworks like Cilk [3,9] and Wool [7,8] allow writing parallel programs in a style similar to sequential programs [1].…”
Section: Task-based Parallelismmentioning
confidence: 99%
See 3 more Smart Citations
“…Frameworks like Cilk [3,9] and Wool [7,8] allow writing parallel programs in a style similar to sequential programs [1].…”
Section: Task-based Parallelismmentioning
confidence: 99%
“…The first provably efficient work-stealing scheduler for fully strict computations was presented in 1994 [4] and its implementation in Cilk in 1996 [3]. One improvement of the original Cilk algorithm is the THE protocol in Cilk-5 [9], which eliminates acquiring the lock in push and in most executions of pop, but every steal still requires locking.…”
Section: Work-stealing Dequesmentioning
confidence: 99%
See 2 more Smart Citations
“…In the rest of the paper, we refer to the collective set of parallel programming models, languages, runtimes, and specific implementations as "programming models" for ease of reference. Programming models can range from purely task based models like Intel's TBB [4], Cilk [5], or PLASMA [6], to globally synchronous approaches, such as BSP [7]. Furthermore, they can be based on a common memory paradigm like Global Arrays [8] or HPF [9] or be data-driven, such as CHARM++ [10].…”
Section: Introductionmentioning
confidence: 99%