Introduction.- Multi-core and Many-core Processor Architectures.- State of the Art Multi-core Operating Systems.- The Fundamental Laws of Parallelism.- Fundamentals of Parallel Programming.- Debugging and Performance Analysis of Many-core Programs.- Many-core Virtualization and Operating Systems.- Introduction to Programming Models.- Practical Many-core Programming.- Looking Ahead.- Index.
This book presents new concepts, techniques and promising programming models for designing software for chips with "many" (hundreds to thousands) processor cores. Given the scale of parallelism inherent to these chips, software designers face new challenges in terms of operating systems, middleware and applications. This will serve as an invaluable, single-source reference to the state-of-the-art in programming many-core chips. Coverage includes many-core architectures, operating systems, middleware, and programming models.