Shared-Memory Synchronization

Shared-Memory Synchronization

Michael L. Scott ,
ISBN: 9781608459568 | PDF ISBN: 9781608459575
Copyright © 2013 | 221 Pages | Publication Date: 06/01/2013

BEFORE YOU ORDER: You may have Academic or Corporate access to this title. Click here to find out: 10.2200/S00499ED1V01Y201304CAC023

Ordering Options: Paperback $50.00   E-book $40.00   Paperback & E-book Combo $62.50

Why pay full price? Members receive 15% off all orders.
Learn More Here

Read Our Digital Content License Agreement (pop-up)

Purchasing Options:

Since the advent of time sharing in the 1960s, designers of concurrent and parallel systems have needed to synchronize the activities of threads of control that share data structures in memory. In recent years, the study of synchronization has gained new urgency with the proliferation of multicore processors, on which even relatively simple user-level programs must frequently run in parallel.

This lecture offers a comprehensive survey of shared-memory synchronization, with an emphasis on "systems-level" issues. It includes sufficient coverage of architectural details to understand correctness and performance on modern multicore machines, and sufficient coverage of higher-level issues to understand how synchronization is embedded in modern programming languages.

The primary intended audience is "systems programmers"-the authors of operating systems, library packages, language run-time systems, concurrent data structures, and server and utility programs. Much of the discussion should also be of interest to application programmers who want to make good use of the synchronization mechanisms available to them, and to computer architects who want to understand the ramifications of their design decisions on systems-level code.

Table of Contents

Architectural Background
Essential Theory
Practical Spin Locks
Busy-wait Synchronization with Conditions
Read-mostly Atomicity
Synchronization and Scheduling
Nonblocking Algorithms
Transactional Memory
Author's Biography

About the Author(s)

Michael L. Scott , University of Rochester
Michael L. Scott is a Professor and past Chair of the Department of Computer Science at the University of Rochester. He received his Ph.D. from the University of Wisconsin-Madison in 1985. His research interests span operating systems, languages, architecture, and tools, with a particular emphasis on parallel and distributed systems. He is best known for work in synchronization algorithms and concurrent data structures, in recognition of which he shared the 2006 SIGACT/SIGOPS Edsger W. Dijkstra Prize. Other widely cited work has addressed parallel operating systems and file systems, software distributed shared memory, and energy-conscious operating systems and microarchitecture. His textbook on programming language design and implementation Programming Language Pragmatics, third edition, Morgan Kaufmann, Feb. 2009) is a standard in the field. In 2003 he served as General Chair for SOSP; more recently he has been Program Chair for TRANSACT'07, PPoPP'08, and ASPLOS'12. He was named a Fellow of the ACM in 2006 and of the IEEE in 2010. In 2001 he received the University of Rochester's Robert and Pamela Goergen Award for Distinguished Achievement and Artistry in Undergraduate Teaching.



Browse by Subject
Case Studies in Engineering
ACM Books
IOP Concise Physics
SEM Books
0 items

Note: Registered customers go to: Your Account to subscribe.

E-Mail Address:

Your Name: