About the Book:
Revised and updated with improvements conceived in parallel programming courses, The Art of Multiprocessor Programming is an authoritative guide to multicore programming. Multicore systems introduce new issues not present in single-core machines, as well as more advanced tools and knowledge that is required to program them effectively. The book provides comprehensive coverage of the principles and algorithmic techniques necessary for effective multiprocessor programming. Students and professionals alike will benefit from the thorough coverage of the essential issues that arise in programming multiprocessor.
Features
Contents:
1. Introduction
2. Mutual Exclusion
3. Concurrent Objects
4. Foundations of Shared Memory
5. The Relative Power of Primitive Synchronization Operations
6. Universality of Consensus
7. Spin Locks and Contention
8. Monitors and Blocking Synchronization
9. Linked Lists: The Role of Locking
10. Queues, memory management, and the ABA Problem
11. Stacks and Elimination
12. Counting, Sorting and Distributed Coordination
13. Concurrent Hashing and Natural Parallelism
14. Skiplists and Balanced Search
15. Priority Queues
16. Scheduling and Work Distribution
17. Data parallelism
18. Barriers
19. Optimism and manual memory management
20. Transactional programming
About the Author:
Maurice Herlihy has 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, and the staff of DEC Cambridge Research Lab. He is the recipient of the 2003 Dijkstra Prize in Distributed Computing, the 2004 ACM / EATCS Gödel Prize, the 2008 ISCA Influential Paper Award, the 2012 Edsger W. Dijkstra Prize in Distributed Computing, and the 2013 Wallace McDowell Award. He received a 2012 Fulbright Distinguished Chair in the Natural Sciences and Engineering Lecturing Fellowship, and he is fellow of the ACM, the National Academy of Inventors, the National Academy of Engineering, and the National Academy of Arts and Sciences. He holds the An Wang Chair Compute Science at Brown University.
Nir Shavit received a B.A. and M.Sc. from the Technion and a Ph.D. from the Hebrew University, all in Computer Science. He is a Professor of Computer Science at M.I.T. an ACM Fellow, and a recipient of the 2012 Edsger W. Dijkstra Prize in Distributed Computing and the 2004 ACM / EATCS Gödel Prize.
Victor Luchangco received a S.B., S.M., and Sc.D. from M.I.T., all in Computer Science. Since then, he has been a researcher in the Scalable Sunchronization and Programming Languages Research Groups at Sun Labs and Oracle Labs, and he now does research on blockchain technology at Algorand.
Michael Spear received a B.S. from the United states Military Academy and a Ph.D. from the University of Rochester, both in Computer Science. He is Professor of Computer Science at Lehigh University.