Abstract
Dynamic multithreaded languages provide low-overhead fork-join primitives to express parallelism. One such language is Cilk [3, 5], which was developed in the MIT Laboratory for Computer Science (now the MIT Computer Science and Artificial Intelligence Laboratory). Cilk minimally extends the C programming language to allow interactions among computational threads to be specified in a simple and high-level fashion. Cilk’s provably efficient runtime system dynamically maps a user’s program onto available physical resources using a randomized “work-stealing” scheduler, freeing the programmer from concerns of communication protocols and load balancing.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Brent, R.P.: The parallel evaluation of general arithmetic expressions. Journal of the ACM 21(2), 201–206 (1974)
Dailey, D., Leiserson, C.E.: Using Cilk to write multiprocessor chess programs. Advances in Computer Games (2001)
Frigo, M., Leiserson, C.E., Randall, K.H.: The implementation of the Cilk-5 multithreaded language. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 212–223 (1998)
Graham, R.L.: Bounds on multiprocessing timing anomalies. SIAM Journal on. Applied Mathematics 17(2), 416–429 (1969)
Supercomputing Technologies Group: MIT Computer Science and Artificial Intelligence Laboratory. Cilk 5.3.2 Reference Manual (November 2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Leiserson, C.E. (2004). Design and Analysis of Dynamic Multithreaded Algorithms. In: Hagerup, T., Katajainen, J. (eds) Algorithm Theory - SWAT 2004. SWAT 2004. Lecture Notes in Computer Science, vol 3111. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27810-8_1
Download citation
DOI: https://doi.org/10.1007/978-3-540-27810-8_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22339-9
Online ISBN: 978-3-540-27810-8
eBook Packages: Springer Book Archive