In Search of Clusters
Gregory F. Pfister · 1995
I. WHAT ARE CLUSTERS, AND WHY USE THEM? 1. Introduction. Working Harder. Working Smarter. Getting Help. The Road to Lowly Parallel Processing. A Neglected Paradigm. What is to Come. 2. Examples. Beer & Subpoenas. Serving the Web. The Farm. Fermilab. Other Compute Clusters. Full System Clusters. Cluster Software Products. Basic (Availability) Clusters. Not the End. 3. Why Clusters? The Standard Litany. Why Now? Why Not Now? Commercial Node Performance. The Need for Availability. 4. Definition, Distinctions, and Initial Comparisons. Definition. Distinction from Parallel Systems. Distinctions from Distributed Systems. Concerning System Other Comparisons. Reactions. II. HARDWARE. 5. A Cluster Bestiary. Exposed vs. Enclosed. Glass-House vs. Campus-Wide Cluster. Cluster Hardware Structures. Communication Requirements. Cluster Acceleration Techniques. 6. 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. 7. and Friends. UMA, NORMA, and CC-NUMA. How CC-NUMA Works. The in CC-NUMA. Software Implications. Other CC-NUMA Implications. Is NUMA Inevitable? Great Big CC-NUMA. Simple COMA. III. SOFTWARE. 8. Workloads. Why Discuss Workloads? Serial: Throughput. Parallel. Amdahl's Law. The Point of All This. 9. Basic Programming Models and Issues. What is a Programming Model? The Sample Problem. Uniprocessor. Shared Memory. Message-Passing. CC-NUMA. SIMD and All That. Importance. 10. 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? 11. 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. IV. SYSTEMS. 12. Availability. What Does High Availability Mean? The Basic Idea: Failover. Resources. Failing Over Data. Failing Over Communications. Towards Instant Failover. Failover to Where? Lock Data Reconstruction. Heartbeats, Events, and Failover Processing. System Structure. Related Issues. 13. Symmetric Multiprocessors, NUMA, and Clusters. Preliminaries. Performance. Cost. Availability. Other Issues. Partitioning. Conclusion. 14. Why We Need the Concept of Cluster. Benchmarks. Development Directions. Confusion of Issues. The Lure of Large Numbers. 15. Conclusion. Cluster Operating Systems. Exploitation. Standards. Software Pricing. What About 2010?. Coda: The End of Parallel Computer Architecture. Annotated Bibliography. Index. About the Author.