How to Build a Beowulf: A Guide to the Implementation and Application of PC Clusters

Front Cover

This how-to guide provides step-by-step instructions for building aBeowulf-type computer, including the physical elements that make up aclustered PC computing system, the software required (most of which isfreely available), and insights on how to organize the code to exploitparallelism.

Supercomputing research—the goal of which is to make computers that are ever faster and more powerful—has been at the cutting edge of computer technology since the early 1960s. Until recently, research cost in the millions of dollars, and many of the companies that originally made supercomputers are now out of business.The early supercomputers used distributed computing and parallel processing to link processors together in a single machine, often called a mainframe. Exploiting the same technology, researchers are now using off-the-shelf PCs to produce computers with supercomputer performance. It is now possible to make a supercomputer for less than $40,000. Given this new affordability, a number of universities and research laboratories are experimenting with installing such Beowulf-type systems in their facilities.This how-to guide provides step-by-step instructions for building a Beowulf-type computer, including the physical elements that make up a clustered PC computing system, the software required (most of which is freely available), and insights on how to organize the code to exploit parallelism. The book also includes a list of potential pitfalls.

 

What people are saying - Write a review

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

Selected pages

Contents

Introduction
1
11 A Brief History
2
12 The Beowulf Book
4
Overview of Beowulf Systems
9
22 A Taxonomy of Parallel Computing
12
23 Benefits of Beowulf
13
24 A Critical Technology Convergence
14
25 The Beowulf System Node
16
52 Alternative Network Technologies
102
53 TCPIP
105
54 Sockets
108
55 Higher Level Protocols
112
56 Distributed File Systems
118
57 Remote Command Execution
120
Managing Ensembles
123
62 Assigning Names
125

26 The Beowulf Network
18
27 Linux
19
28 Message Passing for Interprocessor Communication
20
29 Beowulf System Management
21
Node Hardware
25
31 Overview of a Beowulf Node
26
32 Processors
32
33 Motherboard
36
34 Memory
42
35 BIOS
46
36 Secondary Storage
47
37 PCI Bus
48
38 Examples of a Beowulf Node
49
39 Boxes Shelves Piles and Racks
51
310 Node Assembly
52
The Linux Operating System
63
41 History of Linux
64
42 Linux Kernels and Linux Distributions
66
43 Linux Features
67
44 File Systems
70
45 System Configuration
73
46 Tools for Program Development
76
47 Linuxs Unique Features
83
48 Installing an Initial System
84
49 Keeping Up with Linux
89
410 Suggested References
91
Network Hardware and Software
93
63 Cloning Nodes
127
64 Basic System Administration
132
Security Strategies
137
66 Job Scheduling
143
Parallel Applications
145
72 Broad Categories of Parallel Algorithms
148
73 Processlevel Parallelism
153
MPIA Userlevel Messagepassing Interface
163
82 MPI Basic Functionality
164
83 Parallel Data Structures with MPI
173
84 MPI Advanced Features
185
Programming with MPIA Detailed Example
191
Sorting a List of Uniformly Distributed Integers
193
92 Analysis of Integer Sort
199
93 Measurement of Integer Sort
201
Sorting with Usersupplied Comparator
209
95 Analysis of a More General Sort
212
96 Summary
218
Conclusions and Views
221
102 New Opportunities
223
103 True Costs
225
104 Total Work versus Peak Performance
227
105 Big Memory versus Outofcore
228
107 New Programming Models
230
108 Will Linux Survive the Mass Market?
231
109 Final Thoughts
232
Copyright

Other editions - View all

Common terms and phrases

About the author (1999)

Donald J. Becker is Staff Scientist at the Center for Excellence in Space Data and Information Sciences.

John Salmon is Staff Scientist at the California Institute of Technology.

Daniel F. Savarese is the founder of Savarese Software Research. He founded ORO, was a senior scientist at Caltech's Center for Advanced Computing Research, and worked as vice president of software development for WebOS.

Thomas Sterling is a Professor of Computer Science at Louisiana State University, a Faculty Associate at California Institute of Technology, and a Distinguished Visiting Scientist at Oak Ridge National Laboratory.

Bibliographic information