The book is organized into three Parts:
Parallel Processing Models and Methodology: structured parallel computations, interprocess communication, cost models, stream-parallel paradigms, data-parallel paradigms, computation graph structuring and optimization;
Single Instruction Stream Architectures: parallel systems at the firmware level, parallelism in cache memory hierarchies, Instruction Level Parallelism CPUs, Multithreading, SIMD and SIMT/GPU parallelism;
Multiple Instruction Stream Architectures: MIMD parallel architectures, Chip Multiprocessors, memory organization and process mapping, interconnection networks, processor synchronization, memory ordering, cache coherence, cost models, communication run-time support, shared memory vs message passing support, distributed architectures and interconnect technologies.
For reader’s convenience and for the sake of completeness, an ample Appendix in structured computer architecture is included, which renders the book self-contained.
The book can be used by researchers, Computer Science and Engineering professionals and designers working in the field of parallel processing models, parallel programming and HPC application developments, parallel architectures and run-time supports. The book material can be exploited for one or more courses in Master Degree, or PhD, programs of Computer Science and Engineering curricula.The book contains a large number of examples, exercises and small project proposals.