Synopses & Reviews
A concurrent program is one made up of several entities, such as processes, peers, sensors and nodes, that cooperate towards a common goal. This cooperation is possible because of concurrent objects shared by the entities. Synchronization is now considered an important subdiscipline of computing science in its own right, with its own concepts, mechanisms and techniques whose results can be applied in many domains. 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. He presents the synchronization algorithms while also introducing the reader to the theory that underlies the implementation of concurrent objects in the presence of asynchrony and process crashes. The book is organized into parts dealing with lock-based synchronization, atomicity, mutex-free synchronization, the transactional memory approach, and then foundational aspects such as bounds and the computability power of concurrent 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 engaged with the state-of-the-art concepts, basic principles, mechanisms and techniques encountered in concurrent programming and in the design of concurrent objects suited to shared memory systems. The reader should have a basic knowledge of algorithms and operating systems.
This book explains synchronization and the implementation of concurrent objects, presenting synchronization algorithms while also introducing the theory that underlies the implementation of concurrent objects in the presence of asynchrony and process crashes.
The advent of new architectures and computing platforms mean that synchronization and concurrent computing
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.
Table of Contents
Part I - Lock-Based Synchronization.- Chap. 1 - The Mutual Exclusion Problem.- Chap. 2 - Solving Mutual Exclusion.- Chap. 3 - Lock-Based Concurrent Objects.- Part II - On the Foundations Side: The Atomicity Concept.- Chap. 4 - Atomicity: Formal Definition and Properties.- Part III - Mutex-Free Synchronization.- Chap. 5 - Mutex-Free Concurrent Objects.- Chap. 6 - Hybrid Concurrent Objects.- Chap. 7 - Wait-Free Objects from Read/Write Registers Only.- Chap. 8 - Snapshot Objects from Read/Write Registers Only.- Chap. 9 - Renaming Objects from Read/Write Registers Only.- Part IV - The Transactional Memory Approach.- Chap. 10 - Transactional Memory.- Part V - On the Foundations Side: From Safe Bits to Atomic Registers.- Chap. 11 - Safe, Regular and Atomic Read/Write Registers.- Chap. 12 - From Safe Bits to Atomic Bits: A Lower Bound and an Optimal Construction.- Chap. 13 - Bounded Constructions of Atomic b-Valued Registers.- Part VI - On the Foundations Side: The Computability Power of Concurrent Objects (Consensus).- Chap. 14 - Universality of Consensus.- Chap. 15 - The Case of Unreliable Base Objects.- Chap. 16 - Consensus Numbers and the Consensus Hierarchy.- Chap. 17 - The Alphas and Omega of Consensus: Failure Detector-Based Consensus.- Afterword.- Bibliography.- Index.