The Cilk system for parallel multithreaded computing

Christopher F. Joerg · DSpace@MIT (Massachusetts Institute of Technology) · 1996

Although cost-effective parallel machines are now commercially available, the widespread use of parallel processing is still being held back, due mainly to the troublesome nature of parallel programming. In particular, it is still difficult to build efficient implementations of parallel applications whose communication patterns are either highly irregular or dependent upon dynamic information. Multithreading has become an increasingly popular way to implement these dynamic, asynchronous, concurrent programs. Cilk (pronounced "silk") is our C-based multithreaded computing system that provides provably good performance guarantees. This thesis describes the evolution of the Cilk language and runtime system, and describes applications which affected the evolution of the system. Using Cilk, programmers are able to express their applications either by writing multithreaded code written in a continuation-passing style, or by writing code using normal call/return semantics and specifying which...

Read the paper · More papers on PaperTik