The Art of Multiprocessor Programming

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

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, you need to learn the new principles, algorithms, and tools presented in this book. It includes fully-developed Java examples detailing data structures, synchronization techniques, transactional memory, and more.

Prof. Maurice Herlihy, who coined the phrase "transactional memory," is on the faculty of Brown University. He is the recipient of the 2003 Dijkstra Prize in distributed computing. Prof. Nir Shavit is on the faculty of Tel-Aviv University and a member of the technical staff at Sun Microsystems Laboratories. In 2004 they shared the Gödel Prize, the highest award in theoretical computer science.



  • 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.