Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] Mimicking timeout for MPI_Wait
From: Richard Treumann (treumann_at_[hidden])
Date: 2009-12-07 08:21:46

The need for a "better" timeout depends on what else there is for the CPU
to do.

If you get creative and shift from {99% MPI_WAIT , 1% OS_idle_process} to
{1% MPI_Wait, 99% OS_idle_process} at a cost of only a few extra
microseconds added lag on MPI_Wait, you may be pleased by the CPU load
statistic but still have have only hurt yourself. Perhaps you have not hurt
yourself much but for what? The CPU does not get tired of spinning in
MPI_Wait rather than in the OS_idle_process

Most MPI applications run with an essentially dedicated CPU per process. In
most MPI applications if even one task is sharing its CPU with other
processes, like users doing compiles, the whole job slows down too much.

There are exceptions. For example, a work farm, in which a master doles
out a chunk of work, takes back the result as a worker produces one and
then doles out another chunk can get valuable work from CPUs that have
other useful work to do too and in that situation it can be a big win to
accept lag time in the MPI_Wait in return for making the CPU available to
another process. The symptom that you need a "better" MPI_Wait then will
probably be more like {50% MPI_WAIT , 50% other process}

Dick Treumann - MPI Team
IBM Systems & Technology Group
Dept X2ZA / MS P963 -- 2455 South Road -- Poughkeepsie, NY 12601
Tele (845) 433-7846 Fax (845) 433-8363

users-bounces_at_[hidden] wrote on 12/06/2009 10:42:26 AM:

> [image removed]
> Re: [OMPI users] Mimicking timeout for MPI_Wait
> Katz, Jacob
> to:
> Open MPI Users
> 12/06/2009 10:47 AM
> Sent by:
> users-bounces_at_[hidden]
> Please respond to Open MPI Users
> Thanks, Douglas.
> I found your code in the archive.
> --------------------------------
> Jacob M. Katz | jacob.katz_at_[hidden] | Work: +972-4-865-5726 | iNet:
> (8)-465-5726
> -----Original Message-----
> From: users-bounces_at_[hidden] [mailto:users-bounces_at_[hidden]]
> On Behalf Of Douglas Guptill
> Sent: Sunday, December 06, 2009 15:53
> To: users_at_[hidden]
> Subject: Re: [OMPI users] Mimicking timeout for MPI_Wait
> On Sun, Dec 06, 2009 at 02:29:01PM +0200, Katz, Jacob wrote:
> > Thanks.
> > Yes, I meant in the question that I was looking for something
> creative, both fast responding and not using 100% CPU all the time.
> > I guess I’m not the first one to face this question. Have anyone
> done anything “better” than the simple solution?
> My MPI application is a two-process thing, in which data is thrown
> back and forth. For the most part, one process is calculating, and
> the other is waiting.
> I got tired of seeing both cpus at 100% load, and based on suggestions
> from Jeff Squyres and Eugene Loh, wrote MPI_Recv.c and MPI_Send.c. I
> load these with my application, and bingo! Only one cpu busy at any
> given time.
> They use a graduated sleep; the first sleep is short, the second is
> twice as long, and so on, up to a maximum sleep time.
> I sent the code along with my last message on the subject (December
> 2008, or later) so it should be in the archives. Failing that, I
> could post it again, if anyone wants it.
> Douglas.
> _______________________________________________
> users mailing list
> users_at_[hidden]
> ---------------------------------------------------------------------
> Intel Israel (74) Limited
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.
> _______________________________________________
> users mailing list
> users_at_[hidden]