Introduction. Concepts in Concurrency. Concurrency Control. The State of the Art. High-Level Language Constructs. Historical Context and Evolution of Languages. Modern Languages and Concurrency Constructs. Performance Considerations and Modern Systems. Introduction to Parallel Algorithms. Pattern: Task Parallelism. Pattern: Data Parallelism. Pattern: Recursive Algorithms. Pattern: Pipelined Algorithms. Appendices. References.
Matthew J. Sottile is a research associate and adjunct assistant professor in the Department of Computer and Information Sciences at the University of Oregon. He has a significant publication record in both high performance computing and scientific programming. Dr. Sottile is currently working on research in concurrent programming languages and parallel algorithms for signal and image processing in neuroscience and medical applications. Timothy G. Mattson is a principal engineer at Intel Corporation. Dr. Mattson's noteworthy projects include the world's first TFLOP computer, OpenMP, the first generally programmable TFLOP chip (Intel's 80 core research chip), OpenCL, and pioneering work on design patterns for parallel programming. Craig E Rasmussen is a staff member in the Advanced Computing Laboratory at Los Alamos National Laboratory (LANL). Along with extensive publications in computer science, space plasma, and medical physics, Dr. Rasmussen is the principal developer of PetaVision, a massively parallel, spiking neuron model of visual cortex that ran at 1.14 Petaflops on LANL's Roadrunner computer in 2008.