Foundations of Multithreaded, Parallel and Distributed Programming 00 edition (9780201357523) - Textbooks.com Skip to main content
Ship-Ship-Hooray! Free Shipping on $25+ View Details about Free Shipping >
Foundations of Multithreaded, Parallel and Distributed Programming

Foundations of Multithreaded, Parallel and Distributed Programming - 00 edition

Foundations of Multithreaded, Parallel and Distributed Programming - 00 edition

ISBN13: 9780201357523

ISBN10: 0201357526

Foundations of Multithreaded, Parallel and Distributed Programming by Gregory R. Andrews - ISBN 9780201357523
Cover type: Paperback
Edition: 00
Copyright: 2000
Publisher: Prentice Hall, Inc.
Published:
International: No
Foundations of Multithreaded, Parallel and Distributed Programming by Gregory R. Andrews - ISBN 9780201357523

ISBN13: 9780201357523

ISBN10: 0201357526

Cover type: Paperback
Edition: 00
You Save $7.75 (6%)
$119.00

List price: $126.75

Happy you, happy us. You get 24-hour turnaround. Free shipping on $25+, and dedicated customer service. Cue the smiley faces.

FREE Shipping on $25+
Order $25 or more and the shipping's on us. Marketplace items and other exclusions apply.
Ships tomorrow
Order by noon CST (Mon-Fri, excluding holidays). Some restrictions apply.
Easy 30-Day Returns
Not the right book for you? We accept returns within 30 days of purchase. Access codes are non-refundable once revealed or redeemed.
Ships directly from us
You Save $98.15 (77%)
$28.60
Condition: Very Good
100% Satisfaction Guarantee
We hand-inspect every one of our used books.

List price: $126.75

All of our used books are 100% hand-inspected and guaranteed! Happy you, happy us.

FREE Shipping on $25+
Order $25 or more and the shipping's on us. Marketplace items and other exclusions apply.
Ships tomorrow
Order by noon CST (Mon-Fri, excluding holidays). Some restrictions apply.
Easy 30-Day Returns
Not the right book for you? We accept returns within 30 days of purchase. Access codes are non-refundable once revealed or redeemed.
Ships directly from us

This title is currently not available in digital format.

Well, that's no good. Unfortunately, this edition is currently out of stock. Please check back soon.
$9.99/month*
Writing Help
Designed to reduce mistakes, build better writing habits and transform okay papers into stellar ones - with bartleby write, you can submit your papers with confidence. Get access to plagiarism protection, grammar and spelling checks, preliminary scoring and citation assistance for only $9.99/month. It's like having your own 24/7 virtual writing center.

* Billed monthly. Cancel at any time.

Also available in the Marketplace starting at $3.56 Hide Marketplace
Filter by: All ()  |  New ()  |  Like New ()  |  Very Good ()  |  Good ()  |  Acceptable ()
Price Condition Seller Comments

Shop Us With Confidence

Summary

Greg Andrews teaches the fundamental concepts of multithreaded, parallel and distributed computing and relates them to the implementation and performance processes. He presents the appropriate breadth of topics and supports these discussions with an emphasis on performance.

Features :

  • Emphasizes how to solve problems, with correctness the primary concern and performance an important, but secondary, concern
  • Includes a number of case studies which cover such topics as pthreads, MPI, and OpenMP libraries, as well as programming languages like Java, Ada, high performance Fortran, Linda, Occam, and SR
  • Provides examples using Java syntax and discusses how Java deals with monitors, sockets, and remote method invocation
  • Covers current programming techniques such as semaphores, locks, barriers, monitors, message passing, and remote invocation
  • Concrete examples are executed with complete programs, both shared and distributed
  • Sample applications include scientific computing and distributed systems

Author Bio

Andrews, Gregory : University of Arizona

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.

Table of Contents

Table of Contents

1. The Concurrent Computing Landscape.

The Essence of Concurrent Programming.
Hardware Architectures.
Applications and Programming Styles.
Iterative Parallelism: Matrix Multiplication.
Recursive Parallelism: Adaptive Quadrature.
Producers and Consumers: Unix Pipes.
Clients and Servers: Remote Files.
Peers: Distributed Matrix Multiplication.
Summary of Programming Notation.

I. SHARED VARIABLE PROGRAMMING.

2. Processes and Synchronization.

States, Actions, Histories, and Properties.
Parallelization: Finding Patterns in Files.
Synchronization: The Maximum of an Array.
Atomic Actions and Await Statements.
Producer/Consumer Synchronization
A Synopsis of Axiomatic Semantics.
Techniques for Avoiding Interference.
Safety and Liveness Properties.


3. Locks and Barriers.

The Critical Section Problem.
Critical Sections: Spin Locks.
Critical Sections: Fair Solutions.
Barrier Synchronization.
Data Parallel Algorithms.
Parallel Computing with a Bag of Tasks.


4. Semaphores.

Syntax and Semantics.
Basic Problems and Techniques.
The Dining Philosophers.
Readers and Writers.
Resource Allocation and Scheduling.
Case Study: Pthreads.


5. Monitors.

Syntax and Semantics.
Synchronization Techniques.
Disk Scheduling: Program Structures.
Case Study: Java.
Case Study: Pthreads.


6. Implementations.

A Single-Processor Kernel.
A Multiprocessor Kernel.
Implementing Semaphores in a Kernel.
Implementing Monitors in a Kernel.
Implementing Monitors Using Semaphores.

II. DISTRIBUTED PROGRAMMING.

7. Message Passing.

Asynchronous Message Passing.
Filters: A Sorting Network.
Clients and Servers.
Interacting Peers: Exchanging Values.
Synchronous Message Passing.
Case Study: CSP.
Case Study: Linda.
Case Study: MPI.
Case Study: Java.


8. RPC and Rendezvous.

Remote Procedure Call.
Rendezvous.
A Multiple Primitives Notation.
Readers/Writers Revisited.
Case Study: Java.
Case Study: Ada.
Case Study: SR.


9. Paradigms for Process Interaction.

Managers/Workers (Distributed Bag of Tasks).
Heartbeat Algorithms.
Pipeline Algorithms.
Probe/Echo Algorithms.
Broadcast Algorithms.
Token-Passing Algorithms.
Replicated Servers.


10. Implementations.

Asynchronous Message Passing.
Synchronous Message Passing.
RPC and Rendezvous.
Distributed Shared Memory.

III. PARALLEL PROGRAMMING.

11. Scientific Computing.

Grid Computations.
Particle Computations.
Matrix Computations.


12. Languages, Compilers, Libraries, and Tools.

Parallel Programming Libraries.
Parallelizing Compilers.
Languages and Models
Parallel Programming Tools.



Glossary
Index