The Art of Multiprocessor Programmingby Maurice Herlihy, Nir Shavit Published 01 Mar 2008
|The Art of Multiprocessor Programming.pdf|
|Publisher||Morgan Kaufmann Publishers|
Download The Art of Multiprocessor Programming (2014) PDF ePub eBook
- 1. Register a free 1 month Trial Account.
- 2. Download as many books as you like.
- 3. Cancel the membership at any time if not satisfied.
The Art of Multiprocessor Programming promises to be the first comprehensive presentation of the principles and tools available for programming multiprocessor machines.
As the computer industry changes from single-processor to multiprocessor architectures, this revolution requires a fundamental change in how programs are written. To leverage the performance and power of multiprocessor programming, also known as multicore programming, programmers need to learn the new principles, algorithms, and tools.
The book will be of immediate use to programmers working with the new architectures. For example, the next generation of computer game consoles will all be multiprocessor-based, and the game industry is currently struggling to understand how to address the programming challenges presented by these machines. This change in the industry is so fundamental that it is certain to require a significant response by universities, and courses on multicore programming will become a staple of computer science curriculums.
This book includes fully-developed Java examples detailing data structures, synchronization techniques, transactional memory, and more.
Students in multiprocessor and multicore programming courses and engineers working with multiprocessor and multicore systems will find this book quite useful.
The book on multicore programming, the new paradigm of computer science
Written by the world's most revered experts in multiprocessor programming and performance
Includes examples, models, exercises, PowerPoint slides, and sample Java programs
"The Art of Multiprocessor Programming" Reviews
Fantastic book, I didn't read this exhaustively but it has a really great balance of theory vs practice, managing to dive deep in each case, and yet remaining highly accessible and engaging.
Worth reading for Chapter 7 alone. That chapter presents nuances of modern hardware architecture with clear code and its effects.
In my day, synchronization was just one topic out of many in the undergraduate operating systems course, alongside process scheduling and virtual memory. Nowadays, however, with multicore processors appearing in $500 personal computers, this topic has become more important. The first author teaches a whole undergraduate course on it at Brown University using this book as a textbook, and the second author does so at Tel Aviv University. It has a long discussion of locks (spinlocks, reader-writer queue-based locks, and combinations thereof), lock-free processor instructions (the IBM/360 had one theoretically less powerful than the Intel x86 and newer processors), data structures based on lock-free processor instructions (lists, stacks, queues, hash tables, skip lists). and software transactional memory, which is supposed to be the future of multiprocessor programming.
This is book is not for pragmatic people. Mostly it is about theory behind multithread programming, but there are few practical chapters. I think it will be very hard to read for the beginner and most probably reader will no go and program good multithread programs after reading it.
The book the worst part are terrible code examples - not well chosen and they just are erroneous.
Polish translation of this book is not more than just acceptable. There is lack of unified translation of terms, sentences sound very unnatural.
Overall quite good book, academic-like but not too much.
The days of Moore's law are moving to multiprocessors. Manufacturers are having difficulty increasing speed on single processors. thus, multiprocessors are necessary to continue improving software performance. The first third of the book evolves the terms and understanding of multiprocessor programming and the rest looks at the practice. This is written by two very outstanding professors who really understand the topic and provide some great content.
the most theory-driven intro to parallel computing I could find