Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Calling MPI_Test() too many times results in a time spike
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2010-12-15 20:39:45


On Nov 30, 2010, at 4:09 PM, Ioannis Papadopoulos wrote:

> The overall time may be the same, however it is alarming (at least to me) that if you call MPI_Test() too many times, the average time per MPI_Test() call increases. After all, that is what I am trying to measure, how much it costs to call MPI_Test() on average.
>
> In your MPI_Wtime() example, the average overhead of MPI_Wtime() is exactly the same, independently of max/min time - which is what I would expect. This is not true for MPI_Test(). A small delay before calling the later, lowers the MPI_Test() average time.

There is a difference between MPI_Test() and MPI_Wtime() -- wtime just calls gettimeofday() and doesn't do anything else. MPI_Test() trips the progression engine and therefore may do a variable number of things, some of which may involve I/O and/or memory allocation. Those are variable time tasks, depending on all kinds of factors on your system (as Eugene alluded to). This is doubly true if you're seeing it with two different MPI implementations.

So yes, there might be those small "spikes" that you're seeing (to be honest, I hesitate to use the word "spike" when dealing with such small numbers in TCP traffic). And they could be due to a lot of different things, many of which are beyond OMPI's control.

Have you seen if this has any impact on your actual application performance?

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/