Synopses & Reviews
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
Synopsis
This Encyclopedia covers machine organization, programming, algorithms, and applications. Within each topic area, the Encyclopedia covers concepts, designs, and specific implementations. The primary sections include Algorithms; Architecture; Software and more.
Synopsis
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
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.
Table of Contents
General concepts: Speedup.- Efficiency.- Redundancy.- Efficiency.- Isoefficiency.- Amdahls law.- Computer architecture: Concepts.- Sequential consistency. Relax consistency. Memory models. Cache coherency. Synchronization instructions. Synchronization devices. Interconnection networks. Branch prediction. Instruction level parallelism. Transactional memories. Thread-level speculation. Latency hiding. Atomicity. Fences.- Parallel machine designs.- Shared-Memory Multiprocessors. Cache-only memory architectures. Multicores. Clusters. Distributed memory machines. Distributed-shared memory machines. Array machines. Pipelined vector machines. Mainframes. Dataflow machines. VLIW machines. EPIC machines. SMT machines. GPUs. Multimedia extensions (SSE, Altivec). Superscalar machines. FPGAs.- Machines.- Illiac IV. Cray , Cray 2, Cray X-MP,... Denelcor HEP. Tera. Multiflow. Connection Machine, CM-2. Maspar. Ultracomputer. Intel hypercube. Fujitsu series. Hitachi series. NEC series. IBM's Blue Gene. IBM's cell processor. C.mmp. Cm*. Cedar. Flash. Alliant multiprocessors. Convex machines. KSR machines.- Benchmarks.- LINPACK. Perfect benchmarks. NAS Benchmarks. SPEC HPG benchmarks suites. Flash Benchmarks. TOP500.- Parallel programming: Concepts.- Implicit parallelism. Explicit parallelism. Process. Task. Thread. Thread safe routines. Locality. Communication. Races. Nondeterminacy. Monitors. Semaphores. Deadlock. Livelock. Scheduling theory. Loop scheduling. Affinity scheduling. Task stealing. Futures. Critical region. Producer consumer. Communicating Seqential Processes. Doall. Doacross. MapReduce. Data and control dependence. Dependence analysis. Autoparallelization. Run-time speculation. Inspector/executor. Software pipelining.- Designs.- Languages. Libraries. Tools.- Algorithms: Concepts.- Synchronous. Asynchronous. Systolic algorithms. Cache oblivious algorithms.- Algorithms.- Numerical. Graph. Sorting. Garbage collection. Data management.- Libraries.- SuperLU. Pardiso. SPIKE. FFTW. Spira.- Parallel applications: Computational fluid dynamics.- Bio-molecular simulation (NMAD).- Cosmology.- Quantum Chemistry.