[Beowulf] Adding Latency to a Cluster Environment

William Gropp gropp at mcs.anl.gov
Fri Feb 13 14:01:25 EST 2004

At 11:44 AM 2/13/2004, Bogdan Costescu wrote:
>On Fri, 13 Feb 2004 joshh at cs.earlham.edu wrote:
> > Here is an irregular question. I am profiling a software package that runs
> > over LAM-MPI on 16 node clusters [Details Below]. I would like to measure
> > the effect of increased latency on the run time of the program.
>It appears that in your setup MPI uses TCP/IP as underlying protocol.
>Latency is a fuzzy parameter in TCP/IP. Adding to something fuzzy gives a
>fuzzy result.  So there :-)
>- modify the routines that make MPI calls to call instead some wrapper
>routines that do some thumb twiddling before making the MPI call; this
>requires modification of the program source

Actually, this is not necessary, as long as you have the object files, not 
just the executable.  The MPI profiling interface could be used to add 
latency to every send and receive operation; adding latency to collectives 
will require some care, as the exact set of communication operations that 
an MPI implementation uses is up to the implementation.  Simply write your 
own MPI routine and call the PMPI version (e.g., for MPI_Send, call 
PMPI_Send) after adding some latency.

Note also that MPI may use any communication mechanism.  Even on small 
clusters, it may use something besides TCP (e.g., when the network is 
Infiniband).  MPI on SMPs often uses a collection of communication approaches.


Beowulf mailing list, Beowulf at beowulf.org
To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf

More information about the Beowulf mailing list