The advent of new architectures and computing platforms means
that synchronization and concurrent computing are among the most
important topics in computing science. Concurrent programs are made
up of cooperating entities -- processors, processes, agents, peers,
sensors -- and synchronization is the set of concepts, rules and
mechanisms that allow them to coordinate their local computations
in order to realize a common task. 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.
General
Is the information for this product incomplete, wrong or inappropriate?
Let us know about it.
Does this product have an incorrect or missing image?
Send us a new image.
Is this product missing categories?
Add more categories.
Review This Product
No reviews yet - be the first to create one!