Thanks Jeff, we're working to verify.  I don't mind the slower behavior on the 
trunk; we are only concerned with the stable release series.  Enabling thread 
safety options on the trunk/master is no problem here.

Did the 'more expensive freelists' change make it to the release series as well?

Andrew

> -----Original Message-----
> From: devel [mailto:devel-boun...@open-mpi.org] On Behalf Of Jeff
> Squyres (jsquyres)
> Sent: Saturday, November 1, 2014 4:49 AM
> To: Open MPI Developers List
> Subject: Re: [OMPI devel] enable-smp-locks affects PSM performance
> 
> Andrew --
> 
> A PR went in on the v1.8 branch that removed the locking behavior by
> default:
> 
>     https://github.com/open-mpi/ompi-release/pull/67
> 
> Can you confirm that the behavior on the v1.8 nightly tarballs show better
> PSM message rate behavior?
> 
> (http://www.open-mpi.org/nightly/v1.8/ -- 135 and beyond have the fix)
> 
> For master, this was actually the exactly intended result: at a previous OMPI
> dev meeting, we said "let's turn on threading, and see who screams."  You
> screamed.  :-)
> 
> In a conversation with Nathan on Friday, it looks like many things in
> 6ef938de3fa9ca0fed2c5bcb0736f65b0d8803af get more expensive with
> threading enabled -- particularly freelists.  It's quite possible that we 
> should
> change many of these things to be more expensive only a) if
> THREAD_MULTIPLE is active, and/or b) if progress threads are active.
> 
> However, that may not be safe in itself.  Perhaps we should have multiple
> flavors of these types (like freelists) that are both thread safe and thread
> unsafe.  So even if we're in a THREAD_MULTIPLE and/or progress threads are
> active, if you *know* you've got a data structure that does not need the
> added thread-safety protections, you can use the unsafe-but-faster
> versions.
> 
> 
> 
> 
> On Oct 30, 2014, at 12:51 PM, Friedley, Andrew
> <andrew.fried...@intel.com> wrote:
> 
> > Hi Howard,
> >
> > No, we do not, just the OMPI default.
> >
> > This post isn't so much about our packaging requirements, as about default
> behavior in upstream Open MPI.  We'd like performance to be good by
> default for anyone compiling their own Open MPI (and using PSM).
> >
> > Andrew
> >
> > From: devel [mailto:devel-boun...@open-mpi.org] On Behalf Of Howard
> Pritchard
> > Sent: Thursday, October 30, 2014 8:53 AM
> > To: Open MPI Developers
> > Subject: Re: [OMPI devel] enable-smp-locks affects PSM performance
> >
> > Hi Andrew,
> >
> > In your distribution of ompi, do you include versions of ompi to support
> different MPI thread safetylevels?  In particular, do you include a library
> which supports MPI_THREAD_MULTIPLE?
> > Just trying to better understand the requirements of you ompi package in
> terms of MPI thread safety.
> >
> > Thanks,
> >
> > Howard
> >
> >
> > 2014-10-30 8:10 GMT-06:00 Friedley, Andrew
> <andrew.fried...@intel.com>:
> > Hi,
> >
> > I'm reporting a performance (message rate 16%, latency 3%) regression
> when using PSM that occurred between OMPI v1.6.5 and v1.8.1.  I would
> guess it affects other networks too, but I haven't tested.  The problem stems
> from the --enable-smp-locks and --enable-opal-multi-threads options.
> >
> > --enable-smp-locks defaults to enabled and, on x86, causes a 'lock' prefix 
> > to
> be prepended to ASM instructions used by atomic primitives.  Disabling
> removes the 'lock' prefix.
> >
> > In OMPI 1.6.5, --enable-opal-multi-threads defaulted to disabled.  When
> enabled, OPAL would be compiled with multithreading support, which
> included compiling in calls to atomic primitives.  Those atomic primitives, in
> turn, potentially use a lock prefix (controlled by --enable-smp-locks).
> >
> > SVN r29891 on the trunk changed the above.  --enable-opal-multi-threads
> was removed.  CPP macros (#if OPAL_ENABLE_MULTI_THREADS) controlling
> various calls to atomic primitives were removed, effectively changing the
> default behavior to multithreading ON for OPAL.  This change was then
> carried to the v1.7 branch in r29944, Fixes #3983.
> >
> > We can use --disable-smp-locks to make the performance regression go
> away for the builds we ship, but we'd very much prefer if performance was
> good 'out of the box' for people that grab an OMPI tarball and use it with
> PSM.
> >
> > My question is, what's the best way to do that?  It seems obvious to just
> make --disable-smp-locks the default, but I presume the change was done
> on purpose, so I'm looking for community feedback.
> >
> > Thanks,
> >
> > Andrew
> > _______________________________________________
> > devel mailing list
> > de...@open-mpi.org
> > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> > Link to this post: http://www.open-
> mpi.org/community/lists/devel/2014/10/16130.php
> >
> > _______________________________________________
> > devel mailing list
> > de...@open-mpi.org
> > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> > Link to this post: http://www.open-
> mpi.org/community/lists/devel/2014/10/16133.php
> 
> 
> --
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> Link to this post: http://www.open-
> mpi.org/community/lists/devel/2014/11/16141.php

Reply via email to