Book description
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
Table of contents
- Copyright
- Acknowledgments
- Preface
- 1. Introduction
-
I. Principles
- 2. Mutual Exclusion
- 3. Concurrent Objects
- 4. Foundations of Shared Memory
- 5. The Relative Power of Primitive Synchronization Operations
- 6. Universality of Consensus
-
II. Practice
- 7. Spin Locks and Contention
- 8. Monitors and Blocking Synchronization
- 9. Linked Lists: The Role of Locking
- 10. Concurrent Queues and the ABA Problem
- 11. Concurrent Stacks and Elimination
- 12. Counting, Sorting, and Distributed Coordination
- 13. Concurrent Hashing and Natural Parallelism
- 14. Skiplists and Balanced Search
- 15. Priority Queues
- 16. Futures, Scheduling, and Work Distribution
- 17. Barriers
-
18. Transactional Memory
- 18.1. Introduction
- 18.2. Transactions and Atomicity
- 18.3. Software Transactional Memory
- 18.4. Hardware Transactional Memory
- 18.5. Chapter Notes
- 18.6. Exercises
-
III. Appendix
- A. Software Basics
- B. Hardware Basics
- Bibliography
Product information
- Title: The Art of Multiprocessor Programming
- Author(s):
- Release date: August 2011
- Publisher(s): Morgan Kaufmann
- ISBN: 9780080569581
You might also like
book
The Art of Multiprocessor Programming, Revised Reprint
Revised and updated with improvements conceived in parallel programming courses, The Art of Multiprocessor Programming is …
book
The Art of Concurrency
If you're looking to take full advantage of multi-core processors with concurrent programming, this practical book …
book
The Go Programming Language
is the authoritative resource for any programmer who wants to learn Go. It shows how to …
book
Algorithms in a Nutshell, 2nd Edition
Creating robust software requires the use of efficient algorithms, but programmers seldom think about them until …