The Art of Multiprocessor Programming, Revised First Edition

  • 10h
  • Maurice Herlihy, Nir Shavit
  • Elsevier Science and Technology Books, Inc.
  • 2012

Revised and updated with improvements conceived in parallel programming courses, The Art of Multiprocessor Programming is an authoritative guide to multicore programming. It introduces a higher level set of software development skills than that needed for efficient single-core programming. This book provides comprehensive coverage of the new principles, algorithms, and tools necessary for effective multiprocessor programming. Students and professionals alike will benefit from thorough coverage of key multiprocessor programming issues.

  • This revised edition incorporates much-demanded updates throughout the book, based on feedback and corrections reported from classrooms since 2008
  • Learn the fundamentals of programming multiple threads accessing shared memory
  • Explore mainstream concurrent data structures and the key elements of their design, as well as synchronization techniques from simple locks to transactional memory systems

About the Authors

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.

In this Book

  • Suggested Ways to Teach the Art of Multiprocessor Programming
  • Introduction
  • Mutual Exclusion
  • Concurrent Objects
  • Foundations of Shared Memory
  • The Relative Power of Primitive Synchronization Operations
  • Universality of Consensus
  • Spin Locks and Contention
  • Monitors and Blocking Synchronization
  • Linked Lists—The Role of Locking
  • Concurrent Queues and the ABA Problem
  • Concurrent Stacks and Elimination
  • Counting, Sorting, and Distributed Coordination
  • Concurrent Hashing and Natural Parallelism
  • Skiplists and Balanced Search
  • Priority Queues
  • Futures, Scheduling, and Work Distribution
  • Barriers
  • Transactional Memory
  • Bibliography
SHOW MORE
FREE ACCESS