The Art of Multiprocessor Programming

Paperback
from $0.00

Author: Maurice Herlihy

ISBN-10: 0123705916

ISBN-13: 9780123705914

Category: Programming - General & Miscellaneous

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

Search in google:

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

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