Hi Gilles, Thank you for your message and quick path! You likely mean (instead of links in your eMail below) https://github.com/open-mpi/ompi/pull/4331 and https://github.com/open-mpi/ompi/pull/4331.patch for your PR #4331 (note '4331' instead of '4431' :-)
I was not able to path 1.10.7 release - likely because you develop on much much newer version of Open MPI. Q1: on *which* release the path 4331 should be applied? Q2: I assume it is unlikely that this patch would be back-ported to 1.10.x? Best Paul Kapinos On 10/12/2017 09:31 AM, Gilles Gouaillardet wrote: > Paul, > > > i made PR #4331 https://github.com/open-mpi/ompi/pull/4431 in order to > implement > this. > > in order to enable passive wait, you simply need to > > mpirun --mca mpi_poll_when_idle true ... > > > fwiw, when you use mpi_yield_when_idle, Open MPI does (highly oversimplified) > > for (...) sched_yield(); > > > as you already noted, top show 100% cpu usage (a closer look shows the usage > is > in the kernel and not user space). > > that being said, since the process is only yielding, the other running > processes > will get most of their time slices, > > and hence the system remains pretty responsive. > > > Can you please give this PR a try ? > > the patch can be manually downloaded at > https://github.com/open-mpi/ompi/pull/4431.patch > > > Cheers, > > > Gilles > > > On 10/12/2017 12:37 AM, Paul Kapinos wrote: >> Dear Jeff, >> Dear All, >> >> we know about *mpi_yield_when_idle* parameter [1]. We read [2]. You're right, >>> if an MPI application is waiting a long time for messages, >>> perhaps its message passing algorithm should be re-designed >> ... but we cannot spur the ParaView/VTK developer to rewrite their software >> famous for busy-wait on any user mouse move with N x 100% CPU load [3]. >> >> It turned out that >> a) (at least some) spin time is on MPI_Barrier call (waitin' user >> interaction) >> b) for Intel MPI and MPICH we found a way to disable this busy wait [4] >> >> c) But, for both 'pvserver' and minimal example (attached), we were not able >> to >> stop the busy waiting with Open MPI: setting *mpi_yield_when_idle* parameter >> to >> '1' just seem to move the spin activity from userland to kernel, with >> staying at >> 100%, cf. attached screenshots and [5]. The behaviour is the same for 1.10.4 >> and >> 2.0.2. >> >> Well, The Question: is there a way/a chance to effectively disable the busy >> wait >> using Open MPI? >> >> Best, >> >> Paul Kapinos >> >> [1] http://www.open-mpi.de/faq/?category=running#force-aggressive-degraded >> [2] >> http://blogs.cisco.com/performance/polling-vs-blocking-message-passingprogress >> [3] >> https://www.paraview.org/Wiki/Setting_up_a_ParaView_Server#Server_processes_always_have_100.25_CPU_usage >> >> [4] >> https://public.kitware.com/pipermail/paraview-developers/2017-October/005587.html >> [5] >> https://serverfault.com/questions/180711/what-exactly-do-the-colors-in-htop-status-bars-mean >> >> >> >> >> >> >> _______________________________________________ >> devel mailing list >> devel@lists.open-mpi.org >> https://lists.open-mpi.org/mailman/listinfo/devel > > _______________________________________________ > devel mailing list > devel@lists.open-mpi.org > https://lists.open-mpi.org/mailman/listinfo/devel > -- Dipl.-Inform. Paul Kapinos - High Performance Computing, RWTH Aachen University, IT Center Seffenter Weg 23, D 52074 Aachen (Germany) Tel: +49 241/80-24915
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ devel mailing list devel@lists.open-mpi.org https://lists.open-mpi.org/mailman/listinfo/devel