Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] Any scientific application heavilyusing MPI_Barrier?
From: Ralph Castain (rhc_at_[hidden])
Date: 2009-03-05 11:08:28


On Mar 5, 2009, at 8:50 AM, Joe Landman wrote:

> Jeff Squyres wrote:
>> On Mar 5, 2009, at 10:33 AM, Gerry Creager wrote:
>>> We've been playing with it in a coupled atmosphere-ocean model to
>>> allow
>>> the two to synchronize and exchange data. The models have differing
>>> levels of physics complexity and the time step requirements are
>>> significantly different. To sync them up we have to know where the
>>> timesteps are identical, stop the process, exchange data and
>>> continue.
>>> We've been playing with barrier to help.
>>>
>> I'm not sure I understand -- "help" meaning what?
>> If you're exchanging data at the end of an iteration, then you
>> effectively have a synchronization anyway -- no need for an extra
>> barrier synchronization.
>
> Hi Jeff and Gerry:
>
> I think what Gerry means is that they have 2 distinct models
> running as different processes, and every now and then, the time
> steps of the models agree ... so both models register the same time
> to within some uncertainty or pre-defined accuracy. At that point,
> they exchange information. So it is not necessarily a
> synchronization at every time step, its likely at every Nth time
> step for one code, and every Mth for the other code. Of course this
> assumes fixed size time steps which might not be the case.
>
> Regardless, at the point where the times are determined to be
> equal, the models need to exchange data. Which means if one got
> there sooner than the other, that one has to wait for the other.
> Continuing calculating without the data exchange would be, I am
> guessing, a waste of processor cycles as the models are coupled, and
> continuing without the coupling would be incorrect.

Ummm....not to put gasoline on the fire, but...if the data exchange is
blocking, why do you need to call a barrier op first? Just use an
appropriate blocking data exchange call (collective or whatever) and
it will "barrier" anyway.

>
>
> Joe
>
>
>
>
>
> --
> Joseph Landman, Ph.D
> Founder and CEO
> Scalable Informatics LLC,
> email: landman_at_[hidden]
> web : http://www.scalableinformatics.com
> http://jackrabbit.scalableinformatics.com
> phone: +1 734 786 8423 x121
> fax : +1 866 888 3112
> cell : +1 734 612 4615
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users