The art of multiprocessor programming

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

Full description

Bibliographic Details
Main Author: Herlihy, Maurice
Other Authors: Shavit, Nir
Format: eBook
Language:English
Published: Waltham, MA Morgan Kaufmann 2012
Edition:Rev. 1st ed
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
LEADER 05064nmm a2200517 u 4500
001 EB001948068
003 EBX01000000000000001110970
005 00000000000000.0
007 cr|||||||||||||||||||||
008 210123 ||| eng
020 |a 9780123977953 
020 |a 9781281272775 
020 |a 1281272779 
020 |a 0123977959 
050 4 |a QA76.6 
100 1 |a Herlihy, Maurice 
245 0 0 |a The art of multiprocessor programming  |c Maurice Herlihy, Nir Shavit 
250 |a Rev. 1st ed 
260 |a Waltham, MA  |b Morgan Kaufmann  |c 2012 
300 |a xxiv, 508 pages  |b illustrations 
505 0 |a 4.3.1 An Obstruction-Free Snapshot4.3.2 A Wait-Free Snapshot; 4.3.3 Correctness Arguments; 4.4 Chapter Notes; 4.5 Exercises; 5 The Relative Power of Primitive Synchronization Operations; 5.1 Consensus Numbers; 5.1.1 States and Valence; 5.2 Atomic Registers; 5.3 Consensus Protocols; 5.4 FIFO Queues; 5.5 Multiple Assignment Objects; 5.6 Read-Modify-Write Operations; 5.7 Common2 RMW Operations; 5.8 The compareAndSet() Operation; 5.9 Chapter Notes; 5.10 Exercises; 6 Universality of Consensus; 6.1 Introduction; 6.2 Universality; 6.3 A Lock-Free Universal Construction 
505 0 |a Includes bibliographical references and index 
505 0 |a Front Cover; The Art of Multiprocessor Programming; Copyright; Dedication; Table of Contents; Acknowledgments; Preface; Suggested Ways to Teach the Art of Multiprocessor Programming; Preface; Practitioner Track; Non-CS Major Track; CS Major Track; 1 Introduction; 1.1 Shared Objects and Synchronization; 1.2 A Fable; 1.2.1 Properties of Mutual Exclusion; 1.2.2 The Moral; 1.3 The Producer-Consumer Problem; 1.4 The Readers-Writers Problem; 1.5 The Harsh Realities of Parallelization; 1.6 Parallel Programming; 1.7 Chapter Notes; 1.8 Exercises; I Principles; 2 Mutual Exclusion; 2.1 Time 
505 0 |a 3.6.2 Compositional Linearizability3.6.3 The Nonblocking Property; 3.7 Progress Conditions; 3.7.1 Dependent Progress Conditions; 3.8 The Java Memory Model; 3.8.1 Locks and Synchronized Blocks; 3.8.2 Volatile Fields; 3.8.3 Final Fields; 3.9 Remarks; 3.10 Chapter Notes; 3.11 Exercises; 4 Foundations of Shared Memory; 4.1 The Space of Registers; 4.2 Register Constructions; 4.2.1 MRSW Safe Registers; 4.2.2 A Regular Boolean MRSW Register; 4.2.3 A Regular M-Valued MRSW Register; 4.2.4 An Atomic SRSW Register; 4.2.5 An Atomic MRSW Register; 4.2.6 An Atomic MRMW Register; 4.3 Atomic Snapshots 
505 0 |a 2.2 Critical Sections2.3 2-Thread Solutions; 2.3.1 The LockOne Class; 2.3.2 The LockTwo Class; 2.3.3 The Peterson Lock; 2.4 The Filter Lock; 2.5 Fairness; 2.6 Lamport's Bakery Algorithm; 2.7 Bounded Timestamps; 2.8 Lower Bounds on the Number of Locations; 2.9 Chapter Notes; 2.10 Exercises; 3 Concurrent Objects; 3.1 Concurrency and Correctness; 3.2 Sequential Objects; 3.3 Quiescent Consistency; 3.3.1 Remarks; 3.4 Sequential Consistency; 3.4.1 Remarks; 3.5 Linearizability; 3.5.1 Linearization Points; 3.5.2 Remarks; 3.6 Formal Definitions; 3.6.1 Linearizability 
505 0 |a 6.4 A Wait-Free Universal Construction6.5 Chapter Notes; 6.6 Exercises; IIPractice; 7 Spin Locks and Contention; 7.1 Welcome to the Real World; 7.2 Test-And-Set Locks; 7.3 TAS-Based Spin Locks Revisited; 7.4 Exponential Backoff; 7.5 Queue Locks; 7.5.1 Array-Based Locks; 7.5.2 The CLH Queue Lock; 7.5.3 The MCS Queue Lock; 7.6 A Queue Lock with Timeouts; 7.7 A Composite Lock; 7.7.1 A Fast-Path Composite Lock; 7.8 Hierarchical Locks; 7.8.1 A Hierarchical Backoff Lock; 7.8.2 A Hierarchical CLH Queue Lock; 7.9 One Lock To Rule Them All; 7.10 Chapter Notes; 7.11 Exercises 
653 |a Electronic books / http://id.loc.gov/authorities/subjects/sh93007047 
653 |a Multiprogramming (Electronic computers) / fast 
653 |a Livres numériques 
653 |a Multiprogrammation 
653 |a Multiprogramming (Electronic computers) / http://id.loc.gov/authorities/subjects/sh85088387 
653 |a Multiprocessors / fast 
653 |a e-books / aat 
653 |a Multiprocessors / http://id.loc.gov/authorities/subjects/sh85088386 
653 |a Multiprocesseurs 
700 1 |a Shavit, Nir 
041 0 7 |a eng  |2 ISO 639-2 
989 |b OREILLY  |a O'Reilly 
776 |z 0123977959 
776 |z 9780123973375 
776 |z 9780123977953 
776 |z 0123973376 
856 4 0 |u https://learning.oreilly.com/library/view/~/9780123973375/?ar  |x Verlag  |3 Volltext 
082 0 |a 005.434 
082 0 |a 011.39 
520 |a 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 incorpor