The Art of Multiprocessor Programming

Front Cover
Morgan Kaufmann, Aug 29, 2011 - Computers - 528 pages
4 Reviews

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
 

What people are saying - Write a review

User Review - Flag as inappropriate

JCiP on steroids and with a CS degree.
JCiP was more like a sophisticated user's guide to the j.u.c. package API. AoMP explains the algorithms it is based on and how contemporary CPU architectures
influence real-life performance.
Doug Lea himself refers to it in the ForkJoinWorkerThread class.
There is a chapter on STM but not a word on Actors.
 

User Review - Flag as inappropriate

This title is a good introduction to concurrency with regard to theory. The overall narrative and individual examples are ultimately Java-centric; most concepts are introduced via Java code examples that try to implement parallel and/or distributed algorithms and architectures within the framework of the Java Concurrency packages. This is not a particularly detailed or rigorous text as the authors rely too much on hand-waving arguments to justify their statements. Asymptotic notation and inductive proofs thereof are absent. Low-level hardware details are contained only in an appendix, seemingly as an afterthought. 

Contents

Chapter 1 Introduction
1
Principles
19
Practice
139
Appendix
451
Bibliography
483
Index
495
Copyright

Other editions - View all

Common terms and phrases

About the author (2011)

Maurice Herlihy received an A.B. in Mathematics from Harvard University, and a Ph.D. in Computer Science from M.I.T. He has served on the faculty of Carnegie Mellon University, on the staff of DEC Cambridge Research Lab, and is currently a Professor in the Computer Science Department at Brown University. Maurice Herlihy is an ACM Fellow, and is the recipient of the 2003 Dijkstra Prize in Distributed Computing. He shared the 2004 Gödel Prize with Nir Shavit, the highest award in theoretical computer science. In 2012 he shared the Edsger W. Dijkstra Prize In Distributed Computing with Nir Shavit.

Nir Shavit received a B.A. and M.Sc. from the Technion and a Ph.D. from the Hebrew University, all in Computer Science. From 1999 to 2011 he served as a member of technical staff at Sun Labs and Oracle Labs. He shared the 2004 Gödel Prize with Maurice Herlihy, the highest award in theoretical computer science. He is a Professor in the Electrical Engineering and Computer Science Department at M.I.T. and the Computer Science Department at Tel-Aviv University. In 2012 he shared the Edsger W. Dijkstra Prize In Distributed Computing with Maurice Herlihy.