[OMPI users] Performance degradation of OpenMPI 1.10.2 when oversubscribed?

2017-03-24 Thread Jordi Guitart
Hello, I'm running experiments with BT NAS benchmark on OpenMPI. I've identified a very weird performance degradation of OpenMPI v1.10.2 (and later versions) when the system is oversubscribed. In particular, note the performance difference between 1.10.2 and 1.10.1 when running 36 MPI process

Re: [OMPI users] Performance degradation of OpenMPI 1.10.2 when oversubscribed?

2017-03-24 Thread Jeff Squyres (jsquyres)
Performance goes out the window if you oversubscribe your machines (i.e., run more MPI processes than cores). The effect of oversubscription is non-deterministic. (for the next few paragraphs, assume that HT is disabled in the BIOS -- i.e., that there's only 1 hardware thread on each core) Op

Re: [OMPI users] Performance degradation of OpenMPI 1.10.2 when oversubscribed?

2017-03-24 Thread Reuti
Hi, Am 24.03.2017 um 20:39 schrieb Jeff Squyres (jsquyres): > Limiting MPI processes to hyperthreads *helps*, but current generation Intel > hyperthreads are not as powerful as cores (they have roughly half the > resources of a core), so -- depending on your application and your exact > system

Re: [OMPI users] Performance degradation of OpenMPI 1.10.2 when oversubscribed?

2017-03-24 Thread Tim Prince via users
On 3/24/2017 6:10 PM, Reuti wrote: Hi, Am 24.03.2017 um 20:39 schrieb Jeff Squyres (jsquyres): Limiting MPI processes to hyperthreads *helps*, but current generation Intel hyperthreads are not as powerful as cores (they have roughly half the resources of a core), so -- depending on your appl

Re: [OMPI users] Performance degradation of OpenMPI 1.10.2 when oversubscribed?

2017-03-24 Thread Jeff Squyres (jsquyres)
On Mar 24, 2017, at 6:10 PM, Reuti wrote: > >> - Disabling HT in the BIOS means that the one hardware thread left in each >> core will get all the cores resources (buffers, queues, processor units, >> etc.). >> - Enabling HT in the BIOS means that each of the 2 hardware threads will >> statica

Re: [OMPI users] Performance degradation of OpenMPI 1.10.2 when oversubscribed?

2017-03-25 Thread Ben Menadue
Hi Jeff, > On 25 Mar 2017, at 10:31 am, Jeff Squyres (jsquyres) > wrote: > > When you enable HT, a) there's 2 hardware threads active, and b) most of the > resources in the core are effectively split in half and assigned to each > hardware thread. When you disable HT, a) there's only 1 hardw

Re: [OMPI users] Performance degradation of OpenMPI 1.10.2 when oversubscribed?

2017-03-25 Thread Jeff Squyres (jsquyres)
On Mar 25, 2017, at 3:04 AM, Ben Menadue wrote: > > I’m not sure about this. It was my understanding that HyperThreading is > implemented as a second set of e.g. registers that share execution units. > There’s no division of the resources between the hardware threads, but rather > the executio

Re: [OMPI users] Performance degradation of OpenMPI 1.10.2 when oversubscribed?

2017-03-25 Thread Jordi Guitart
Hi, Very interesting discussing about the impact of HT. I was not aware about the potential difference between turning off HT in the BIOS vs. in the OS. However, this was not the main issue in my original message. I was expecting the performance degradation with oversubscription. And I can al

Re: [OMPI users] Performance degradation of OpenMPI 1.10.2 when oversubscribed?

2017-03-26 Thread Ben Menadue
Hi, > On 26 Mar 2017, at 1:13 am, Jeff Squyres (jsquyres) > wrote: > Here's an old post on this list where I cited a paper from the Intel > Technology Journal. Thanks for that link! I need to go through it in detail, but this paragraph did jump out at me: On a processor with Hyper-Threading

Re: [OMPI users] Performance degradation of OpenMPI 1.10.2 when oversubscribed?

2017-03-27 Thread Jordi Guitart
Hi Ben, Thanks for your feedback. As described here (https://www.open-mpi.org/faq/?category=running#oversubscribing), OpenMPI detects that I'm oversubscribing and runs in degraded mode (yielding the processor). Anyway, I repeated the experiments setting explicitly the yielding flag, and I obt

Re: [OMPI users] Performance degradation of OpenMPI 1.10.2 when oversubscribed?

2017-03-27 Thread r...@open-mpi.org
I’m confused - mpi_yield_when_idle=1 is precisely the “oversubscribed” setting. So why would you expect different results? > On Mar 27, 2017, at 3:52 AM, Jordi Guitart wrote: > > Hi Ben, > > Thanks for your feedback. As described here > (https://www.open-mpi.org/faq/?category=running#oversubs

Re: [OMPI users] Performance degradation of OpenMPI 1.10.2 when oversubscribed?

2017-03-27 Thread Jordi Guitart
I was not expecting different results. I just wanted to respond to Ben's suggestion, and demonstrate that the problem (the performance difference between v.1.10.1 and v.1.10.2) is not caused by spin-waiting. On 27/03/2017 17:00, r...@open-mpi.org wrote: I’m confused - mpi_yield_when_idle=1 is p

Re: [OMPI users] Performance degradation of OpenMPI 1.10.2 when oversubscribed?

2017-03-27 Thread Jeff Squyres (jsquyres)
On Mar 27, 2017, at 11:00 AM, r...@open-mpi.org wrote: > > I’m confused - mpi_yield_when_idle=1 is precisely the “oversubscribed” > setting. So why would you expect different results? A few additional points to Ralph's question: 1. Recall that sched_yield() has effectively become a no-op in new

Re: [OMPI users] Performance degradation of OpenMPI 1.10.2 when oversubscribed?

2017-03-27 Thread Jeff Hammond
On Sat, Mar 25, 2017 at 7:15 AM Jeff Squyres (jsquyres) wrote: > On Mar 25, 2017, at 3:04 AM, Ben Menadue wrote: > > > > I’m not sure about this. It was my understanding that HyperThreading is > implemented as a second set of e.g. registers that share execution units. > There’s no division of th

Re: [OMPI users] Performance degradation of OpenMPI 1.10.2 when oversubscribed?

2017-03-27 Thread Ben Menadue
Hi, > On 28 Mar 2017, at 2:00 am, r...@open-mpi.org wrote: > I’m confused - mpi_yield_when_idle=1 is precisely the “oversubscribed” > setting. So why would you expect different results? Ahh — I didn’t realise it auto-detected this. I recall working on a system in the past where I needed to expl

Re: [OMPI users] Performance degradation of OpenMPI 1.10.2 when oversubscribed?

2017-03-28 Thread Jordi Guitart
Hi, On 27/03/2017 17:51, Jeff Squyres (jsquyres) wrote: 1. Recall that sched_yield() has effectively become a no-op in newer Linux kernels. Hence, Open MPI's "yield when idle" may not do much to actually de-schedule a currently-running process. Yes, I'm aware of this. However, this should imp