
Practical Parallel Computing
Free Global Shipping
No minimum orderDescription
Practical Parallel Computing provides information pertinent to the fundamental aspects of high-performance parallel processing. This book discusses the development of parallel applications on a variety of equipment. Organized into three parts encompassing 12 chapters, this book begins with an overview of the technology trends that converge to favor massively parallel hardware over traditional mainframes and vector machines. This text then gives a tutorial introduction to parallel hardware architectures. Other chapters provide worked-out examples of programs using several parallel languages. This book deals as well with benchmarking and performance estimation on parallel machines. The final chapter provides a structured, flexible methodology for selecting a parallel machine and for integrating it into operations. This book is a valuable resource for readers who are confronted with the practical realities of parallel computing for the first time. Mid-level technical managers, algorithm designers, computer scientists, and doctorate-level mathematicians will also find this book extremely useful.
Table of Contents
Preface
Acknowledgments
Part 1 Preliminaries
1 The Status and Future of Massively Parallel Processing
1.1 Technology Trends Favoring Parallel Architectures
1.2 Obstacles Inhibiting Commercial Success
1.3 Trends and Considerations
Summary of Chapter 1
2 Can Parallel Machines Be Used Efficiently?
2.1 A Parallel Parable: Building a Wall
2.2 Amdahl's Law
2.3 Examples
Summary of Chapter 2
3 An Introduction to Hardware Architectures
3.1 Impacts of Hardware Architecture
3.2 A Primer on Interconnection Networks
3.3 SIMD Machines
3.4 Distributed Memory MIMD Machines
3.5 Shared Memory MIMD Machines
Summary of Chapter 3
Part 2 Software Issues
4 Shared Memory Parallel Language Constructs
4.1 Basic Concepts for Shared Memory Parallel Programming
4.2 The Sample Problem on an SGI Challenge SMP
4.3 Observations and Considerations
Summary of Chapter 4
5 Message Passing
5.1 An Overview of the Message-Passing Library
5.2 The Sample Problem on an nCube 2
5.3 Express
5.4 Intel Paragon
5.5 Observations and Considerations
Summary of Chapter 5
6 SIMD and Array-Based Languages
6.1 An Overview
6.2 MPL on the MasPar MP-1
6.3 C* on the Connection Machine
Summary of Chapter 6
7 Linda
7.1 A Linda Primer
7.2 The Sample Problem in Linda
7.3 Observations and Considerations
Summary of Chapter 7
8 The Development Environment for Parallel Software
8.1 Compilers
8.2 Debugging Parallel Code
8.3 Profilers and Load Balancing
8.4 Other Tools
Summary of Chapter 8
9 Operating System Issues
9.1 Multiple Users
9.2 Virtual Address Spaces
9.3 Scheduling
9.4 Virtual Processors
9.5 I/O
9.6 Open Systems
Summary of Chapter 9
Part 3 Management Issues
10 Benchmarking Parallel Applications
10.1 Dependence on Problem Size and Machine Size
10.2 Publicly Available Parallel Benchmarks
10.3 Scaling Sequential Performance to Parallel Performance
10.4 Estimating Performance
10.5 Questions to Ask Vendors
Summary of Chapter 10
11 Porting and Developing Parallel Applications
11.1 Porting Strategies
11.2 Developing Parallel Applications
11.3 Examples
Summary of Chapter 11
12 Matching Applications to Architectures
12.1 A Methodology
12.2 Integrating a Parallel Machine into Existing Operations
Summary of Chapter 12
Appendix A The Sample Problem
Listing for Sample Problem
Appendix B SGI Challenge
Appendix C nCube
Appendix D Express
Appendix E Intel Paragon
Appendix F MasParMP-1
Appendix G C* on the Connection Machine
Appendix H Linda
Appendix I Two Recent Machines
1.1 The SP-Series from IBM
Node Architecture
Interprocessor Communications
I/O Software
1.2 Exemplar Series from Convex Corp.
System Architecture
System Software
1.3 Summary and Comparison
References
Index
Product details
- No. of pages: 420
- Language: English
- Copyright: © Academic Press 1994
- Published: September 28, 1994
- Imprint: Academic Press
- eBook ISBN: 9781483214191