Print this page Share

Tools and Environments for Parallel and Distributed Computing

Salim Hariri (Editor), Manish Parashar (Editor)
ISBN: 978-0-471-47484-5
232 pages
March 2004
Tools and Environments for Parallel and Distributed Computing (0471474843) cover image


  • An invaluable reference for anyone designing new parallel or distributed systems.
  • Includes detailed case studies of specific systems from Stanford, MIT, and other leading research universities.
  • The authors emphasize performance, surveying all available techniques.
See More

Table of Contents


1. Parallel and Distributed Computing (S. Hariri & M. Parashar).

1.1 Introduction: Basic Concepts.

1.2 Promises and Challenges of Parallel and Distributed Systems.

1.2.1 Processing Technology.

1.2.2 Networking Technology.

1.2.3 Software Tools and Environments.

1.3 Distributed System Design Framework.

References and Further Reading.

2. Message-Passing Tools (S. Hariri & I. Ra).

2.1 Introduction.

2.2 Message-Passing Tools versus Distributed Shared Memory.

2.2.1 Distributed Shared Memory Model.

2.2.2 Message-Passing Model.

2.3 Message-Passing System: Desirable Features.

2.4 Classification of Message-Passing Tools.

2.4.1 Classification by Implementation.

2.5 Overview of Message-Passing Tools.

2.5.1 Socket-Based Message Passing.

2.5.2 p4.

2.5.3 Parallel Virtual Machine.

2.5.4 Message-Passing Interface.

2.5.5 Nexus.

2.5.6 Madeleine I and II.

2.5.7 Active Messages.

2.6 ACS.

2.6.1 Multithread Communications Services.

2.6.2 Separation of Data and Control Functions.

2.6.3 Programmable Communication, Control, and Management Service.

2.6.4 Multiple Communication Interfaces.

2.6.5 Adaptive Group Communication Services.

2.7 Experimental Results and Analysis.

2.7.1 Experimental Environment.

2.7.2 Performance of Primitives.

2.7.3 Application Performance Benchmarking.

2.7.4 Performance Results of Adaptive Schemes.

2.8 Conclusions.


3. Distributed Shared Memory Tools (M. Parashar & S. Chandra).

3.1 Introduction.

3.2 Cache Coherence.

3.2.1 Directory-Based Cache Coherence.

3.3 Shared Memory Consistency Models.

3.4 Distributed Memory Architectures.

3.5 Classification of Distributed Shared Memory Systems.

3.5.1 Hardware-Based DSM Systems.

3.5.2 Mostly Software Page-Based DSM Systems.

3.5.3 All-Software Object-Based DSM Systems.


4. Distributed-Object Computing Tools (R. Raje, et al.).

4.1 Introduction.

4.2 Basic Model.

4.2.1 RMI.

4.2.2 CORBA.

4.2.3 DCOM.

4.3 Examples.

4.3.1 Experimental Setup.

4.3.2 Developing Applications under RMI, CORBA, and DCOM.

4.3.3 Experiment 1: Ping.

4.3.4 Experiment 2: Producer-Consumer Problem.

4.3.5 Experiment 3: Numerical Computation.

4.4 Comparison of the Three Paradigms.

4.4.1 Dependency Issues.

4.4.2 Implementation Details.

4.4.3 Architecture Details.

4.4.4 Support for Additional Features.

4.4.5 Performance Comparison.

4.5 Conclusions.


5. Gestalt of the Grid (G. von Laszewski & P. Wagstrom).

5.1 Introduction.

5.1.1 Motivation.

5.1.2 Enabling Factors.

5.2 Definitions.

5.3 Multifaceted Grid Architecture.

5.3.1 N-Tiered Grid Architecture.

5.3.2 Role-Based Grid Architecture.

5.3.3 Service-Based Grid Architecture.

5.3.4 Grid Challenges.

5.4 Grid Management Aspects.

5.4.1 Managing Grid Security.

5.4.2 Managing Grid Information.

5.4.3 Managing Grid Data.

5.4.4 Managing Grid Execution and Resources.

5.4.5 Managing Grid Software.

5.4.6 Managing Grid Hardware.

5.5 Grid Activities.

5.5.1 Community Activities.

5.5.2 Grid Middleware.

5.5.3 High-Throughput Computing.

5.6 Grid Applications.

5.6.1 Astrophysics Simulation Collaboratory.

5.6.2 Particle Physics Data Grid.

5.6.3 NEESgrid.

5.7 Portals.

5.7.1 HotPage.

5.7.2 Webflow and Gateway.

5.7.3 XCAT.

5.7.4 UNICORE.

5.7.5 JiPANG.

5.7.6 PUNCH.

5.7.7 Access Grid.

5.7.8 Commercial Grid Activities.

5.8 Conclusions.


6. Software Development for Parallel and Distributed Computing (M. Parashar & S. Hariri).

6.1 Introduction.

6.2 Issues in HPC Software Development.

6.2.1 Models for Parallel Computation.

6.2.2 Portable Application Description Medium.

6.2.3 Parallel Algorithm Development.

6.2.4 Program Implementation and Runtime.

6.2.5 Visualization and Animation.

6.2.6 Maintainability.

6.2.7 Reliability.

6.2.8 Reusability.

6.3 HPC Software Development Process.

6.4 Parallel Modeling of Stock Option Pricing.

6.5 Inputs.

6.6 Application Analysis Stage.

6.7 Application Development Stage.

6.7.1 Algorithm Development Module.

6.7.2 System-Level Mapping Module.

6.7.3 Machine-Level Mapping Module.

6.7.4 Implementation/Coding Module.

6.7.5 Design Evaluator Module.

6.8 Compile-Time and Runtime Stage.

6.9 Evaluation Stage.

6.10 Maintenance/Evolution Stage.

6.11 Existing Software Support.

6.11.1 Application Specifications Filter.

6.11.2 Application Analysis Stage.

6.11.3 Application Development Stage.

6.11.4 Compile-Time and Runtime Stage.

6.11.5 Evaluation Stage.

6.11.6 Maintenance/Evolution Stage.



See More

Author Information

SALIM HARIRI, PhD, is a professor in the Department of Electrical and Computer Engineering at the University of Arizona, Tucson, where he directs the High Performance Distributed Computing Laboratory. He is the Editor in Chief for the Cluster Computing Journal and the founder of IEEE International Symposium on High Performance Distributed Computing (HPDC). He is coauthor/editor of three books on parallel and distributed computing and has published over a hundred journal articles and conference papers.

MANISH PARASHAR, PhD, is an associate professor in the Department of Electrical and Computer Engineering at Rutgers, The State University of New Jersey, where he is Director of The Applied Software Systems Laboratory (TASSL). Professor Parashar is a recipient of the NSF CAREER award and the Enrico Fermi scholarship, and is a senior member of the IEEE. In addition to publishing over a hundred technical papers in international journals and conferences, Professor Parashar has coauthored/edited three books, and has contributed to several others, in the area of parallel and distributed computing.

See More


"…an excellent reference for tools and paradigms for building high performance parallel and distributed computing systems…" (Computing Reviews.com, February 3, 2005)

"This book is recommended for libraries supporting graduate level programs in computer science and programs utilizing high-performance computing in their research.” (E-STREAMS, August 2004)

See More

Related Titles

Back to Top