(no subject)

Erik Paulson epaulson at cs.wisc.edu
Thu Apr 11 14:26:24 PDT 2002


On Thu, Apr 11, 2002 at 05:01:24PM -0400, Eric Miller wrote:
> >> <Snip>
> >> Someone suggested
> >> SETI many months ago, which would be perfect, but SETI does not offer an
> MPI
> >> enabled program.
> >
> >What possible good would an MPI-enabled SETI at Home do? The whole point of
> >SETI at Home is that it's already parallelized.
> >
> 
> My definition of parrellelized is MPI or PVM enabled code, not _distributed_
> applications like SETI.  When demonstrating to students the capabilities of
> Linux, its not nearly as convincing to just start N number of instances on N
> nodes.  The magic stuff that we newbie cluster builders seek is not found in
> that.  It is found in having a bona-fide cluster with master and slave
> nodes, and a single instance of a program being managed and executed by a
> group of machines.  Am I alone in this opinion?
> 

Yes. What you'll discover is that there is no magic to cluster building. 
If your problem can be solved in parallel just by running N unmodified 
copies of your code, then that's the way to do it.  And there's tons of
science to be done this way (in fact, I'd bet there's more to be done this
way than with big MPI jobs)

If your codes to solve your problem need to be parallelized with MPI or
PVM for whatever reason (maybe you don't need to solve N instanances of your
code, just one instance and minimize the time, or you need more resources than
any one machine can handle - ie 32 gigs of RAM or some such) then you don't
really have a choice and you have to break down and do it. But again, there's
no magic here. There is not a single instance of you program on the cluster -
if your code is using N nodes, then there are N copies of your program on 
the cluster. (Yes, maybe you're using some quasi-SSI thing like Scyld or 
MOSIX, but as far as I know both of them still transfer the entire memory 
image over to the machine, and don't page things over as needed)

You can write a program that works exactly like an MPI program with 0 MPI
calls - whereever you'd write MPI_Send, just use BSD sockets and send things
that way. Tons more to do (you have to locate all the other processes in the
computation, you have to worry about buffering, failures, etc) but none of
it's unknown.

> >If you've got N nodes, submit N copies of SETI at home to your queuing system,
> >and your cluster will get an N times speedup over a single node. I don't
> see
> >how you can hope to do better than that.
> 
> I was aware of this possibility, but do not have the skills to implement it.

Yes you do.  Download Condor, or PBS, or Sun Grid Engine, or buy Platform LSF,
and:
A. Install it on N nodes
B. Submit N copies

or, install Scyld or MOSIX. Type:
my_program &

N times.

-Erik



More information about the Beowulf mailing list