Algorithmic analysis of multithreaded algorithms

0Citations
Citations of this article
6Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Cilk is a parallel programming language that allows programmers to write multithreaded parallel programs that use computational resources predictably and efficiently. The Cilk language allows programmers to specify the interactions among computational threads in a high-level fashion, and then Cilk’s runtime system maps the computation onto available physical resources dynamically in a provably efficient fashion. The performance of a Cilk program is mathematically guaranteed to scale up linearly with the number of processors, as long as the application has sufficient parallelism and the architecture sufficient communication bandwidth. Moreover, Cilk is efficient: a parallel Cilk program "scales down" to run on a single processor with nearly the same efficiency as comparable C code, thereby removing a major barrier to parallel programming. Cilk provides a theoretical performance model based on “Brent’s theorem”. Using the measures of work, critical-path length, and serial space, a programmer can extrapolate the performance of his program to any number of processors. Moreover, divide-and-conquer parallel algorithms can be analyzed in much the same way one analyzes divide-and-conquer serial algorithms in a college algorithms class. Multithreaded algorithms to solve such problems as matrix multiplication, Cholesky factorization, and sorting can all be analyzed and competing algorithms compared within Cilk’s analytical framework.

Cite

CITATION STYLE

APA

Leiserson, C. E. (1997). Algorithmic analysis of multithreaded algorithms. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1350, p. 132). Springer Verlag. https://doi.org/10.1007/3-540-63890-3_15

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free