Parallel Computer Architecture: A Hardware/Software Approach

Front Cover
Gulf Professional Publishing, 1999 - Computers - 1025 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


What people are saying - Write a review

We haven't found any reviews in the usual places.


Chapter 1 Introduction
Chapter 2 Parallel Programs
Chapter 3 Programming for Performance
Chapter 4 WorkloadDriven Evaluation
Chapter 5 Shared Memory Multiprocessors
Chapter 6 SnoopBased Multiprocessor Design
Chapter 7 Scalable Multiprocessors
Chapter 8 DirectoryBased Cache Coherence
Chapter 9 HardwareSoftware TradeOffs
Chapter 10 Interconnection Network Design
Chapter 11 Latency Tolerance
Chapter 12 Future Directions
Parallel Benchmark Suites

Other editions - View all

Common terms and phrases

About the author (1999)

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