ISBN-10:
0805300864
ISBN-13:
9780805300864
Pub. Date:
07/02/1991
Publisher:
Pearson
Concurrent Programming: Principles and Practice / Edition 1

Concurrent Programming: Principles and Practice / Edition 1

by Greg Andrews

Paperback

Current price is , Original price is $173.4. You
Select a Purchase Option (New Edition)
  • purchase options

Product Details

ISBN-13: 9780805300864
Publisher: Pearson
Publication date: 07/02/1991
Edition description: New Edition
Pages: 550
Product dimensions: 7.40(w) x 9.10(h) x 1.40(d)

About the Author

Gregory Andrews received a B.S. degree in Mathematics from Stanford University in 1969 and a Ph.D. degree in Computer Science from the University of Washington in 1974. From 1974-79 he was an Assistant Professor at Cornell University. Since 1979 he has been at The University of Arizona, where he is currently Professor of Computer Science. From 1986-93 he chaired the department; in 1986 he received a distinguished teaching award.

Greg has been on the editorial board of Information Processing Letters since 1979. He was the general chair of the Twelfth ACM Symposium on Operating Systems Principles in 1989 and has been on the program committees of numerous conferences. From 1988-92 he was on advisory committees for the computing directorate of the National Science Foundation. Since 1991 he has been on the Board of Directors of the Computing Research Association (CRA).

Greg's research interests include all aspects of concurrent programming. A long-term project has been the design and implementation of the SR programming language. Current work focuses on the development of Filaments, a software package that provides efficient fine-grain parallelism on a variety of parallel machines.

0805300864AB04062001

Table of Contents

I. BASIC CONCEPTS.


Sequential Programming.

Language Notation.

Logic, Propositions, and Predicates.

A Programming Logic.

Proofs in Programming Logic.

Program Derivation.

Historical Notes and References.

Exercises.


Concurrency and Synchronization.

Specifying Concurrent Execution.

Atomic Actions and Synchronization.

Semantics of Concurrent Execution.

Techniques for Avoiding Interference.

Auxiliary Variables.

Safety and Liveness Properties.

Historical Notes and References.

Exercises.

II. SHARED VARIABLES.


Fine-Grained Synchronization.

The Critical Section Problem.

Critical Sections: Tie-Breaker Algorithm.

Critical Sections: Ticket Algorithm.

Critical Sections: Bakery Algorithm.

Barrier Synchronization.

Data Parallel Algorithms.

On-The-Fly Garbage Collection.

Implementing Processes.

Historical Notes and References.

Exercises.


Semaphores.

Notation and Semantics.

Basic Uses and Programming Techniques.

Selective Mutual Exclusion.

General Condition Synchronization.

Resource Allocation.

Implementation.

Historical Notes and References.

Exercises.


Conditional Critical Regions.

Notation and Semantics.

Dining Philosophers Revisited.

Reader/Writers Revisited.

Interprocess Communication.

Scheduling and Resource Allocation.

Implementations.

Historical Notes and References.

Exercises.


Monitors.

Programming Notation.

Formal Semantics and Program Proofs.

Synchronization Techniques.

Disk Scheduling: Program Structures.

Alternative Approaches to Synchronization.

Implementations.

Historical Notes and References.

Exercises.

III. MESSAGE PASSING.


Asynchronous Message Passing.

Programming Notation.

Formal Semantics.

Filters: A Sorting Network.

Clients and Servers.

Heartbeat Algorithms.

Probe/Echo Algorithms.

Broadcast Algorithms.

Token-Passing Algorithms.

Replicated Servers.

Implementations.

Historical Notes and References.

Exercises.


Synchronous Message Passing.

Programming Notation.

Formal Semantics.

Networks of Filters.

Interacting Parallel Processes.

Clients and Servers.

Implementations.

Historical Notes and References.

Exercises.


RPC and Rendezvous.

Remote Procedure Call.

Rendezvous.

A Multiple Primitives Notation.

Clients and Servers.

Parallel Algorithms.

Implementation.

Historical Notes and References.

Exercises.

IV. PRACTICE.


Language Overviews.

Turing Plus: Monitors.

Occam: Synchronous Message Passing.

Ada: Rendezvous.

SR: Multiple Primitives.

Linda: Distributed Data Structures.

Comparison and Performance.

Historical Notes and References.

Exercises.


Glossary.

Bibliography.

Index. 0805300864T04062001

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews