If you're trying to release 1.8.6, I recommend you revert the change that breaks things until we can figure this out.
> -----Original Message----- > From: Jeff Squyres (jsquyres) [mailto:jsquy...@cisco.com] > Sent: Wednesday, June 10, 2015 3:30 PM > To: Open MPI User's List > Cc: Nathan Hjelm; Steve Wise > Subject: Re: [OMPI users] Default value of btl_openib_memalign_threshold > > Nathan / Steve -- you guys are nominally the owners of the openib BTL: can > you please investigate? > > > > On Jun 10, 2015, at 4:15 PM, Ralph Castain <r...@open-mpi.org> wrote: > > > > Odd - without that setting, the value is essentially undefined, so it’s > > hard to understand how that is any better. Maybe the whole > alignment thing is busted, and leaving it undefined (which usually defaults > to zero, but not always) causes it to be turned “off”? > > > > I don’t really care, mind you - but it is clearly an error the way it was > > before. > > > > > >> On Jun 10, 2015, at 12:39 PM, Jeff Squyres (jsquyres) <jsquy...@cisco.com> > >> wrote: > >> > >> Ralph -- > >> > >> This change was not correct > >> (https://github.com/open-mpi/ompi/commit/ce915b5757d428d3e914dcef50bd4b2636561bca). > >> It is > causing memory corruption in the openib BTL. > >> > >> > >> > >>> On May 25, 2015, at 11:56 AM, Ralph Castain <r...@open-mpi.org> wrote: > >>> > >>> I don’t see a problem with it. FWIW: I’m getting ready to release 1.8.6 > >>> in the next week > >>> > >>> > >>>> On May 25, 2015, at 8:46 AM, Xavier Besseron <xavier.besse...@uni.lu> > >>>> wrote: > >>>> > >>>> Good that it will be fixed in the next release! > >>>> > >>>> In the meantime, and because it might impact other users, > >>>> I would like to ask my sysadmins to set > >>>> btl_openib_memalign_threshold=12288 in etc/openmpi-mca-params.conf on > >>>> our clusters. > >>>> > >>>> Do you see any good reason not doing it? > >>>> > >>>> Thanks! > >>>> > >>>> > >>>> Xavier > >>>> > >>>> > >>>> > >>>> On Mon, May 25, 2015 at 4:12 PM, Ralph Castain <r...@open-mpi.org> wrote: > >>>> I found the problem - someone had a typo in btl_openib_mca.c. The > >>>> threshold need to be set to the module eager limit as that is the > only thing defined at that point. > >>>> > >>>> Thanks for bringing it to our attention! I’ll set it up to go into 1.8.6 > >>>> > >>>> > >>>>> On May 25, 2015, at 3:04 AM, Xavier Besseron <xavier.besse...@uni.lu> > >>>>> wrote: > >>>>> > >>>>> Hi, > >>>>> > >>>>> Thanks for your reply Ralph. > >>>>> > >>>>> The option only I'm using when configuring OpenMPI is '--prefix'. > >>>>> When checking the config.log file, I see > >>>>> > >>>>> configure:208504: checking whether the openib BTL will use malloc hooks > >>>>> configure:208510: result: yes > >>>>> > >>>>> so I guess it is properly enabled (full config.log in attachment of > >>>>> this email). > >>>>> > >>>>> > >>>>> > >>>>> However, I think I have the reason of the bug (lines refer to source > >>>>> code of OpenMPI 1.8.5): > >>>>> > >>>>> The default value of memalign_threshold is taken from eager_limit in > >>>>> function btl_openib_register_mca_params() in > btl_openib_mca.c line 717. > >>>>> But the default value is eager_limit is set in btl_openib_component.c > >>>>> at line 193 right after the call to > btl_openib_register_mca_params(). > >>>>> > >>>>> To summarize, memalign_threshold gets its value from eager_limit before > >>>>> this one gets its value assigned. > >>>>> > >>>>> > >>>>> > >>>>> Best regards, > >>>>> > >>>>> Xavier > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> On Mon, May 25, 2015 at 2:27 AM, Ralph Castain <r...@open-mpi.org> > >>>>> wrote: > >>>>> Looking at the code, we do in fact set the memalign_threshold = > >>>>> eager_limit by default, but only if you configured with —enable- > btl-openib-malloc-alignment AND/OR we found the malloc hook functions were > available. > >>>>> > >>>>> You might check config.log to see if the openib malloc hooks were > >>>>> enabled. My guess is that they weren’t, for some reason. > >>>>> > >>>>> > >>>>>> On May 24, 2015, at 9:07 AM, Xavier Besseron <xavier.besse...@uni.lu> > >>>>>> wrote: > >>>>>> > >>>>>> Dear OpenMPI developers / users, > >>>>>> > >>>>>> This is much more a comment than a question since I believe I have > >>>>>> already solved my issue. But I would like to report it. > >>>>>> > >>>>>> I have noticed my code performed very badly with OpenMPI when Infinand > >>>>>> is enabled, sometime +50% or even +100% overhead. > >>>>>> I also have this slowdown when running with one thread and one > >>>>>> process. In such case, there is no other MPI call than MPI_Init() > and MPI_Finalize(). > >>>>>> This overhead disappears if I disable at runtime the openib btl, ie > >>>>>> with '--mca btl ^openib'. > >>>>>> After further investigation, I figured out it comes from the memory > >>>>>> allocator which is aligning every memory allocation when > Infiniband is used. > >>>>>> This makes sense because my code is a large irregular C++ code > >>>>>> creating and deleting many objects. > >>>>>> > >>>>>> Just below is the documentation of the relevant MCA parameters coming > >>>>>> ompi_info: > >>>>>> > >>>>>> MCA btl: parameter "btl_openib_memalign" (current value: "32", data > >>>>>> source: default, level: 9 dev/all, type: int) > >>>>>> [64 | 32 | 0] - Enable (64bit or 32bit)/Disable(0) > >>>>>> memoryalignment for all malloc calls if btl openib is used. > >>>>>> > >>>>>> MCA btl: parameter "btl_openib_memalign_threshold" (current value: > >>>>>> "0", data source: default, level: 9 dev/all, type: size_t) > >>>>>> Allocating memory more than btl_openib_memalign_threshholdbytes > >>>>>> will automatically be algined to the value of > btl_openib_memalign bytes.memalign_threshhold defaults to the same value as > mca_btl_openib_eager_limit. > >>>>>> > >>>>>> MCA btl: parameter "btl_openib_eager_limit" (current value: "12288", > >>>>>> data source: default, level: 4 tuner/basic, type: size_t) > >>>>>> Maximum size (in bytes, including header) of "short" messages > >>>>>> (must be >= 1). > >>>>>> > >>>>>> > >>>>>> In the end, the problem is that the default value for > >>>>>> btl_openib_memalign_threshold is 0, which means that all memory > >>>>>> allocations > are aligned to 32 bits. > >>>>>> The documentation says that the default value of > >>>>>> btl_openib_memalign_threshold should be the the same as > btl_openib_eager_limit, ie 12288 instead of 0. > >>>>>> > >>>>>> On my side, changing btl_openib_memalign_threshold to 12288 fixes my > >>>>>> performance issue. > >>>>>> However, I believe that the default value of > >>>>>> btl_openib_memalign_threshold should be fixed in the OpenMPI code (or > >>>>>> at least the > documentation should be fixed). > >>>>>> > >>>>>> I tried OpenMPI 1.8.5, 1.7.3 and 1.6.4 and it's all the same. > >>>>>> > >>>>>> > >>>>>> Bonus question: > >>>>>> As this issue might impact other users, I'm considering applying a > >>>>>> global fix on our clusters by setting this default value > etc/openmpi-mca-params.conf. > >>>>>> Do you see any good reason not doing it? > >>>>>> > >>>>>> Thank you for your comments. > >>>>>> > >>>>>> Best regards, > >>>>>> > >>>>>> Xavier > >>>>>> > >>>>>> > >>>>>> -- > >>>>>> Dr Xavier BESSERON > >>>>>> Research associate > >>>>>> FSTC, University of Luxembourg > >>>>>> Campus Kirchberg, Office E-007 > >>>>>> Phone: +352 46 66 44 5418 > >>>>>> http://luxdem.uni.lu/ > >>>>>> > >>>>>> _______________________________________________ > >>>>>> users mailing list > >>>>>> us...@open-mpi.org > >>>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > >>>>>> Link to this post: > >>>>>> http://www.open-mpi.org/community/lists/users/2015/05/26913.php > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> -- > >>>>> Dr Xavier BESSERON > >>>>> Research associate > >>>>> FSTC, University of Luxembourg > >>>>> Campus Kirchberg, Office E-007 > >>>>> Phone: +352 46 66 44 5418 > >>>>> http://luxdem.uni.lu/ > >>>>> > >>>>> > >>>>> _______________________________________________ > >>>>> users mailing list > >>>>> us...@open-mpi.org > >>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > >>>>> Link to this post: > >>>>> http://www.open-mpi.org/community/lists/users/2015/05/26915.php > >>>> > >>>> > >>>> > >>>> > >>>> -- > >>>> Dr Xavier BESSERON > >>>> Research associate > >>>> FSTC, University of Luxembourg > >>>> Campus Kirchberg, Office E-007 > >>>> Phone: +352 46 66 44 5418 > >>>> http://luxdem.uni.lu/ > >>>> > >>>> _______________________________________________ > >>>> users mailing list > >>>> us...@open-mpi.org > >>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > >>>> Link to this post: > >>>> http://www.open-mpi.org/community/lists/users/2015/05/26918.php > >>> > >>> _______________________________________________ > >>> users mailing list > >>> us...@open-mpi.org > >>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > >>> Link to this post: > >>> http://www.open-mpi.org/community/lists/users/2015/05/26920.php > >> > >> > >> -- > >> Jeff Squyres > >> jsquy...@cisco.com > >> For corporate legal information go to: > >> http://www.cisco.com/web/about/doing_business/legal/cri/ > >> > >> _______________________________________________ > >> users mailing list > >> us...@open-mpi.org > >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > >> Link to this post: > >> http://www.open-mpi.org/community/lists/users/2015/06/27086.php > > > > _______________________________________________ > > users mailing list > > us...@open-mpi.org > > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > > Link to this post: > > http://www.open-mpi.org/community/lists/users/2015/06/27087.php > > > -- > Jeff Squyres > jsquy...@cisco.com > For corporate legal information go to: > http://www.cisco.com/web/about/doing_business/legal/cri/