The Art of Multiprocessor Programming

The Art of Multiprocessor Programming

3.94 (159 ratings by Goodreads)
By (author)  , By (author) 

List price: A$94.95

Currently unavailable

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks


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.
show more

Product details

  • Paperback | 528 pages
  • 190.5 x 233.68 x 25.4mm | 771.1g
  • Morgan Kaufmann Publishers In
  • San Francisco, United States
  • English
  • Approx. 100 illustrations; Illustrations, unspecified
  • 0123705916
  • 9780123705914
  • 331,268

Table of contents

1 Introduction; 2 Mutual Exclusion; 3 Concurrent Objects and Linearization; 4 Foundations of Shared Memory; 5 The Relative Power of Synchronization Methods; 6 The Universality of Consensus; 7 Spin Locks and Contention; 8 Monitors and Blocking Sychronization; 9 Linked Lists: the Role of Locking; 10 Concurrent Queues and the ABA Problem; 11 Concurrent Stakcs and Elimination; 12 Counting, Sorting and Distributed Coordinatino; 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; Appendices
show more

About Maurice Herlihy

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 Godel 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 Godel 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.
show more

Rating details

159 ratings
3.94 out of 5 stars
5 31% (49)
4 42% (67)
3 20% (32)
2 4% (7)
1 3% (4)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X