Concurrent Programming in Java
© 1996-1999 Doug Lea  



4.4 Parallel Decomposition


Readings and Resources

For a survey of approaches to high-performance parallel processing, see Most texts on parallel programming concentrate on algorithms designed for use on fine-grained parallel machine architectures, but also cover design techniques and algorithms that can be implemented using the kinds of stock multiprocessors most amenable to supporting a JVM. See, for example: Pattern-based accounts of parallel programming include: The FJTask framework internally relies on a work-stealing task scheduler based on the one in Cilk, a C-based parallel programming framework. In work-stealing schedulers, each worker thread normally runs (in LIFO order) tasks that it constructs, but when idle steals (in FIFO order) those constructed by other worker threads. More details, including explanations of the senses in which this scheme is optimal for recursive fork/join programs, may be found in: Similar packages and frameworks in other languages include:

Doug Lea
Last modified: Sat Nov 13 19:59:18 EST 1999