Skip to main content
  • Textbook
  • © 2013

Concurrent Programming: Algorithms, Principles, and Foundations

Authors:

  • Among the first books on modern synchronization, a fundamental topic of computer science with the advent of multicore architectures and transactional memory
  • Author among the leading researchers in the area of distributed computing
  • Textbook features include summaries, keywords, bibliographic notes and exercises for each chapter
  • Includes supplementary material: sn.pub/extras

Buy it now

Buying options

eBook USD 54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

This is a preview of subscription content, log in via an institution to check for access.

Table of contents (17 chapters)

  1. Front Matter

    Pages i-xxxii
  2. Lock-Based Synchronization

    1. Front Matter

      Pages 1-1
    2. The Mutual Exclusion Problem

      • Michel Raynal
      Pages 3-13
    3. Solving Mutual Exclusion

      • Michel Raynal
      Pages 15-60
    4. Lock-Based Concurrent Objects

      • Michel Raynal
      Pages 61-109
  3. On the Foundations Side: The Atomicity Concept

    1. Front Matter

      Pages 111-111
  4. On the Foundations Side: the Atomicity Concept

    1. Atomicity: Formal Definition and Properties

      • Michel Raynal
      Pages 113-132
  5. Mutex-Free Synchronization

    1. Front Matter

      Pages 133-133
    2. Mutex-Free Concurrent Objects

      • Michel Raynal
      Pages 135-164
    3. Hybrid Concurrent Objects

      • Michel Raynal
      Pages 165-187
  6. The Transactional Memory Approach

    1. Front Matter

      Pages 275-275
    2. Transactional Memory

      • Michel Raynal
      Pages 277-301
  7. On the Foundations Side: From Safe Bits to Atomic Registers

    1. Front Matter

      Pages 303-303
  8. On the Foundations Side: from Safe Bits to Atomic Registers

  9. On the Foundations Side: The Computability Power of Concurrent Objects (Consensus)

    1. Front Matter

      Pages 369-369

About this book

This book is devoted to the most difficult part of concurrent programming, namely synchronization concepts, techniques and principles when the cooperating entities are asynchronous, communicate through a shared memory, and may experience failures. Synchronization is no longer a set of tricks but, due to research results in recent decades, it relies today on sane scientific foundations as explained in this book.

In this book the author explains synchronization and the implementation of concurrent objects, presenting in a uniform and comprehensive way the major theoretical and practical results of the past 30 years. Among the key features of the book are a new look at lock-based synchronization (mutual exclusion, semaphores, monitors, path expressions); an introduction to the atomicity consistency criterion and its properties and a specific chapter on transactional memory; an introduction to mutex-freedom and associated progress conditions such as obstruction-freedom and wait-freedom; a presentation of Lamport's hierarchy of safe, regular and atomic registers and associated wait-free constructions; a description of numerous wait-free constructions of concurrent objects (queues, stacks, weak counters, snapshot objects, renaming objects, etc.); a presentation of the computability power of concurrent objects including the notions of universal construction, consensus number and the associated Herlihy's hierarchy; and a survey of failure detector-based constructions of consensus objects.

The book is suitable for advanced undergraduate students and graduate students in computer science or computer engineering, graduate students in mathematics interested in the foundations of process synchronization, and practitioners and engineers who need to produce correct concurrent software. The reader should have a basic knowledge of algorithms and operating systems.

Reviews

From the reviews:

“Concurrent programming is the study of the methods which will ensure correct interactions. … Raynal (Univ. of Rennes, France) presents these classical techniques at the beginning of his book, and then moves on to cover such topics as transactional memory and current areas of research like consensus in the face of crash failures. The coverage is very up-to-date, including references through 2010. … This would be an ideal text for a beginning graduate course. Summing Up: Highly recommended. Graduate students, researchers/faculty, and professionals/practitioners.” (P. Cull, Choice, Vol. 50 (11), August, 2013)

“A very comprehensive treatment of both fundamentals and recent results in concurrent programming is presented in this book. … The book is well structured, with many examples to help the reader. Each chapter starts with a short presentation of the content and a list of keywords, and concludes with a summary of the main points and results. … I can recommend this book … .” (Sergei Gorlatch, Computing Reviews, June, 2013)

Authors and Affiliations

  • , IRISA-ISTIC, Institut Universitaire de France, Rennes Cedex, France

    Michel Raynal

About the author

Prof. Michel Raynal is among the top researchers in the world on the topic of distributed algorithms. He is a full professor at the Université de Rennes where he founded the Distributed Algorithms research group in 1984. He has been the principal investigator in numerous related research national and international projects, and he has been invited by more than 25 universities around the world to give lectures on distributed algorithms and distributed computing. He has over 300 academic publications on this topic, and has authored a number of books on related topics. His current research interests include distributed algorithms, distributed computing systems, distributed computability and dependability; and the fundamental principles that underlie the design and the construction of distributed computing systems.

Bibliographic Information

Buy it now

Buying options

eBook USD 54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access