1.5 My Biases
The material
covered in this book reflects three of my biases, of which you should
be aware. I have tried to write a book to help people get started
with clusters. As such, I have focused primarily on mainstream,
high-performance computing, using open source software. Let me
explain why.
First, there are many approaches and applications for clusters. I do
not believe that it is feasible for any book to address them all,
even if a less-than-exhaustive approach is used. In selecting
material for this book, I have tried to use the approaches and
software that are the most useful for the largest number of people. I
feel that it is better to cover a limited number of approaches than
to try to say too much and risk losing focus. However, I have tried
to justify my decisions and point out options along the way so that
if your needs don't match my assumptions,
you'll at least have an idea where to start looking.
Second, in keeping with my goal of addressing mainstream applications
of clusters, the book primarily focuses on high-performance
computing. This is the application from which clusters grew and
remains one of their dominant uses. Since high availability and load
balancing tend to be used with mission-critical applications, they
are beyond the scope of a book focusing on getting started with
clusters. You really should have some basic experience with generic
clusters before moving on to such mission-critical applications. And,
of course, improved performance lies at the core of all the other
uses for clusters.
Finally, I have focused on open source software. There are a
number of proprietary solutions available, some of which are
excellent. But given the choice between comparable open source
software and proprietary software, my preference is for open source.
For clustering, I believe that high-quality, robust open source
software is readily available and that there is little justification
for considering proprietary software for most applications.
While I'll cover the basics of clusters here, you
would do well to study the specifics of clusters that closely match
your applications as well. There are a number of well-known clusters
that have been described in detail. A prime example is Google, with
literally tens of thousands of computers. Others include clusters at
Fermilab, Argonne National Laboratory (Chiba City cluster), and Oak
Ridge National Laboratory. Studying the architecture of clusters
similar to what you want to build should provide additional insight.
Hopefully, this book will leave you well prepared to do just that.
One last comment-if you keep reading, I promise not to mention
horses again.
|