Like distributed computing, clusters are a hot topic in the current computing climate. The reason is simple, with the explosion of Linux and cheaper components it’s actually become quite simple and inexpensive to put together a relatively high-powered cluster. Driving the cluster production is an increased need for computing power as applications are developed for different situations. For example, graphics rendering—often used in films and TV, as well as custom applications—and computer-based modelling of complex environment such as weather systems or DNA, all require vast quantities of computing power.
In High Performance Linux Clusters (published by O’Reilly), Joseph D Sloan provides a comprehensive guide to building and deploying cluster solutions. Starting from the mechanics of hardware and operating systems right through to deployment and administration tools, the book provides everything you should need to get started.
A brief look through the book shows you that the scope of the title is wide, but it’s also not lacking information. There’s content on setting up your cluster, managing it, and profiling and debugging it to achieve the best performance.
Sloan has an easy to read but highly effective writing style that handles the complicated topics with apparent ease
The approach of the book is a straightforward lead through from the basics to the more advanced topics. The introductory chapter should be required reading for anybody who isn’t already familiar with clusters or indeed many other types of high performance computing (HPC). It would probably be a good idea for those that think they know about HPC to read this too as it serves as an excellent introduction not only to clusters but also single and multi-processor computing and the basics of distributed computing too.
Sloan has an easy to read but highly effective writing style that handles the complicated topics with apparent ease and this is best demonstrated with the next few chapters where he looks at the theoretical side of clusters; the planning and decisions that should be made before you start plugging machines together and installing software. By Chapter 4 we’re into the finer points of selecting and installing Linux.
Part II looks at some of the “turnkey” solutions for getting your Linux cluster up and running: openMosix, OSCAR and Rocks. As with chapters in the previous section, the information supplied is extensive with little left to guess work or the imagination if this is the route you want to take.
For more custom and personalized clusters, Part III offers information on specific tools you’ll need such as development libraries, management software and the PVFS parallel filesystem.
The final part—part IV—looks at programming for your cluster. This sections concentrates on using MPI—one of the best and most practical solutions for writing cluster software. Again, the approach is simple and exceedingly practical, starting with a look at a serial application designed to run on a single computer, and then moving on to the same problem but written with a cluster in mind. Finally, the author finishes up with information on how to debug and profile parallel applications.
Anybody who is using, or thinking of using, a cluster should find this book useful. There’s a lot of information here from the design of your cluster right up to the implementation and usage of the cluster. Administrators, managers and developers should get a lot of use out of the book.
It’s also going to appeal to the hobbyist and enthusiast who wants to build their own small cluster. There is nothing elitist about the book and the subject matter—clusters on Linux on commodity hardware—means that many people may decide to build their cluster in their garage.
If you are interested in clusters—even from a purely theoretical standpoint—this book is a good guide. Aside from knowledge of computing and Linux, the author doesn’t expect you to have any previous experience with clusters. He doesn’t talk down to you either and that makes the information and techniques covered in the book easy to use and understand.
It’s also hard to imagine that you will need any other information that isn’t already covered in the book—there is so much detail, in such a wide range that the book acts as a one stop shop for cluster computing. As if that wasn’t enough, the author has also included an impressive list of other references, books and websites, just in case you want more specific details.
I really can’t suggest any reasons why you shouldn’t buy this book. There are one or two inevitable typos, but nothing that detracts or misleads, and there are a few websites I was surprised to see missing. But really, I’m scraping the barrel on what is an excellent book that I would recommend to anybody with even a passing interest in clusters.
|Title||High Performance Linux Clusters|
|Author||Joseph D Sloan|
|Mark (out of 10)||10|