Synchronization Algorithms and Concurrent Programming
Gadi Taubenfeld
cover.jpg (38944 bytes) Book Info Product Details
Table of Contents ISBN: 0131972596
Back Cover Publisher: Pearson / Prentice Hall
Companion Website      Published: 11 May 2006
7 ppts, figures -- Format: Paperback
download below Language: English
  Number of pages: 433
Catalogue: UK , US
Amazon: UK , US
Gadi's homepage
See larger photo    


What's New

June 2013: An updated version of the presentation for Chapter 4 is available below.

A review of the book has appeared in the following special issue on
Teaching concurrency
ACM SIGACT News Distributed Computing Column 33, March 2009 (18 pages)
pdf of Column 33
Also in: ACM SIGACT News, Volume 40 Issue 1, pages 47--50, March 2009


The following article gives a brief overview of the book
Shared memory synchronization
In: Distributed computing column of the Bulletin of the European Association

for Theoretical Computer Science (BEATCS), October 2008 (18 pages)
G. Taubenfeld

Table of Contents

Key Features
1. Introduction
2. Mutual exclusion using atomic registers: basic topics
3. Mutual exclusion using atomic registers: advanced topics
4. Blocking and non-blocking synchronization
5. Barrier synchronization
6. The l-exclusion problem
7. Multiple resources
8. Classical synchronization problems
9. Consensus
10. Timing-based algorithms


Back Cover

Synchronization is a fundamental challenge in computer science.  It is fast becoming a major performance and design issue for concurrent programming on modern architectures, and for the design of distributed systems.  This is the first text to give a complete and coherent view of all aspects of synchronization algorithms.

Computer science students, programmers, system designers and researchers will be able to solve problems and master techniques that go beyond the treatment provided in introductory texts on operating systems, distributed computing and concurrency.  Dozens of algorithms are presented and their performance is analyzed according to precise complexity measures.

Highlights of the book include

  • A wide variety of synchronization problems, algorithms and   key concepts are covered in detail.
  • Self-review questions with solutions to check your understanding.
  • A wealth of end-of-chapter exercises and bibliographic notes.
  • Over 300 annotated references guiding you through the contemporary research literature.
  • A Companion Website provides PowerPoint slides and other teaching and learning aids for students and instructors at

About the author

Gadi Taubenfeld is a Professor of Computer Science at the Interdisciplinary Center in Herzliya, Israel. He is an established authority in the area of concurrent and distributed computing and has published widely in leading journals and conferences. He was the head of the computer science division at Israelís Open University; member of technical staff at AT&T Bell Laboratories; consultant to AT&T Labs-Research; and a research scientist and lecturer at Yale University. He holds a PhD in Computer Science from the Technion - Israel Institue of Technology.


Companion Website

The companion website will soon include valuable  learning material including:

  • 10 PowerPoint presentations -- download  7 presentations below
  • All figures from the book -- download all figures below
  • Errata

PowerPoint Presentations


Chapter # Download Size Last updated
Chapter 1 298KB June 2011
Chapter 2 153KB June 2011
Chapter 3 93KB November 2007
Chapter 4 745KB June 2013
Chapter 7 87KB November 2007
Chapter 9 100KB June 2011
Chapter 10 84KB November 2007





Chapter # Download Size Last updated
Chapter 1 945KB Feb 2007
Chapter 2 1543KB Feb 2007
Chapter 3 1520KB Feb 2007
Chapter 4 869KB Feb 2007
Chapter 5 330KB Feb 2007
Chapter 6 --- --- Feb 2007
Chapter 7 606KB Feb 2007
Chapter 8 336KB Feb 2007
Chapter 9 887KB Feb 2007
Chapter 10 207KB Feb 2007