Although multicore is now a mainstream architecture, there are few textbooks that cover parallel multicore architectures. Filling this gap, Fundamentals of Parallel Multicore Architecture provides all the material for a graduate or senior undergraduate course that focuses on the architecture of multicore processors. The book is also useful as a reference for professionals who deal with programming on multicore or designing multicore chips. The text’s coverage of fundamental topics prepares students to study research papers in the multicore architecture area. The text offers many pedagogical features, The first several chapters address programming issues in shared memory multiprocessors, such as the programming model and techniques to parallelize regular and irregular applications. The core of the book covers the architectures for shared memory multiprocessors. The final chapter contains interviews with experts in parallel multicore architecture.
Programming applications in a parallel computer architecture environment is complex, and there are many decisions that need to be made about software and hardware. It's not just about spawning threads and return codes. This is a top-notch book to accompany a master's level course in Parallel programming. What sets this book apart from other books on the subject is the diagrams, specifically the diagrams of the cache coherence models, which I believe are the best in the industry.