[Beowulf] Parallel Programming Question
Ashley Pittman
ashley at pittman.co.uk
Wed Jul 1 09:10:20 PDT 2009
On Fri, 2009-06-26 at 23:30 -0700, Bill Broadley wrote:
> Keep in mind that when you say broadcast that many (not all) MPI
> implementations do not do a true network layer broadcast... and that
> in most
> situations network uplinks are distinct from the downlinks (except for
> the
> ACKs).
>
> If all clients need all input files you can achieve good performance
> by either
> using a bit torrent approach (send 1/N of the file to each of N
> clients then
> have them re-share it), or even just a simple chain. Head -> node A
> -> node B
> -> node C. This works better than you might think since Node A can
> start
> uploading immediately and the upload bandwidth doesn't compete with
> the
> download bandwidth (well not much usually).
What you are recommending here is for Amjad to re-implement
MPI_Broadcast() in his code which is something I would consider a very
bad idea. The collectives are a part of MPI for a reason, it's a lot
easier for the library to know about your machine than it is for you to
know about it, having users re-code parts of the MPI library inside
their application is both a waste of programmers time and is also likely
to make the application run slower.
Yours,
Ashley Pittman.
--
Ashley Pittman, Bath, UK.
Padb - A parallel job inspection tool for cluster computing
http://padb.pittman.org.uk
More information about the Beowulf
mailing list