SMP vs. Beowulf?
William R. Pearson
wrp at alpha0.bioch.virginia.edu
Thu Dec 2 15:18:22 EST 1999
We have not looked into SMP vs Beowulf exhaustively, but we have quite
a bit of experience.
(1) SMP is far easier to configure and run than PVM (or MPI or
others). You just run the program; if its threaded SMP, it runs
faster. SMP programs are also much easier to develop and debug.
(2) Our current PVM implementation is not as CPU efficient as spawning
a bunch of threaded fasta33_t runs when the algorithm is fast.
For Smith-Waterman, which is compute bound, they are equally
efficient. In line with point (1), I think it is easier to
improve the performance of an SMP program. I don't think this is
an inherent shortcoming of PVM, but reflect the fact that our PVM
implementaion (and very primitive scheduling system) was build
when machines and interconnections were much slower.
(3) However, we have not yet found a version of Linux Pthreads that
works 100% of the time. With the kernal and C-libraries that we
use, we see failures which are almost certainly caused by Linux
Pthreads. (We never see them in any other environment, and we
don't see them unthreaded.) Linux PVM is very reliable.
So we use both. We use PVM for genome-vs-genome Smith-Waterman
searches, and we use SMP threaded versions for our WWW
server. Starting up PVM (or any other system that spawns large numbers
of jobs on other machines) has a high overhead, which isn't worth the
cost when the search will be done in a few minutes - we don't see
nearly as much overhead with SMP machines. But large SMP machines are
considerably more expensive. A cost-effective solution is a WWW
server that sends its searches to a bank of 1-CPU or 2-CPU machines.
More information about the Bio-soft