Archives


- Beowulf
- Beowulf Announce
- Scyld-users
- Beowulf on Debian

[Beowulf] Why is communication so expensive for very small messages?

Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.

Search

Jonathan Boyle j.boyle at manchester.ac.uk
Tue Apr 24 08:54:49 PDT 2007


I apologise if this is a naive question, but I'm new to this world of 
beowulfs.

I'm using C++/mpi, to get a feel for communication costs I ran tests using 
mpptest and my own programs.

For 2 processor blocking calls, mpptest indicates a latency of about 30 
microseconds.

However when I measure communication times in my own program using a loop as 
follows....
   
MPI_Barrier(MPI_COMM_WORLD);
start = MPI_Wtime();
for (unsigned t=1; t<=5000; t++)
{
 if (my_rank==0)
 {
  MPI_Send(data, size, MPI_INT, 1, tag, MPI_COMM_WORLD);
 }
 else
 {
  MPI_Recv(data, size, MPI_INT, 0, tag, MPI_COMM_WORLD, &status);
 }
}
end = MPI_Wtime();

for size>=4, I get a latency of about 30 microseconds as expected, however for 
size<4, communication costs increase massively, and latency now appears to be 
1ms!

Firstly, I assume this isn't normal?

Secondly, can anyone suggest what's going on, or where I can go for more 
information.

Many thanks.

We're using mpich.

Processors are Intel(R) Xeon(TM) CPU 3.60GHz.

Interconnects are Dell PowerConnect 5324 24-port gigabit switches.





More information about the Beowulf mailing list