[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