Cilk multithreaded programming language

E679886

Cilk is a parallel extension to the C programming language designed for efficient multithreaded computation, featuring simple keywords for task parallelism and a work-stealing scheduler for dynamic load balancing.

Try in SPARQL Jump to: Statements Referenced by

Statements (46)

Predicate Object
instanceOf C programming language extension
multithreaded programming language
parallel programming language extension
basedOn C NERFINISHED
designedFor multithreaded computation
shared-memory parallelism
task parallelism
executionModel multithreaded computation DAG
goal efficient parallel performance
low programmer overhead for parallelism
scalable parallel execution
hasConcept DAG of strands
parallel slackness
span
work
hasFeature cilk_for loop construct
cilk_spawn construct
cilk_sync construct
continuation-stealing scheduling
deterministic parallel semantics (for race-free programs)
dynamic load balancing
fork-join parallelism
nested parallelism
provably efficient scheduler model
spawn keyword
sync keyword
work-stealing scheduler
implements work-stealing scheduling algorithm
influenced Intel Cilk Plus NERFINISHED
task parallel libraries in C and C++
property good load balance under irregular parallelism
low scheduling overhead per task
programmer expresses logical parallelism
runtime maps tasks to processors dynamically
runtime system manages thread scheduling
supports theoretical performance bounds in terms of work and span
relatedTo Cilk++ NERFINISHED
Intel Cilk Plus NERFINISHED
schedulingPolicy randomized work stealing
supports divide-and-conquer algorithms
fine-grained parallelism
parallel loops
parallel recursion
shared-memory multiprocessors
usedFor parallel algorithms research
teaching parallel programming concepts

Referenced by (1)

Full triples — surface form annotated when it differs from this entity's canonical label.

Charles E. Leiserson contributedTo Cilk multithreaded programming language