| |
| |
| |
What Is A Cluster, and Why Use Them? | |
| |
| |
| |
Introduction | |
| |
| |
Working Harder | |
| |
| |
Working Smarter | |
| |
| |
Getting Help | |
| |
| |
A Neglected Paradigm | |
| |
| |
What Is To Come | |
| |
| |
| |
Examples | |
| |
| |
The Farm | |
| |
| |
Fermilab | |
| |
| |
Many Others | |
| |
| |
Cluster System Products | |
| |
| |
Cluster Software Products | |
| |
| |
Availability Clusters | |
| |
| |
Not the End | |
| |
| |
| |
Why Clusters? | |
| |
| |
The Standard Litany | |
| |
| |
Why Now? Why Not Now? Cluster Enablers | |
| |
| |
| |
Definition, Distinctions, and Initial Comparisons | |
| |
| |
Definition | |
| |
| |
Distinction From Parallel Systems | |
| |
| |
Distinctions from Distributed Systems | |
| |
| |
Concerning "Single System Image" | |
| |
| |
Other Comparisons | |
| |
| |
Reactions | |
| |
| |
| |
Hardware | |
| |
| |
| |
A Cluster Bestiary | |
| |
| |
Exposed vs | |
| |
| |
Enclosed | |
| |
| |
"Glass-House" vs | |
| |
| |
"Campus-Wide" Cluster | |
| |
| |
Cluster Hardware Structures | |
| |
| |
Communication Requirements | |
| |
| |
| |
Symmetric Multiprocessors | |
| |
| |
What Is an SMP? What Is a Cache, and Why Is It Necessary? Memory Contention | |
| |
| |
Cache Coherence | |
| |
| |
Sequential and Other Consistencies | |
| |
| |
Input/Output | |
| |
| |
Summary | |
| |
| |
| |
Software | |
| |
| |
| |
Workloads | |
| |
| |
Why Discuss Workloads? Serial: Throughput | |
| |
| |
Parallel | |
| |
| |
Amdahl's Law | |
| |
| |
The Point of All This | |
| |
| |
| |
Basic Programming Models and Issues | |
| |
| |
What Is a Programming Model? The Sample Problem | |
| |
| |
Uniprocessor | |
| |
| |
Shared Memory | |
| |
| |
Message-Passing | |
| |
| |
Both at Once | |
| |
| |
SIMD and All That | |
| |
| |
Importance | |
| |
| |
| |
Commercial Programming Models | |
| |
| |
Small N vs | |
| |
| |
Large N | |
| |
| |
Small-N Programming Models | |
| |
| |
Large-N I/O Programming Models | |
| |
| |
Large-N Processor-Memory Models | |
| |
| |
Shared Disk or not Shared Disk? Small N vs | |
| |
| |
Large N in Commercial Subsystems | |
| |
| |
| |
Single System Image | |
| |
| |
Single-System-Image Boundaries | |
| |
| |
Single-System-Image Levels | |
| |
| |
The Application and Subsystem Levels | |
| |
| |
The Operating System Kernel Levels | |
| |
| |
Hardware Levels | |
| |
| |
SSI and System Management | |
| |
| |
| |
Systems | |
| |
| |
| |
Symmetric Multiprocessors vs | |
| |
| |
Clusters | |
| |
| |
What's Being Compared? Conventional Wisdom | |
| |
| |
SMP and Other Scaling | |
| |
| |
SMP-Cluster Performance Comparisons | |
| |
| |
Other Comparisons | |
| |
| |
Conclusions? | |
| |
| |
| |
Why We Need the Concept of "Cluster" | |
| |
| |
Benchmarks | |
| |
| |
Development Directions | |
| |
| |
Confusion of Issues | |
| |
| |
The Lure of Large Numbers | |
| |
| |
| |
Conclusion | |
| |
| |
Cluster Operating Systems | |
| |
| |
Communication Overhead | |
| |
| |
Standards | |
| |
| |
Software Pricing | |
| |
| |
Coda: The End of Parallel Computer Architecture | |
| |
| |
Annotated Bibliography | |
| |
| |
Index | |
| |
| |
About the Author | |