Series Foreword |
|
xix | |
Foreword |
|
xxi | |
Preface |
|
xxix | |
|
|
1 | (14) |
|
|
|
|
|
|
1 | (2) |
|
Opportunities and Advantages |
|
|
3 | (3) |
|
|
6 | (2) |
|
|
8 | (2) |
|
|
10 | (5) |
I Enabling Technologies |
|
|
An Overview of Cluster Computing |
|
|
15 | (16) |
|
|
|
|
|
A Taxonomy of Parallel Computing |
|
|
16 | (3) |
|
Hardware System Structure |
|
|
19 | (6) |
|
|
19 | (4) |
|
|
23 | (2) |
|
|
25 | (1) |
|
|
25 | (2) |
|
|
27 | (2) |
|
|
29 | (2) |
|
|
31 | (30) |
|
|
|
|
|
Overview of a Beowulf Node |
|
|
32 | (6) |
|
|
34 | (1) |
|
|
35 | (3) |
|
|
38 | (3) |
|
|
39 | (1) |
|
|
39 | (1) |
|
|
40 | (1) |
|
|
40 | (1) |
|
|
41 | (2) |
|
|
43 | (3) |
|
|
43 | (1) |
|
|
43 | (1) |
|
|
44 | (1) |
|
Memory Hierarchy and Caches |
|
|
45 | (1) |
|
|
46 | (1) |
|
|
46 | (1) |
|
|
47 | (2) |
|
|
49 | (1) |
|
Example of a Beowulf Node |
|
|
50 | (1) |
|
Boxes, Shelves, Piles, and Racks |
|
|
50 | (2) |
|
|
52 | (9) |
|
|
53 | (1) |
|
|
54 | (1) |
|
|
55 | (1) |
|
|
56 | (1) |
|
Installing the Other Components |
|
|
57 | (2) |
|
|
59 | (2) |
|
|
61 | (34) |
|
|
|
|
|
Introduction to Windows 2000 |
|
|
61 | (1) |
|
|
61 | (11) |
|
|
63 | (1) |
|
|
64 | (1) |
|
Symmetric Multiprocessing |
|
|
65 | (2) |
|
|
67 | (1) |
|
Processes, Threads, and Jobs |
|
|
68 | (2) |
|
|
70 | (1) |
|
|
71 | (1) |
|
|
72 | (19) |
|
Environment Subsystems and Subsystem DLLs |
|
|
74 | (5) |
|
|
79 | (1) |
|
|
80 | (2) |
|
|
82 | (2) |
|
Hardware Abstraction Layer |
|
|
84 | (1) |
|
|
85 | (1) |
|
|
86 | (5) |
|
|
91 | (1) |
|
Tools to Explore Windows 2000 |
|
|
91 | (4) |
|
Windows 2000 Support Tools |
|
|
92 | (1) |
|
Windows 2000 Resource Kits |
|
|
92 | (1) |
|
|
92 | (1) |
|
|
92 | (1) |
|
|
93 | (2) |
|
|
95 | (18) |
|
|
|
|
|
Interconnect Technologies |
|
|
95 | (5) |
|
|
96 | (1) |
|
|
97 | (1) |
|
|
98 | (1) |
|
Scalable Coherent Interface |
|
|
99 | (1) |
|
|
99 | (1) |
|
|
100 | (1) |
|
A Detailed Look at Ethernet |
|
|
100 | (6) |
|
|
100 | (2) |
|
|
102 | (3) |
|
|
105 | (1) |
|
Network Practicalities: Interconnect Choice |
|
|
106 | (7) |
|
Importance of the Interconnect |
|
|
106 | (1) |
|
Differences between the Interconnect Choices |
|
|
107 | (1) |
|
Strategies to Improve Performance over Ethernet |
|
|
108 | (1) |
|
|
109 | (1) |
|
An Example of an Ethernet Interconnected Beowulf |
|
|
110 | (1) |
|
An Example of a Myrinet Interconnecet Cluster |
|
|
111 | (2) |
|
|
113 | (36) |
|
|
|
|
|
Windows 2000 Networking Components |
|
|
113 | (1) |
|
|
114 | (18) |
|
Named Pipes and Mailslots |
|
|
115 | (6) |
|
|
121 | (4) |
|
|
125 | (2) |
|
|
127 | (4) |
|
|
131 | (1) |
|
Network-Resource Name Resolution |
|
|
132 | (6) |
|
|
133 | (3) |
|
|
136 | (2) |
|
|
138 | (1) |
|
|
138 | (3) |
|
|
141 | (7) |
|
Variations on the NDIS Miniport |
|
|
144 | (1) |
|
|
144 | (4) |
|
|
148 | (1) |
|
Setting Up Clusters: Installation and Configuration |
|
|
149 | (8) |
|
|
|
|
|
|
149 | (5) |
|
|
149 | (1) |
|
|
150 | (3) |
|
|
153 | (1) |
|
|
153 | (1) |
|
Basic Windows 2000 Cluster Installation Procedure |
|
|
154 | (1) |
|
|
155 | (2) |
|
|
157 | (10) |
|
|
|
|
|
|
157 | (3) |
|
|
160 | (1) |
|
|
160 | (2) |
|
The NAS Parallel Benchmark Suite |
|
|
162 | (5) |
II Parallel Programming |
|
|
Parallel Programming with MPI |
|
|
167 | (32) |
|
|
|
|
|
|
|
|
|
|
168 | (7) |
|
Compiling and Running MPI Programs |
|
|
169 | (2) |
|
Adding Communication to Hello World |
|
|
171 | (4) |
|
|
175 | (5) |
|
Two-Dimensional Jacobi Example with One-Dimensional Decomposition |
|
|
180 | (4) |
|
|
184 | (5) |
|
Parallel Monte Carlo Computation |
|
|
189 | (1) |
|
Installing MPICH under Windows 2000 |
|
|
189 | (3) |
|
|
192 | (1) |
|
|
192 | (1) |
|
Visualizing Parallel Program Behavior |
|
|
193 | (1) |
|
MPI Implementations for Clusters |
|
|
193 | (1) |
|
|
193 | (6) |
|
Advanced Topics in MPI Programming |
|
|
199 | (36) |
|
|
|
|
|
|
|
|
|
Dynamic Process Management in MPI |
|
|
199 | (3) |
|
|
199 | (1) |
|
Spawning New MPI Processes |
|
|
200 | (1) |
|
Revisiting Matrix-Vector Multiplication |
|
|
200 | (2) |
|
More on Dynamic Process Management |
|
|
202 | (1) |
|
|
202 | (2) |
|
Revisiting Mesh Exchanges |
|
|
204 | (7) |
|
Blocking and Nonblocking Communication |
|
|
205 | (2) |
|
Communicating Noncontiguous Data in MPI |
|
|
207 | (4) |
|
Motivation for Communicators |
|
|
211 | (2) |
|
More on Collective Operations |
|
|
213 | (2) |
|
|
215 | (6) |
|
|
217 | (2) |
|
|
219 | (2) |
|
|
221 | (3) |
|
|
224 | (2) |
|
|
226 | (1) |
|
Measuring MPI Performance |
|
|
227 | (2) |
|
|
227 | (1) |
|
|
227 | (1) |
|
|
228 | (1) |
|
|
229 | (1) |
|
|
229 | (6) |
|
Parallel Programming with PVM |
|
|
235 | (44) |
|
|
|
|
|
|
|
|
|
|
235 | (5) |
|
|
240 | (1) |
|
|
240 | (4) |
|
|
244 | (5) |
|
|
249 | (6) |
|
One-Dimensional Heat Equation |
|
|
255 | (8) |
|
|
263 | (5) |
|
|
263 | (2) |
|
|
265 | (2) |
|
|
267 | (1) |
|
|
268 | (2) |
|
|
270 | (3) |
|
|
273 | (6) |
|
|
275 | (1) |
|
|
275 | (1) |
|
|
276 | (3) |
|
Fault-Tolerant and Adaptive Programs with PVM |
|
|
279 | (20) |
|
|
|
|
|
|
|
|
|
Considerations for Fault Tolerance |
|
|
280 | (1) |
|
Building Fault-Tolerant Parallel Applications |
|
|
281 | (6) |
|
|
287 | (12) |
III Managing Clusters |
|
|
Cluster Workload Management |
|
|
299 | (8) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Goal of Workload Management Software |
|
|
299 | (1) |
|
Workload Management Activities |
|
|
300 | (7) |
|
|
300 | (1) |
|
|
301 | (1) |
|
|
302 | (2) |
|
|
304 | (1) |
|
|
305 | (2) |
|
Condor: A Distributed Job Scheduler |
|
|
307 | (38) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 | (5) |
|
|
308 | (1) |
|
Understanding Condor ClassAds |
|
|
309 | (3) |
|
|
312 | (14) |
|
|
312 | (1) |
|
|
313 | (3) |
|
Overview of User Commands |
|
|
316 | (6) |
|
Submitting Different Types of Jobs: Alternative Universes |
|
|
322 | (1) |
|
Giving Your Job Access to Its Data Files |
|
|
323 | (2) |
|
|
325 | (1) |
|
|
326 | (4) |
|
|
327 | (1) |
|
The Condor Daemons in Action |
|
|
328 | (2) |
|
Installing Condor under Windows 2000 |
|
|
330 | (2) |
|
|
332 | (5) |
|
Location of Condor's Configuration Files |
|
|
332 | (1) |
|
Recommended Configuration File Layout for a Cluster |
|
|
333 | (1) |
|
Customizing Condor's Policy Expressions |
|
|
334 | (2) |
|
Customizing Condor's Other Configuration Settings |
|
|
336 | (1) |
|
|
337 | (2) |
|
Remote Configuration and Control |
|
|
337 | (1) |
|
|
338 | (1) |
|
User Priorities in Condor |
|
|
338 | (1) |
|
|
339 | (4) |
|
Basic Configuration: Uniformly Owned Cluster |
|
|
340 | (1) |
|
Using Multiprocessor Compute Nodes |
|
|
340 | (1) |
|
Scheduling a Distributively Owned Cluster |
|
|
341 | (1) |
|
Submitting to the Cluster from Desktop Workstations |
|
|
342 | (1) |
|
Expanding the Cluster to Nondedicated (Desktop) Computing Resources |
|
|
343 | (1) |
|
|
343 | (2) |
|
Maui Scheduler: A Multifunction Cluster Scheduler |
|
|
345 | (18) |
|
|
|
|
|
|
345 | (1) |
|
Installation and Initial Configuration |
|
|
346 | (1) |
|
|
346 | (1) |
|
|
346 | (1) |
|
|
347 | (1) |
|
|
347 | (12) |
|
Assigning Value: Job Prioritization and Node Allocation |
|
|
348 | (2) |
|
Fairness: Throttling Policies and Fairshare |
|
|
350 | (2) |
|
Managing Resource Access: Reservations, Allocation Managers, and Quality of Service |
|
|
352 | (3) |
|
Optimizing Usage: Backfill, Node Sets, and Preemption |
|
|
355 | (2) |
|
Evaluating System Performance: Diagnostics, Profiling, Testing, and Simulation |
|
|
357 | (2) |
|
Steering Workload and Improving Quality of Information |
|
|
359 | (2) |
|
|
361 | (1) |
|
|
361 | (2) |
|
PBS: Portable Batch System |
|
|
363 | (22) |
|
|
|
|
|
|
363 | (4) |
|
|
364 | (1) |
|
|
364 | (2) |
|
|
366 | (1) |
|
|
367 | (5) |
|
|
368 | (1) |
|
|
368 | (2) |
|
Getting the Status of a PBS Job |
|
|
370 | (1) |
|
|
370 | (1) |
|
Using the PBS Graphical User Interface |
|
|
370 | (1) |
|
PBS Application Programming Interface |
|
|
371 | (1) |
|
|
372 | (1) |
|
|
373 | (6) |
|
Network Addresses and PBS |
|
|
373 | (1) |
|
|
373 | (1) |
|
|
374 | (2) |
|
|
376 | (1) |
|
|
377 | (1) |
|
|
378 | (1) |
|
|
378 | (1) |
|
|
379 | (2) |
|
|
379 | (1) |
|
|
380 | (1) |
|
|
380 | (1) |
|
|
381 | (1) |
|
|
381 | (4) |
|
Clients Unable to Contact Server |
|
|
381 | (1) |
|
|
382 | (1) |
|
|
383 | (1) |
|
|
383 | (2) |
|
MPI Software Technology, Inc., Cluster CoNTroller |
|
|
385 | (14) |
|
|
|
|
|
Overview of Cluster CoNTroller |
|
|
385 | (1) |
|
|
386 | (1) |
|
|
386 | (1) |
|
Installation Configuration |
|
|
386 | (2) |
|
|
386 | (1) |
|
|
387 | (1) |
|
|
387 | (1) |
|
|
388 | (1) |
|
|
388 | (1) |
|
|
388 | (1) |
|
|
389 | (8) |
|
|
390 | (4) |
|
|
394 | (3) |
|
|
397 | (2) |
|
|
399 | (12) |
|
|
|
|
|
|
399 | (1) |
|
|
400 | (2) |
|
|
400 | (1) |
|
|
400 | (1) |
|
|
400 | (1) |
|
|
401 | (1) |
|
General-Purpose Compute Cluster, Velocity I |
|
|
401 | (1) |
|
Strategic Application Compute Cluster, Velocity I Plus |
|
|
402 | (1) |
|
|
402 | (2) |
|
Computational Materials Institute Cluster |
|
|
402 | (1) |
|
Social Sciences and Economics Research Cluster |
|
|
403 | (1) |
|
Agricultural Bioinformatics Cluster |
|
|
403 | (1) |
|
|
404 | (1) |
|
Computational Finance Cluster |
|
|
404 | (1) |
|
|
404 | (1) |
|
|
404 | (1) |
|
Windows 2000-Based Cave Environment |
|
|
405 | (1) |
|
Providing a Consistent User Interface |
|
|
405 | (4) |
|
|
406 | (1) |
|
|
407 | (1) |
|
|
408 | (1) |
|
Helping Users Get Started |
|
|
409 | (1) |
|
Batch and Interactive Job Scheduling |
|
|
409 | (1) |
|
|
409 | (2) |
|
|
411 | (8) |
|
|
|
|
|
Future Directions for Hardware Components |
|
|
411 | (2) |
|
Future Directions for Software Components |
|
|
413 | (3) |
|
|
416 | (3) |
A Glossary of Terms |
|
419 | (12) |
B Annotated Reading List |
|
431 | (2) |
C Annotated URLs |
|
433 | (4) |
References |
|
437 | (2) |
Index |
|
439 | |