The primary question to be answered while designing a beowulf is whether
or not any beowulf (or cluster, or parallel supercomputer) at all will
be useful for solving your problem. Some problems parallelize
beautifully and simply. Others parallelize well, but not at all simply.
Most computational ``problems'', objectively speaking, probably
don't parallelize at all, or at least not well enough to benefit from a
parallel execution environment that costs any money at all to set up.

For this reason the design process reads a bit like a game - go forward
two steps, go back three steps, quit (you lose). This cannot be helped.
Engineering is a back and forth process, and even a power hammer like a
beowulf simply won't drive a single-threaded screw2.1. The most expensive mistake you can make is building a
beowulf for a problem and then discovering that it doesn't speed up the
solution at all, or even slows it down.

The following protocol will help you avoid this and other expensive
mistakes, and should guide you in your reading of the parts and chapters
of this book.