-
Chapter
Correction to: Shared-Memory Synchronization
Correction to: M. L. Scott and T. Brown, Shared-Memory Synchronization, Synthesis Lectures on Computer Architecture, https://doi.org/10.1007/978-3-031-38684-8
-
Chapter
Read-Mostly Atomicity
In Chapter 4 we considered the topic of busy-wait mutual exclusion, which achieves atomicity by allowing only one thread at a time to execute a critical section. While m...
-
Chapter
Introduction
In computer science, as in real life, concurrency makes it much more difficult to reason about events. In a linear sequence, if \(E_1\)
-
Chapter
Architectural Background
The correctness and performance of synchronization algorithms depend crucially on architectural details of multicore and multiprocessor machines. This chapter provides an overview of these details. It can be s...
-
Chapter
Practical Spin Locks
The mutual exclusion problem was first identified in the early 1960s. Dijkstra attributes the first 2-thread solution to Theodorus Dekker (Dijkstra 1968b). Dijkstra himself published an n-thread solution in 1965 ...
-
Chapter
Nonblocking Algorithms
When devising a concurrent data structure, we typically want to arrange for methods to be atomic—most often linearizable (Sec. 3.1.2). Most concurrent algorithms achieve...
-
Chapter
Essential Theory
Concurrent algorithms and synchronization techniques have a long and very rich history of formalization—far too much to even survey adequately here. Arguably the most accessible resource for practitioners is t...
-
Chapter
Busy-Wait Synchronization with Conditions
In Chapter 1 we suggested that almost all synchronization serves to achieve either atomicity or condition synchronization. Chapter 4 considered spin-based atomicity. The current chapter considers spin-based co...
-
Chapter
Synchronization and Scheduling
So far in this monograph, we have emphasized busy-wait synchronization. In the current chapter we turn to mechanisms built on top of a scheduler, which multiplexes some collection of cores among a (typically larg...
-
Chapter
Transactional Memory
Transactional memory (TM) has been one of the most active areas of synchronization research over the course of the past two decades, spanning literally hundreds of published papers. The current chapter attempt...
-
Chapter and Conference Paper
Preemption Adaptivity in Time-Published Queue-Based Spin Locks
The proliferation of multiprocessor servers and multithreaded applications has increased the demand for high-performance synchronization. Traditional scheduler-based locks incur the overhead of a full context ...