Read more
Containing over 300 entries in an A-Z format, the Encyclopedia of Parallel Computing provides easy, intuitive access to relevant information for professionals and researchers seeking access to any aspect within the broad field of parallel computing. Topics for this comprehensive reference were selected, written, and peer-reviewed by an international pool of distinguished researchers in the field. The Encyclopedia is broad in scope, covering machine organization, programming languages, algorithms, and applications. Within each area, concepts, designs, and specific implementations are presented. The highly-structured essays in this work comprise synonyms, a definition and discussion of the topic, bibliographies, and links to related literature. Extensive cross-references to other entries within the Encyclopedia support efficient, user-friendly searchers for immediate access to useful information.
Key concepts presented in the Encyclopedia of Parallel Computing include; laws and metrics; specific numerical and non-numerical algorithms; asynchronous algorithms; libraries of subroutines; benchmark suites; applications; sequential consistency and cache coherency; machine classes such as clusters, shared-memory multiprocessors, special-purpose machines and dataflow machines; specific machines such as Cray supercomputers, IBM's cell processor and Intel's multicore machines; race detection and auto parallelization; parallel programming languages, synchronization primitives, collective operations, message passing libraries, checkpointing, and operating systems.
Topics covered: Speedup, Efficiency, Isoefficiency, Redundancy, Amdahls law, Computer Architecture Concepts, Parallel Machine Designs, Benmarks, Parallel Programming concepts & design, Algorithms, Parallel applications.
This authoritative reference will be published in two formats: print and online. The online edition features hyperlinks to cross-references and to additional significant research.
Related Subjects: supercomputing, high-performance computing, distributed computing
List of contents
General concepts: Speedup.- Efficiency.- Redundancy.- Efficiency.- Isoefficiency.- Amdahl's law.- Computer architecture: Concepts.- Parallel machine designs.- Machines.- Benchmarks.- Parallel programming: Concepts.- Designs.- Algorithms: Concepts.- Algorithms.- Libraries.- SuperLU.- Parallel applications: Computational fluid dynamics.- Bio-molecular simulation (NMAD).- Cosmology.- Quantum Chemistry.
About the author
David Padua is the Donald Biggar Willett Professor of Computer Science at the University of Illinois. His research interests include compiler and languages for parallel computing, race detection, compilation of dynamic languages, and autotuning techniques. He is author or co-author of more than 150 papers in these areas. At Illinois, he has taught courses on compilers and parallel programming and supervised 25 PhD Dissertations. He has served his university and the computer science community as vice-chair of the College of Engineering Executive Committee, chair of the steering committee for the Symposia on Principles and Practices of Parallel Programming (PPoPP), and editorial board member of the Journal of Parallel programming, the Journal of Parallel and Distributed Computing, the IEEE transactions of Parallel and Distributed Processing, and the ACM Transactions on Programming Languages and Systems. He is a fellow of the IEEE and the ACM.
Summary
The Encyclopedia of Parallel Computing covers machine organization, programming, algorithms, and applications. Within each topic area, the Encyclopedia covers concepts, designs, and specific implementations.
The Algorithms area covers concepts such as cache-oblivious algorithms and systolic algorithms; specific numerical and non-numerical algorithms such as parallel matrix-matrix multiplication and graph algorithms; and implementations of algorithms in the form of widely used libraries such as LAPACK. In the area of Architectures, the Encyclopedia reviews sequential consistency and cache coherency; machine classes such as shared-memory multiprocessors and dataflow machines; and specific machines such as IBM’s cell processor and Intel’s multicore machines. The Software area covers concepts such as races and autoparallelization; and designs in the form of parallel programming languages, library interfaces, and operating systems. The Encyclopedia also covers application issues,emphasizing the type of parallel computation involved and the magnitude in terms of computational requirements of the applications.