Parallel Computer Architecture: A Hardware/Software Approach

Front Cover
Elsevier, Sep 29, 1998 - Computers - 1056 pages

The most exciting development in parallel computer architecture is the convergence of traditionally disparate approaches on a common machine structure. This book explains the forces behind this convergence of shared-memory, message-passing, data parallel, and data-driven computing architectures. It then examines the design issues that are critical to all parallel architecture across the full range of modern design, covering data access, communication performance, coordination of cooperative work, and correct implementation of useful semantics. It not only describes the hardware and software techniques for addressing each of these issues but also explores how these techniques interact in the same system. Examining architecture from an application-driven perspective, it provides comprehensive discussions of parallel programming for high performance and of workload-driven evaluation, based on understanding hardware-software interactions.

  • synthesizes a decade of research and development for practicing engineers, graduate students, and researchers in parallel computer architecture, system software, and applications development
  • presents in-depth application case studies from computer graphics, computational science and engineering, and data mining to demonstrate sound quantitative evaluation of design trade-offs
  • describes the process of programming for performance, including both the architecture-independent and architecture-dependent aspects, with examples and case-studies
  • illustrates bus-based and network-based parallel systems with case studies of more than a dozen important commercial designs
 

Contents

Chapter 1 Introduction
1
Chapter 2 Parallel Programs
75
Chapter 3 Programming for Performance
121
Chapter 4 WorkloadDriven Evaluation
199
Chapter 5 Shared Memory Multiprocessors
269
Chapter 6 SnoopBased Multiprocessor Design
377
Chapter 7 Scalable Multiprocessors
453
Chapter 8 DirectoryBased Cache Coherence
553
Chapter 9 HardwareSoftware TradeOffs
679
Chapter 10 Interconnection Network Design
T-49
Chapter 11 Latency Tolerance
331
Chapter 12 Future Directions
935
Parallel Benchmark Suites
963
References
969
Index
995
Copyright

Other editions - View all

Common terms and phrases

About the author (1998)

David Culler led the Berkeley Network of Workstations (NOW) project, which sparked the current commercial revolution in high-performance clusters. Anoop Gupta co-led the Stanford DASH multiprocessor project, which developed the shared-memory technology increasingly used in commercial machines.

Jaswinder Pal Singh led the development of the SPLASH and SPLASH-2 suites of parallel programs, which have defined the workloads and methodology used to drive decisions and evaluate trade-offs in shared- memory parallel architecture.

Dr. Anoop Gupta is a Distinguished Scientist at Microsoft Research. He works on cross-disciplinary projects that have potential for large business or societal impact. His recent projects focus on areas of education, communication, collaboration, and natural user interfaces.

Bibliographic information