rent-now

Rent More, Save More! Use code: ECRENTAL

5% off 1 book, 7% off 2 books, 10% off 3+ books

9780321312839

Principles of Concurrent and Distributed Programming

by Ben-Ari, M.
  • ISBN13:

    9780321312839

  • ISBN10:

    032131283X

  • Edition: 2nd
  • Format: Paperback
  • Copyright: 2005-11-29
  • Publisher: Addison-Wesley
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
  • Complimentary 7-Day eTextbook Access - Read more
    When you rent or buy this book, you will receive complimentary 7-day online access to the eTextbook version from your PC, Mac, tablet, or smartphone. Feature not included on Marketplace Items.
List Price: $193.32 Save up to $117.73
  • Buy New
    $193.13
    Add to Cart Free Shipping Icon Free Shipping

    PRINT ON DEMAND: 2-4 WEEKS. THIS ITEM CANNOT BE CANCELLED OR RETURNED.

    7-Day eTextbook Access 7-Day eTextbook Access

Summary

The latest edition of a classic text on concurrency and distributed programming - from a winner of the ACM/SIGCSE Award for Outstanding Contribution to Computer Science Education.

Author Biography

Mordechai (Moti) Ben-Ari is an Associate Professor in the Department of Science Teaching at the Weizmann Institute of Science in Rehovot, Israel

Table of Contents

Prefacep. xi
What is Concurrent Programming?p. 1
Introductionp. 1
Concurrency as abstract parallelismp. 2
Multitaskingp. 4
The terminology of concurrencyp. 4
Multiple computersp. 5
The challenge of concurrent programmingp. 5
The Concurrent Programming Abstractionp. 7
The role of abstractionp. 7
Concurrent execution as interleaving of atomic statementsp. 8
Justification of the abstractionp. 13
Arbitrary interleavingp. 17
Atomic statementsp. 19
Correctnessp. 21
Fairnessp. 23
Machine-code instructionsp. 24
Volatile and non-atomic variablesp. 28
The BACI concurrency simulatorp. 29
Concurrency in Adap. 31
Concurrency in Javap. 34
Writing concurrent programs in Promelap. 36
Supplement: the state diagram for the frog puzzlep. 37
The Critical Section Problemp. 45
Introductionp. 45
The definition of the problemp. 45
First attemptp. 48
Proving correctness with state diagramsp. 49
Correctness of the first attemptp. 53
Second attemptp. 55
Third attemptp. 57
Fourth attemptp. 58
Dekker's algorithmp. 60
Complex atomic statementsp. 61
Verification of Concurrent Programsp. 67
Logical specification of correctness propertiesp. 68
Inductive proofs of invariantsp. 69
Basic concepts of temporal logicp. 72
Advanced concepts of temporal logicp. 75
A deductive proof of Dekker's algorithmp. 79
Model checkingp. 83
Spin and the Promela modeling languagep. 83
Correctness specifications in Spinp. 86
Choosing a verification techniquep. 88
Advanced Algorithms for the Critical Section Problemp. 93
The bakery algorithmp. 93
The bakery algorithm for N processesp. 95
Less restrictive models of concurrencyp. 96
Fast algorithmsp. 97
Implementations in Promelap. 104
Semaphoresp. 107
Process statesp. 107
Definition of the semaphore typep. 109
The critical section problem for two processesp. 110
Semaphore invariantsp. 112
The critical section problem for N processesp. 113
Order of execution problemsp. 114
The producer-consumer problemp. 115
Definitions of semaphoresp. 119
The problem of the dining philosophersp. 122
Barz's simulation of general semaphoresp. 126
Udding's starvation-free algorithmp. 129
Semaphores in BACIp. 131
Semaphores in Adap. 132
Semaphores in Javap. 133
Semaphores in Promelap. 134
Monitorsp. 145
Introductionp. 145
Declaring and using monitorsp. 146
Condition variablesp. 147
The producer-consumer problemp. 151
The immediate resumption requirementp. 152
The problem of the readers and writersp. 154
Correctness of the readers and writers algorithmp. 157
A monitor solution for the dining philosophersp. 160
Monitors in BACIp. 162
Protected objectsp. 162
Monitors in Javap. 167
Simulating monitors in Promelap. 173
Channelsp. 179
Models for communicationsp. 179
Channelsp. 181
Parallel matrix multiplicationp. 183
The dining philosophers with channelsp. 187
Channels in Promelap. 188
Rendezvousp. 190
Remote procedure callsp. 193
Spacesp. 197
The Linda modelp. 197
Expressiveness of the Linda modelp. 199
Formal parametersp. 200
The master-worker paradigmp. 202
Implementations of spacesp. 204
Distributed Algorithmsp. 211
The distributed systems modelp. 211
Implementationsp. 215
Distributed mutual exclusionp. 216
Correctness of the Ricart-Agrawala algorithmp. 223
The RA algorithm in Promelap. 225
Token-passing algorithmsp. 227
Tokens in virtual treesp. 230
Global Propertiesp. 237
Distributed terminationp. 237
The Dijkstra-Scholten algorithmp. 243
Credit-recovery algorithmsp. 248
Snapshotsp. 250
Consensusp. 257
Introductionp. 257
The problem statementp. 258
A one-round algorithmp. 260
The Byzantine Generals algorithmp. 261
Crash failuresp. 263
Knowledge treesp. 264
Byzantine failures with three generalsp. 266
Byzantine failures with four generalsp. 268
The flooding algorithmp. 271
The King algorithmp. 274
Impossibility with three generalsp. 280
Real-Time Systemsp. 285
Introductionp. 285
Definitionsp. 287
Reliability and repeatabilityp. 288
Synchronous systemsp. 290
Asynchronous systemsp. 293
Interrupt-driven systemsp. 297
Priority inversion and priority inheritancep. 299
The Mars Pathfinder in Spinp. 303
Simpson's four-slot algorithmp. 306
The Ravenscar profilep. 309
UPPAALp. 311
Scheduling algorithms for real-time systemsp. 312
The Pseudocode Notationp. 317
Review of Mathematical Logicp. 321
The propositional calculusp. 321
Inductionp. 323
Proof methodsp. 324
Correctness of sequential programsp. 326
Concurrent Programming Problemsp. 331
Software Toolsp. 339
BACI and jBACIp. 339
Spin and jSpinp. 341
DAJp. 345
Further Readingp. 349
Bibliographyp. 351
Indexp. 355
Table of Contents provided by Ingram. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program