To err is human.
O'Reilly and Associates are known far and wide for publishing the world's best computer books. However, once in a very long while, even they put out a true stinker. In July 2000, O'Reilly published Building Linux Clusters by David Spector. This book, and its companion CD-ROM, were advertised as an all-in-one introduction to the setup and management of Beowulf clusters. In fact, the book was a jumble of technical inaccuracy, broken software, and vaporware -- so much so that in early 2001, O'Reilly withdrew it from the market.
The first third of this book concerns itself not with building Linux clusters as the title might suggest, but with the history of supercomputing and with various styles of supercomputer -- of which the Beowulf is but one. The middle third concerns itself not with building Linux clusters but with documenting a piece of vaporware -- the cluster-management software allegedly contained on the CD-ROM. The latter third concerns itself not with building Linux clusters but with various "useful" parallel applications -- chiefly a MUD and an MP3 encoder.
If the text were completely useless, but the software on the CD had performed up to the claims of its documentation, the bundle might still be worth $45. Yet instead the software was wholly nonfunctional; many of the component programs are half-finished, or not written at all: the Perl script to add a computer to the managed cluster instead prints a notice saying, effectively, "This program is incomplete; please check O'Reilly's Web site for the complete version." Needless to say, the complete version was never released.
Today, a search for "building linux clusters" on O'Reilly's Web site yields an apology for the poor quality of this book. At least some purchasers of this book have received refunds, or free books, in response to their complaints. Indeed, I am told that the editor who approved Building Linux Clusters for publication is "no longer with O'Reilly". Truly, to err is human -- and in the case of a book this bad, to forgive should indeed not be company policy.
Oh, did you come to this node to find out how to actually build a Linux cluster? The Beowulf-HOWTO is a bit of help, but for step-by-step instructions I'd suggest the README and other documentation that come with whatever parallel processing library you're using -- such as MPICH. With that and a bit of IP masquerading to hide the necessary rsh, it's not hard to have a cluster up in a matter of hours. It's especially straightforward if you're familiar with Debian, as Debian's ipmasq and mpich packages do most of the work for you.
The layout of the testbed cluster I'm building for my employer is relatively simple: eight dual-processor Debian PCs on a 100baseTX switch, plus one single-processor box serving as IP masquerading gateway and MPI host. The gateway has the needed rsh access to the "cruncher" machines, and has a large disk which the crunchers NFS-mount to obtain programs and data. Users will be able to ssh to the gateway, compile their MPI programs, and submit them to the crunchers using mpirun.