[Beowulf] What now?
hahn at physics.mcmaster.ca
Wed Aug 18 06:58:38 PDT 2004
> to MPI, it just runs the same code on all the nodes. How might I split it up?
> Ie, have one node that comes up with numbers and keeps track, and others that
> test if it's prime?
you bet, that's the first and most obvious approach. books on parallel
programming often call this the master-worker model. it has obvious
shortcomings, such as what if the master is too busy, or not busy enough?
the model can also involve too much communication, if a single work unit
doesn't take the worker long enough to solve. so it's common to pass out
work units containing a whole range of candidates. further, consider
factorization when implemented by division by primes - workers need to know
all primes up to sqrt(candidate), so you might have to pass along any
new-found primes to workers, as well.
for extra credit, figure out a way to use only peers, rather than
master-worker. this is usually very easy if you map an MPI process's
rank onto a regular grid. notice that regular grids become a problem
if the work is not uniform for each grid cell - BANG! you've reached
adaptive grids, which is pretty close to the state of the art, and now
know everthing there is to know about parallel programming ;)
> I don't really expect an answer to that question, I was simply wondering if
> anyone might know of some articles/tutorial/etc that deal with this.
a trip to a library or bookstore will be very rewarding, really. books on
MPI and parallel programming will cover this stuff.
regards, mark hahn.
More information about the Beowulf