Preface
Clusters built from
open source software, particularly based on the GNU/Linux operating
system, are increasingly popular. Their success is not hard to
explain because they can cheaply solve an ever-widening range of
number-crunching applications. A wealth of open source or free
software has emerged to make it easy to set up, administer, and
program these clusters. Each individual package is accompanied by
documentation, sometimes very rich and thorough. But knowing where to
start and how to get the different pieces working proves daunting for
many programmers and administrators.
This book is an overview of the issues that new cluster
administrators have to deal with in making clusters meet their needs,
ranging from the initial hardware and software choices through
long-term considerations such as performance.
This book is not a substitute for the documentation that accompanies
the software that it describes. You should download and read the
documentation for the software. Most of the documentation available
online is quite good; some is truly excellent.
In writing this book, I have evaluated a large number of programs and
selected for inclusion the software I believe is the most useful for
someone new to clustering. While writing descriptions of that
software, I culled through thousands of pages of documentation to
fashion a manageable introduction. This book brings together the
information you'll need to get started. After
reading it, you should have a clear idea of what is possible, what is
available, and where to go to get it. While this book
doesn't stand alone, it should reduce the amount of
work you'll need to do. I have tried to write the
sort of book I would have wanted when I got started with clusters.
The software described in this book is freely available, open source
software. All of the software is available for use with Linux;
however, much of it should work nicely on other platforms as well.
All of the software has been installed and tested as described in
this book. However, the behavior or suitability of the software
described in this book cannot be guaranteed. While the material in
this book is presented in good faith, neither the author nor
O'Reilly Media, Inc. makes any explicit or implied
warranty as to the behavior or suitability of this software. We
strongly urge you to evaluate the software and information provided
in this book as appropriate for your own circumstances.
One of the more important developments in the short life of high
performance clusters has been the creation of
cluster
installation kits such as
OSCAR and
Rocks. With software
packages like these, it is possible to install everything you need
and very quickly have a fully functional cluster. For this reason,
OSCAR and Rocks play a central role in this book.
OSCAR and Rocks are composed of a number of different independent
packages, as well as customizations available only with each kit. A
fully functional cluster will have a number of software packages each
addressing a different need, such as programming, management, and
scheduling. OSCAR and Rocks use a best-in-category approach,
selecting the best available software for each type of
cluster-related task. In addition to the core software, other
compatible packages are available as well. Consequently, you will
often have several products to choose from for any given need.
Most of the software included in OSCAR or Rocks is significant in its
own right. Such software is often nontrivial to install and takes
time to learn to use to its full potential. While both OSCAR and
Rocks automate the installation process, there is still a lot to
learn to effectively use either kit. Installing OSCAR or Rocks is
only the beginning.
After some basic background information, this book describes the
installation of OSCAR and then Rocks. The remainder of the book
describes in greater detail much of the software found in these
packages. In each case, I describe the installation, configuration,
and use of the software apart from OSCAR or Rocks. This should
provide the reader with the information he will need to customize the
software or even build a custom cluster bypassing OSCAR or Rocks
completely, if desired.
I have also included a chapter on
openMosix in this
book, which may seem an odd choice to some. But there are several
compelling reasons for including this information. First, not
everyone needs a world-class high-performance cluster. If you have
several machines and would like to use them together, but
don't want the headaches that can come with a full
cluster, openMosix is worth investigating. Second, openMosix is a
nice addition to some more traditional clusters. Including openMosix
also provides an opportunity to review recompiling the Linux kernel
and an alternative kernel that can be used to demonstrate
OSCAR's kernel_picker. Finally,
I think openMosix is a really nice piece of software. In a sense, it
represents the future, or at least one possible future, for clusters.
I have described in detail (too much, some might say) exactly how I
have installed the software. Unquestionably, by the time you read,
this some of the information will be dated. I have decided not to
follow the practice of many authors in such situations, and offer
just vague generalities. I feel that readers benefit from seeing the
specific sorts of problems that appear in specific installations and
how to think about their solutions.
|