Skip to main content

Distributed for EPFL Press

Algorithms for Concurrent Systems

The field of concurrent computing has gained in importance after major chip manufacturers switched their focus from increasing the speed of individual processors to increasing the number of processors on a chip. The computer industry has thus been calling for a software revolution: the concurrency revolution. A major challenge underlying this paradigm shift is creating a library of abstractions that developers can use for general purpose concurrent programming. We study in this book how to define and build such abstractions in a rigorous manner. We focus on those that are considered the most difficult to get right and have the highest impact on the overall performance of a program: synchronization abstractions, also called shared objects or concurrent data structures. The book is intended for software developers and students. It began as a set of lecture notes for courses given at EPFL, Saarland University, Technical University of Berlin, and Télécom ParisTech.

252 pages | 6 1/4 x 9 1/2

View all books from EPFL Press

Table of Contents

Correctness Linearizability Progress Read-Write objects Semantics of Read-Write Objects Basic Register Reductions Timestamp-Based Reductions Optimal Atomic Bit Bounded Atomic Multivalued Register Implementation Snapshot Objects Collects and Snapshots Immediate Snapshot and Iterated Immediate Snapshot Consensus Objects Consensus and Universality Consensus Number and Hierarchy Schedulers Resilience Failure Detectors Adversaries

Be the first to know

Get the latest updates on new releases, special offers, and media highlights when you subscribe to our email lists!

Sign up here for updates about the Press