Synchronization Algorithms and Concurrent Programming

by
Edition: 1st
Format: Paperback
Pub. Date: 2006-07-20
Publisher(s): Prentice Hall
List Price: $165.60

Rent Textbook

Select for Price
There was a problem. Please try again later.

New Textbook

We're Sorry
Sold Out

Used Textbook

We're Sorry
Sold Out

eTextbook

We're Sorry
Not Available

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

Synchronization Algorithms and Concurrent Programming Gadi Taubenfeld 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 Oslash; A wide variety of synchronization problems, algorithms and key concepts covered in detail. Oslash; Self-review questions with solutions to check your understanding. Oslash; A wealth of END-of-chapter exercises and bibliographic notes. Oslash; Over 300 annotated references guiding you through the contemporary research literature. Oslash; A companion website provides PowerPoint slides and other teaching and learning aids for students and instructors at www.pearsoned.co.uk/taubenfeld. About the AUTHOR Gadi Taubenfeld is an Associate 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 Institute of Technology.

Author Biography

Gadi Taubenfeld is an Associate Professor of Computer Science at the Interdisciplinary Center in Herzliya, Israel

Table of Contents

Prefacep. xiii
Key Featuresp. xv
Introductionp. 1
Concurrent and Distributed Computingp. 1
Data Communication and Synchronizationp. 2
Contention, Cooperation, and Resource Allocationp. 2
Synchronization: Two Examplesp. 3
Why is Synchronization Difficult?p. 3
Too Much Milkp. 4
The Coordinated Attack Problemp. 8
The Mutual Exclusion Problemp. 10
The Problemp. 11
Commentsp. 13
Complexity Measuresp. 14
Counting Stepsp. 14
Counting Time Unitsp. 15
Counting Remote Memory Accessesp. 16
Space Complexityp. 17
Processes, Threads and Schedulingp. 17
Processesp. 17
Threadsp. 18
Schedulingp. 19
Bibliographic Notesp. 22
Problemsp. 23
Mutual Exclusion Using Atomic Registers: Basic Topicsp. 31
Algorithms for Two Processesp. 31
Peterson's Algorithmp. 32
Kessels' Single-writer Algorithmp. 35
Tournament Algorithmsp. 37
A Solution Based on Peterson's Algorithmp. 38
A Solution Based on Kessels' Algorithmp. 40
A Fast Mutual Exclusion Algorithmp. 42
Lamport's Fast Algorithmp. 42
A Simple Observationp. 46
Starvation-free Algorithmsp. 47
Basic Definitionsp. 48
The Bakery Algorithmp. 49
The Black-White Bakery Algorithmp. 55
Tight Space Boundsp. 58
A Lower Boundp. 59
An Upper Bound: The One-bit Algorithmp. 63
Computing with Infinitely Many Processesp. 66
Automatic Discovery of Algorithmsp. 68
Three Algorithmsp. 69
More Resultsp. 70
Bibliographic Notesp. 71
Problemsp. 74
Mutual Exclusion Using Atomic Registers: Advanced Topicsp. 97
Local Spinning Algorithmsp. 97
Local Spinningp. 98
The Local Spinning Black-White Bakery Algorithmp. 99
A Local Spinning Tournament Algorithmp. 101
Adaptive Algorithmsp. 104
Basic Definitionsp. 104
A Simple Adaptive Algorithmp. 105
An Adaptive Tournament Algorithmp. 110
The Adaptive Black-White Bakery Algorithmp. 116
An Impossibility Resultp. 119
Fault-tolerant Algorithmsp. 122
Defining Fault-tolerancep. 123
A Fault-tolerant Algorithmp. 124
Self-stabilizationp. 127
Symmetric Algorithmsp. 129
Symmetric Deadlock-free Algorithmsp. 130
Symmetric Starvation-free Algorithmsp. 132
Observations about Concurrencyp. 132
Bibliographic Notesp. 133
Problemsp. 136
Blocking and Non-blocking Synchronizationp. 147
Synchronization Primitivesp. 147
Atomic Operationsp. 148
Objectsp. 150
Non-atomic Registersp. 152
Collision Avoidance using Test-and-set Bitsp. 153
A Trivial Deadlock-free Algorithmp. 153
Using a Test-and-test-and-set Bitp. 154
Collision Avoidance Locksp. 155
A Fast Starvation-free Algorithmp. 156
The Ticket Algorithm using RMW Objectsp. 157
The Ticket Algorithmp. 158
A Simple Lower Boundp. 159
Local Spinning using Strong Primitivesp. 160
Anderson's Queue-based Algorithmp. 160
Graunke and Thakkar Queue-based Algorithmp. 163
The MCS Queue-based Algorithmp. 165
Concurrent Data Structuresp. 169
Non-blocking and Wait-free Synchronizationp. 170
A Non-blocking Concurrent Queue Algorithmp. 171
Semaphoresp. 176
Constant Space Starvation-free Algorithmp. 178
Correctness Proofp. 179
Monitorsp. 181
Fairness of Shared Objectsp. 183
Fairness Propertiesp. 183
Basic Resultsp. 184
Algorithmsp. 186
Bibliographic Notesp. 189
Problemsp. 194
Barrier Synchronizationp. 203
Barriersp. 203
Atomic Counterp. 204
A Simple Counter Barrierp. 204
A Local Spinning Counter Barrierp. 206
A Barrier without Shared Memory Initializationp. 206
Test-and-set Bitsp. 207
A Constant Space Barrierp. 207
An Asymmetric Barrier without Memory Initializationp. 208
Combining Tree Barriersp. 210
A Tree-based Barrierp. 212
The Dissemination Barrierp. 213
The See-Saw Barrierp. 215
The Algorithmp. 215
Correctness Proofp. 218
Semaphoresp. 219
Bibliographic Notesp. 221
Problemsp. 222
The l-exclusion Problemp. 227
The Problemp. 227
Algorithms Using Atomic Registersp. 229
An l-starvation-free Algorithmp. 229
An Unbounded FIFO-enabling Algorithmp. 231
Using a Single Read-modify-write Registerp. 234
The Counter Algorithmp. 234
The Numbered Ticket Algorithmp. 235
The Unbounded Colored Ticket Algorithmp. 236
The Bounded Colored Ticket Algorithmp. 238
The l-assignment Problemp. 241
Bibliographic Notesp. 243
Problemsp. 245
Multiple Resourcesp. 249
Deadlocksp. 249
Deadlock Preventionp. 252
Two Phase Locking and Timestamping-orderingp. 252
The Total Order Theoremp. 253
Deadlock Avoidance: The Problem of Deadly Embracep. 255
The Problemp. 255
The Banker's Algorithmp. 256
The Dining Philosophers Problemp. 259
The Problemp. 259
Preliminariesp. 260
Concurrency and Robustnessp. 262
Hold and Wait Strategyp. 263
The LR Algorithmp. 263
The LLR Algorithmp. 265
A Lower Boundp. 267
Relating Concurrency and Robustnessp. 268
Wait and Release Strategyp. 269
Randomized Algorithmsp. 271
The Free Philosophers Algorithmp. 272
The Courteous Philosophers Algorithmp. 272
Bibliographic Notesp. 274
Problemsp. 276
Classical Synchronization Problemsp. 281
The Producer-Consumer Problemp. 281
Atomic Registersp. 282
Atomic Counterp. 283
General Semaphoresp. 284
Binary Semaphoresp. 284
Monitorsp. 286
Sleep and Wakeupp. 287
Readers and Writersp. 288
Semaphoresp. 289
Monitorsp. 290
The Sleeping Barberp. 292
The Cigarette Smoker's Problemp. 294
More Synchronization Problemsp. 297
Group Mutual Exclusion and Room Synchronizationp. 297
Concurrent Reading and Writing of Clocksp. 298
The Choice Coordination Problemp. 299
The H[subscript 2]O Problemp. 300
The Roller Coaster Problemp. 300
Bibliographic Notesp. 301
Problemsp. 303
Consensusp. 307
The Problemp. 307
Three Simple Consensus Algorithmsp. 308
A Single 3-valued Read-modify-write Registerp. 308
Two Processes, Two Read-modify-write Bitsp. 309
Many Processes, Four Read-modify-write Bitsp. 310
Consensus without Memory Initializationp. 311
The Algorithmp. 312
Correctness Proofp. 314
Reaching Consensus Using a Shared Queuep. 316
Impossibility of Consensus with One Faulty Processp. 318
A Formal Modelp. 318
Basic Observationsp. 320
The Impossibility Theoremp. 321
The Relative Power of Synchronization Primitivesp. 325
The Universality of Consensusp. 328
Basic Definitionsp. 328
A Universal Constructionp. 330
Bibliographic Notesp. 334
Problemsp. 336
Timing-based Algorithmsp. 343
Timing-based Systemsp. 343
Mutual Exclusion with Known Delaysp. 345
Fast Mutual Exclusion with Known Delaysp. 347
The Algorithmp. 347
Correctness Proofp. 348
Consensus with Known Delaysp. 352
Fast Consensus with Known Delaysp. 353
The Algorithmp. 353
Correctness Proofp. 354
Fast Consensus with Unknown Delaysp. 355
The Algorithmp. 355
Correctness Proofp. 357
Fast Mutual Exclusion with Unknown Delaysp. 359
The Algorithmp. 359
Correctness Proofp. 361
Time Complexityp. 363
Bibliographic Notesp. 365
Problemsp. 366
Bibliographyp. 373
Indexp. 417
Table of Contents provided by Ingram. All Rights Reserved.

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.