Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: George Bosilca (bosilca_at_[hidden])
Date: 2007-02-13 19:10:44


It's already in the 1.2 !!! I don't know much you care about
performance, but I do. This patch increase by 10% the latency. It
might be correct for the pathscale compiler, but it didn't look as a
huge requirement for all others compilers. A memory barrier for an
initialization and an unlock definitively looks like killing an ant
with a nuclear strike.

How many memory barrier we have now on the critical path ? Are they
all really necessary ? In fact I try to figure out what the problem
is ? Why this doesn't happens with any other compiler ? Is this our
bug or a PathScale compiler bug ? And the last one: What is the
correct way to fix it in a generic way without affecting the
performances by 10%. As a matter of fact, we're already slower than
MPICH2 for shared memory operations, so something is flawed in our
design ...

   Thanks,
     george.

On Feb 13, 2007, at 4:20 PM, gshipman_at_[hidden] wrote:

> Author: gshipman
> Date: 2007-02-13 16:20:59 EST (Tue, 13 Feb 2007)
> New Revision: 13644
>
> Modified:
> trunk/opal/include/opal/sys/atomic_impl.h
>
> Log:
> use memory barriers for lock init and unlock
>
>
> Modified: trunk/opal/include/opal/sys/atomic_impl.h
> ======================================================================
> ========
> --- trunk/opal/include/opal/sys/atomic_impl.h (original)
> +++ trunk/opal/include/opal/sys/atomic_impl.h 2007-02-13 16:20:59
> EST (Tue, 13 Feb 2007)
> @@ -337,6 +337,7 @@
> opal_atomic_init( opal_atomic_lock_t* lock, int value )
> {
> lock->u.lock = value;
> + opal_atomic_mb();
> }
>
>
> @@ -368,6 +369,7 @@
> OPAL_ATOMIC_LOCKED, OPAL_ATOMIC_UNLOCKED);
> */
> lock->u.lock=OPAL_ATOMIC_UNLOCKED;
> + opal_atomic_mb();
> }
>
> #endif /* OPAL_HAVE_ATOMIC_SPINLOCKS */
> _______________________________________________
> svn mailing list
> svn_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/svn

"Half of what I say is meaningless; but I say it so that the other
half may reach you"
                                   Kahlil Gibran