Beowulf Cluster Computing with Windows

by
Format: Paperback
Pub. Date: 2001-10-26
Publisher(s): The MIT Press
  • Free Shipping Icon

    This Item Qualifies for Free Shipping!*

    *Excludes marketplace orders.

List Price: $67.20

Buy New

Arriving Soon. Will ship when available.
$64.00

Rent Textbook

Select for Price
There was a problem. Please try again later.

Used Textbook

We're Sorry
Sold Out

eTextbook

We're Sorry
Not Available

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

Beowulf clusters, which exploit mass-market PC hardware and software in conjunction with cost-effective commercial network technology, are becoming the platform for many scientific, engineering, and commercial applications. With growing popularity has come growing complexity. Addressing that complexity, Beowulf Cluster Computing with Linux and Beowulf Cluster Computing with Windows provide system users and administrators with the tools they need to run the most advanced Beowulf clusters. The book is appearing in both Linux and Windows versions in order to reach the entire PC cluster community, which is divided into two distinct camps according to the node operating system. Each book consists of three stand-alone parts. The first provides an introduction to the underlying hardware technology, assembly, and configuration. The second part offers a detailed presentation of the major parallel programming librairies. The third, and largest, part describes software infrastructures and tools for managing cluster resources. This includes some of the most popular of the software packages available for distributed task scheduling, as well as tools for monitoring and administering system resources and user accounts. Approximately 75% of the material in the two books is shared, with the other 25% pertaining to the specific operating system. Most of the chapters include text specific to the operating system. The Linux volume includes a discussion of parallel file systems.

Author Biography

Thomas Sterling is Senior Staff Scientist in the High Performance Computing Systems Group at the Jet Propulsion Laboratory

Table of Contents

Series Foreword xix
Foreword xxi
Preface xxix
Introduction
1(14)
Thomas Sterling
Definitions and Taxonomy
1(2)
Opportunities and Advantages
3(3)
A Short History
6(2)
Elements of a Cluster
8(2)
Description of the Book
10(5)
I Enabling Technologies
An Overview of Cluster Computing
15(16)
Thomas Sterling
A Taxonomy of Parallel Computing
16(3)
Hardware System Structure
19(6)
Beowulf Compute Nodes
19(4)
Interconnection Networks
23(2)
Node Software
25(1)
Resource Management
25(2)
Distributed Programming
27(2)
Conclusions
29(2)
Node Hardware
31(30)
Thomas Sterling
Overview of a Beowulf Node
32(6)
Principal Specifications
34(1)
Basic Elements
35(3)
Processors
38(3)
Intel Pentium Family
39(1)
AMD Athlon
39(1)
Compaq Alpha 21264
40(1)
IA64
40(1)
Motherboard
41(2)
Memory
43(3)
Memory Capacity
43(1)
Memory Speed
43(1)
memory Types
44(1)
Memory Hierarchy and Caches
45(1)
Package Styles
46(1)
BIOS
46(1)
Secondary Storage
47(2)
PCI Bus
49(1)
Example of a Beowulf Node
50(1)
Boxes, Shelves, Piles, and Racks
50(2)
Node Assembly
52(9)
Motherboard Preassembly
53(1)
The Case
54(1)
Minimal Peripherals
55(1)
Booting the System
56(1)
Installing the Other Components
57(2)
Troubleshooting
59(2)
Windows 2000
61(34)
David Solomon
Introduction to Windows 2000
61(1)
Operating System Model
61(11)
Memory Protection Model
63(1)
Portability
64(1)
Symmetric Multiprocessing
65(2)
Virtual Memory
67(1)
Processes, Threads, and Jobs
68(2)
Security
70(1)
Unicode
71(1)
System Architecture
72(19)
Environment Subsystems and Subsystem DLLs
74(5)
Ntdll.dll
79(1)
Executive
80(2)
Kernel
82(2)
Hardware Abstraction Layer
84(1)
Device Drivers
85(1)
System Processes
86(5)
Win32 API
91(1)
Tools to Explore Windows 2000
91(4)
Windows 2000 Support Tools
92(1)
Windows 2000 Resource Kits
92(1)
Debugging Tools
92(1)
Device Driver Kit
92(1)
Sysinternals Tools
93(2)
Network Hardware
95(18)
Thomas Sterling
Interconnect Technologies
95(5)
The Ethernets
96(1)
Myrinet
97(1)
cLAN
98(1)
Scalable Coherent Interface
99(1)
QsNet
99(1)
Infiniband
100(1)
A Detailed Look at Ethernet
100(6)
Packet Format
100(2)
NIC Architecture
102(3)
Hubs and Switches
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)
Cluster Network Pitfalls
109(1)
An Example of an Ethernet Interconnected Beowulf
110(1)
An Example of a Myrinet Interconnecet Cluster
111(2)
Windows 2000 Networking
113(36)
Mark Russionvich
Windows 2000 Networking Components
113(1)
Networking APIs
114(18)
Named Pipes and Mailslots
115(6)
Windows Sockets
121(4)
Windows Sockets Direct
125(2)
Remote Procedure Call
127(4)
Other Networking APIs
131(1)
Network-Resource Name Resolution
132(6)
Multiple Provider Router
133(3)
Multiple UNC Provider
136(2)
Domain Name System
138(1)
Protocol Drivers
138(3)
NDIS Drivers
141(7)
Variations on the NDIS Miniport
144(1)
Connection-Oriented NDIS
144(4)
Conclusion
148(1)
Setting Up Clusters: Installation and Configuration
149(8)
David Lifka
Resource Considerations
149(5)
Domain Controllers
149(1)
File Servers
150(3)
Login Nodes
153(1)
Compute Nodes
153(1)
Basic Windows 2000 Cluster Installation Procedure
154(1)
Off and Running
155(2)
How Fast Is My Beowulf?
157(10)
David Bailey
Metrics
157(3)
Ping-Pong Test
160(1)
The LINPACK Benchmark
160(2)
The NAS Parallel Benchmark Suite
162(5)
II Parallel Programming
Parallel Programming with MPI
167(32)
William Gropp
Ewing Lusk
Hello World in MPI
168(7)
Compiling and Running MPI Programs
169(2)
Adding Communication to Hello World
171(4)
Manager/Worker Example
175(5)
Two-Dimensional Jacobi Example with One-Dimensional Decomposition
180(4)
Collective Operations
184(5)
Parallel Monte Carlo Computation
189(1)
Installing MPICH under Windows 2000
189(3)
Tools
192(1)
Profiling Libraries
192(1)
Visualizing Parallel Program Behavior
193(1)
MPI Implementations for Clusters
193(1)
MPI Routine Summary
193(6)
Advanced Topics in MPI Programming
199(36)
William Gropp
Ewing Lusk
Dynamic Process Management in MPI
199(3)
Intercommunicators
199(1)
Spawning New MPI Processes
200(1)
Revisiting Matrix-Vector Multiplication
200(2)
More on Dynamic Process Management
202(1)
Fault Tolerance
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)
Paralle I/O
215(6)
A Simple Example
217(2)
A More Complex Example
219(2)
Remote Memory Access
221(3)
Using C++ and Fortran 90
224(2)
MPI, OpenMP, and Threads
226(1)
Measuring MPI Performance
227(2)
mpptest
227(1)
SKaMPI
227(1)
High Performance LINPACK
228(1)
MPI-2 Status
229(1)
MPI Routine Summary
229(6)
Parallel Programming with PVM
235(44)
Al Geist
Stephen Scott
Overview
235(5)
Program Examples
240(1)
Fork/Join
240(4)
Dot Product
244(5)
Matrix Multiply
249(6)
One-Dimensional Heat Equation
255(8)
Using PVM
263(5)
Setting Up PVM
263(2)
Starting PVM
265(2)
Running PVM Programs
267(1)
PVM Console Details
268(2)
Host File Options
270(3)
XPVM
273(6)
Network View
275(1)
Space-Time View
275(1)
Other Views
276(3)
Fault-Tolerant and Adaptive Programs with PVM
279(20)
Al Geist
Jim Kohl
Considerations for Fault Tolerance
280(1)
Building Fault-Tolerant Parallel Applications
281(6)
Adaptive Programs
287(12)
III Managing Clusters
Cluster Workload Management
299(8)
James Patton Jones
David Lifka
Bill Nitzberg
Todd Tannenbaum
Goal of Workload Management Software
299(1)
Workload Management Activities
300(7)
Queueing
300(1)
Scheduling
301(1)
Monitoring
302(2)
Resource Mangement
304(1)
Accounting
305(2)
Condor: A Distributed Job Scheduler
307(38)
Todd Tannenbaum
Derek Wright
Karen Miller
Miron Livny
Introduction to Condor
307(5)
Features of Condor
308(1)
Understanding Condor ClassAds
309(3)
Using Condor
312(14)
Roadmap to Using Condor
312(1)
Submitting a Job
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)
The DAGMan Scheduler
325(1)
Condor Architecture
326(4)
The Condor Daemons
327(1)
The Condor Daemons in Action
328(2)
Installing Condor under Windows 2000
330(2)
Configuring Condor
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)
Administration Tools
337(2)
Remote Configuration and Control
337(1)
Accounting and Logging
338(1)
User Priorities in Condor
338(1)
Cluster Setup Scenarios
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)
Conclusion
343(2)
Maui Scheduler: A Multifunction Cluster Scheduler
345(18)
David B. Jackson
Overview
345(1)
Installation and Initial Configuration
346(1)
Basic Configuration
346(1)
Simulation and Testing
346(1)
Production Scheduling
347(1)
Advanced Configuration
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)
Troubleshooting
361(1)
Conclusions
361(2)
PBS: Portable Batch System
363(22)
James Patton Jones
History of PBS
363(4)
Acquiring PBS
364(1)
PBS Features
364(2)
PBS Architecture
366(1)
Using PBS
367(5)
Creating a PBS Job
368(1)
Submitting a PBS Job
368(2)
Getting the Status of a PBS Job
370(1)
PBS Command Summary
370(1)
Using the PBS Graphical User Interface
370(1)
PBS Application Programming Interface
371(1)
Installing PBS
372(1)
Configuring PBS
373(6)
Network Addresses and PBS
373(1)
The Qmgr Command
373(1)
Nodes
374(2)
Creating or Adding Nodes
376(1)
Default Configuration
377(1)
Configuring MOM
378(1)
Scheduler Configuration
378(1)
Managing PBS
379(2)
Starting PBS Daemons
379(1)
Monitoring PBS
380(1)
Tracking PBS Jobs
380(1)
PBS Accounting Logs
381(1)
Troubleshooting
381(4)
Clients Unable to Contact Server
381(1)
Nodes Down
382(1)
Nondelivery of Output
383(1)
Job Cannot Be Executed
383(2)
MPI Software Technology, Inc., Cluster CoNTroller
385(14)
David Lifka
Overview of Cluster CoNTroller
385(1)
Strengths
386(1)
Availability
386(1)
Installation Configuration
386(2)
Login Nodes
386(1)
File Servers
387(1)
Compute Nodes
387(1)
Scheduler Node
388(1)
Security and Management
388(1)
Administrative Features
388(1)
User Commands
389(8)
Batch File Syntax
390(4)
Lifecycle of a Job
394(3)
Future Enhancements
397(2)
Cornell Theory Center
399(12)
David Lifka
CTC Users
399(1)
Systems Overview
400(2)
File Servers
400(1)
Login Nodes
400(1)
Development Cluster
400(1)
Serial Nodes
401(1)
General-Purpose Compute Cluster, Velocity I
401(1)
Strategic Application Compute Cluster, Velocity I Plus
402(1)
Dedicated Clusters
402(2)
Computational Materials Institute Cluster
402(1)
Social Sciences and Economics Research Cluster
403(1)
Agricultural Bioinformatics Cluster
403(1)
Corporate Cluster
404(1)
Computational Finance Cluster
404(1)
Other Cluster Resources
404(1)
Web Clusters
404(1)
Windows 2000-Based Cave Environment
405(1)
Providing a Consistent User Interface
405(4)
Remote Access Mechanisms
406(1)
Programming Environment
407(1)
Application Software
408(1)
Helping Users Get Started
409(1)
Batch and Interactive Job Scheduling
409(1)
CTC Success Story
409(2)
Conclusions
411(8)
Thomas Sterling
Future Directions for Hardware Components
411(2)
Future Directions for Software Components
413(3)
Final Thoughts
416(3)
A Glossary of Terms 419(12)
B Annotated Reading List 431(2)
C Annotated URLs 433(4)
References 437(2)
Index 439

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.