Skip to:Content
|
Bottom
Cover image for Tools and environments for parallel and distributed computing
Title:
Tools and environments for parallel and distributed computing
Publication Information:
Hoboken, NJ : John Wiley & Sons, 2004
ISBN:
9780471332886

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010064388 QA76.58 T664 2004 Open Access Book Book
Searching...

On Order

Summary

Summary

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.


Author Notes

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.


Table of Contents

S. Hariri and M. ParasharS. Hariri and I. RaM. Parashar and S. ChandraR. Raje and A. Kalyanaraman and N. NayaniG. von Laszewski and P. WagstromM. Parashar and S. Hariri
Prefacep. xi
1. Parallel and Distributed Computingp. 1
1.1 Introduction: Basic Conceptsp. 1
1.2 Promises and Challenges of Parallel and Distributed Systemsp. 4
1.2.1 Processing Technologyp. 5
1.2.2 Networking Technologyp. 5
1.2.3 Software Tools and Environmentsp. 6
1.3 Distributed System Design Frameworkp. 6
References and Further Readingp. 8
2. Message-Passing Toolsp. 11
2.1 Introductionp. 11
2.2 Message-Passing Tools versus Distributed Shared Memoryp. 12
2.2.1 Distributed Shared Memory Modelp. 12
2.2.2 Message-Passing Modelp. 12
2.3 Message-Passing System: Desirable Featuresp. 13
2.4 Classification of Message-Passing Toolsp. 15
2.4.1 Classification by Implementationp. 17
2.5 Overview of Message-Passing Toolsp. 19
2.5.1 Socket-Based Message Passingp. 19
2.5.2 p4p. 20
2.5.3 Parallel Virtual Machinep. 20
2.5.4 Message-Passing Interfacep. 21
2.5.5 Nexusp. 22
2.5.6 Madeleine I and IIp. 22
2.5.7 Active Messagesp. 23
2.6 ACSp. 23
2.6.1 Multithread Communications Servicesp. 24
2.6.2 Separation of Data and Control Functionsp. 24
2.6.3 Programmable Communication, Control, and Management Servicep. 26
2.6.4 Multiple Communication Interfacesp. 28
2.6.5 Adaptive Group Communication Servicesp. 29
2.7 Experimental Results and Analysisp. 29
2.7.1 Experimental Environmentp. 30
2.7.2 Performance of Primitivesp. 30
2.7.3 Application Performance Benchmarkingp. 39
2.7.4 Performance Results of Adaptive Schemesp. 44
2.8 Conclusionsp. 50
Referencesp. 52
3. Distributed Shared Memory Toolsp. 57
3.1 Introductionp. 57
3.2 Cache Coherencep. 59
3.2.1 Directory-Based Cache Coherencep. 59
3.3 Shared Memory Consistency Modelsp. 60
3.4 Distributed Memory Architecturesp. 61
3.5 Classification of Distributed Shared Memory Systemsp. 62
3.5.1 Hardware-Based DSM Systemsp. 64
3.5.2 Mostly Software Page-Based DSM Systemsp. 69
3.5.3 All-Software Object-Based DSM Systemsp. 72
Referencesp. 76
4. Distributed-Object Computing Toolsp. 79
4.1 Introductionp. 79
4.2 Basic Modelp. 80
4.2.1 RMIp. 80
4.2.2 CORBAp. 81
4.2.3 DCOMp. 85
4.3 Examplesp. 86
4.3.1 Experimental Setupp. 87
4.3.2 Developing Applications under RMI, CORBA, and DCOMp. 87
4.3.3 Experiment 1: Pingp. 90
4.3.4 Experiment 2: Producer--Consumer Problemp. 103
4.3.5 Experiment 3: Numerical Computationp. 118
4.4 Comparison of the Three Paradigmsp. 142
4.4.1 Dependency Issuesp. 142
4.4.2 Implementation Detailsp. 142
4.4.3 Architecture Detailsp. 142
4.4.4 Support for Additional Featuresp. 144
4.4.5 Performance Comparisonp. 144
4.5 Conclusionsp. 146
Referencesp. 146
5. Gestalt of the Gridp. 149
5.1 Introductionp. 149
5.1.1 Motivationp. 150
5.1.2 Enabling Factorsp. 151
5.2 Definitionsp. 152
5.3 Multifaceted Grid Architecturep. 154
5.3.1 N-Tiered Grid Architecturep. 155
5.3.2 Role-Based Grid Architecturep. 155
5.3.3 Service-Based Grid Architecturep. 157
5.3.4 Grid Challengesp. 158
5.4 Grid Management Aspectsp. 158
5.4.1 Managing Grid Securityp. 159
5.4.2 Managing Grid Informationp. 161
5.4.3 Managing Grid Datap. 161
5.4.4 Managing Grid Execution and Resourcesp. 162
5.4.5 Managing Grid Softwarep. 162
5.4.6 Managing Grid Hardwarep. 163
5.5 Grid Activitiesp. 163
5.5.1 Community Activitiesp. 164
5.5.2 Grid Middlewarep. 166
5.5.3 High-Throughput Computingp. 171
5.6 Grid Applicationsp. 175
5.6.1 Astrophysics Simulation Collaboratoryp. 175
5.6.2 Particle Physics Data Gridp. 176
5.6.3 NEESgridp. 177
5.7 Portalsp. 177
5.7.1 HotPagep. 179
5.7.2 Webflow and Gatewayp. 179
5.7.3 XCATp. 180
5.7.4 UNICOREp. 180
5.7.5 JiPANGp. 181
5.7.6 PUNCHp. 181
5.7.7 Access Gridp. 182
5.7.8 Commercial Grid Activitiesp. 182
5.8 Conclusionsp. 183
Referencesp. 183
6. Software Development for Parallel and Distributed Computingp. 189
6.1 Introductionp. 189
6.2 Issues in HPC Software Developmentp. 189
6.2.1 Models for Parallel Computationp. 190
6.2.2 Portable Application Description Mediump. 190
6.2.3 Parallel Algorithm Developmentp. 191
6.2.4 Program Implementation and Runtimep. 191
6.2.5 Visualization and Animationp. 191
6.2.6 Maintainabilityp. 192
6.2.7 Reliabilityp. 192
6.2.8 Reusabilityp. 192
6.3 HPC Software Development Processp. 192
6.4 Parallel Modeling of Stock Option Pricingp. 192
6.5 Inputsp. 194
6.6 Application Analysis Stagep. 195
6.7 Application Development Stagep. 198
6.7.1 Algorithm Development Modulep. 198
6.7.2 System-Level Mapping Modulep. 199
6.7.3 Machine-Level Mapping Modulep. 200
6.7.4 Implementation/Coding Modulep. 200
6.7.5 Design Evaluator Modulep. 201
6.8 Compile-Time and Runtime Stagep. 201
6.9 Evaluation Stagep. 202
6.10 Maintenance/Evolution Stagep. 202
6.11 Existing Software Supportp. 203
6.11.1 Application Specifications Filterp. 203
6.11.2 Application Analysis Stagep. 204
6.11.3 Application Development Stagep. 204
6.11.4 Compile-Time and Runtime Stagep. 204
6.11.5 Evaluation Stagep. 204
6.11.6 Maintenance/Evolution Stagep. 205
Referencesp. 205
Indexp. 209
Go to:Top of Page