  Small Beowulf clusters can effectively serve as personal or group
supercomputers. In such an environment, a cluster can be optimally designed for
a specific problem (or a small set of codes). We discuss how theoretical
analysis of the code and benchmarking on similar hardware lead to optimal
systems.
