On May 4, 2010, at 7:56 AM, Terry Dontje wrote: > Ralph Castain wrote: >> >> >> On May 4, 2010, at 3:45 AM, Terry Dontje wrote: >> >>> Is a configure-time test good enough? For example, are all Linuxes the >>> same in this regard. That is if you built OMPI on RH and it configured in >>> the new SysV SM will those bits actually run on other Linux systems >>> correctly? I think Jeff had hinted to this similarly when suggesting this >>> may need to be a runtime test. >>> >> >> I don't think we have ever enforced that requirement, nor am I sure the >> current code would meet it. We have a number of components that test for >> ability to build, but don't check again at run-time. >> >> Generally, the project has followed the philosophy of "build on the system >> you intend to run on". >> > There is at least one binary distribution that does build on one linux and > allows to be installed on several others. That is the reason I bring up the > above. The community can make a stance that that one distribution does not > matter for this case or needs to handle it on its own. In the grand scheme > of things it might not matter but I wanted to at least stand up and be heard.
No problem - I would simply suggest that they not --enable-sysv or whatever Sam calls it. They don't -have- to support that mode, it's just an option. Or Sam could include a --enable-runtime-sysv-check so they can offer it if they want, but recognize that it may significantly slow down process launch. > > --td >>> --td >>> >>> Samuel K. Gutierrez wrote: >>>> >>>> Hi All, >>>> >>>> New configure-time test added - thanks for the suggestion, Jeff. Update >>>> and give it a whirl. >>>> >>>> Ethan - could you please try again? This time, I'm hoping sysv support >>>> will be disabled ;-). >>>> >>>> Thanks! >>>> >>>> -- >>>> Samuel K. Gutierrez >>>> Los Alamos National Laboratory >>>> >>>> On May 3, 2010, at 9:18 AM, Samuel K. Gutierrez wrote: >>>> >>>>> Hi Jeff, >>>>> >>>>> Sounds like a plan :-). >>>>> >>>>> Thanks! >>>>> >>>>> -- >>>>> Samuel K. Gutierrez >>>>> Los Alamos National Laboratory >>>>> >>>>> On May 3, 2010, at 9:12 AM, Jeff Squyres wrote: >>>>> >>>>>> It might well be that you need a configure test to determine whether >>>>>> this behavior occurs or not. Heck, it may even need to be a run-time >>>>>> test! Hrm. >>>>>> >>>>>> Write a small C program that does something like the following (this is >>>>>> off the top of my head): >>>>>> >>>>>> fork a child >>>>>> child goes to sleep immediately >>>>>> sysv alloc a segment >>>>>> attach to it >>>>>> ipc rm it >>>>>> parent wakes up child >>>>>> child tries to attach to segment >>>>>> >>>>>> If that succeeds, then all is good. If not, then don't use this stuff. >>>>>> >>>>>> >>>>>> On May 3, 2010, at 10:55 AM, Samuel K. Gutierrez wrote: >>>>>> >>>>>>> Hi all, >>>>>>> >>>>>>> Does anyone know of a relatively portable solution for querying a >>>>>>> given system for the shmctl behavior that I am relying on, or is this >>>>>>> going to be a nightmare? Because, if I am reading this thread >>>>>>> correctly, the presence of shmget and Linux is not sufficient for >>>>>>> determining an adequate level of sysv support. >>>>>>> >>>>>>> Thanks! >>>>>>> >>>>>>> -- >>>>>>> Samuel K. Gutierrez >>>>>>> Los Alamos National Laboratory >>>>>>> >>>>>>> On May 2, 2010, at 7:48 AM, N.M. Maclaren wrote: >>>>>>> >>>>>>>> On May 2 2010, Ashley Pittman wrote: >>>>>>>>> On 2 May 2010, at 04:03, Samuel K. Gutierrez wrote: >>>>>>>>> >>>>>>>>> As to performance there should be no difference in use between sys- >>>>>>>>> V shared memory and file-backed shared memory, the instructions >>>>>>>>> issued and the MMU flags for the page should both be the same so >>>>>>>>> the performance should be identical. >>>>>>>> >>>>>>>> Not necessarily, and possibly not so even for far-future Linuces. >>>>>>>> On at least one system I used, the poxious kernel wrote the complete >>>>>>>> file to disk before returning - all right, it did that for System V >>>>>>>> shared memory, too, just to a 'hidden' file! But, if I recall, on >>>>>>>> another it did that only for file-backed shared memory - however, it's >>>>>>>> a decade ago now and I may be misremembering. >>>>>>>> >>>>>>>> Of course, that's a serious issue mainly for large segments. I was >>>>>>>> using multi-GB ones. I don't know how big the ones you need are. >>>>>>>> >>>>>>>>> The one area you do need to keep an eye on for performance is on >>>>>>>>> numa machines where it's important which process on a node touches >>>>>>>>> each page first, you can end up using different areas (pages, not >>>>>>>>> regions) for communicating in different directions between the same >>>>>>>>> pair of processes. I don't believe this is any different to mmap >>>>>>>>> backed shared memory though. >>>>>>>> >>>>>>>> On some systems it may be, but in bizarre, inconsistent, undocumented >>>>>>>> and unpredictable ways :-( Also, there are usually several system >>>>>>>> (and >>>>>>>> sometimes user) configuration options that change the behaviour, so >>>>>>>> you >>>>>>>> have to allow for that. My experience of trying to use those is that >>>>>>>> different uses have incompatible requirements, and most of the >>>>>>>> critical >>>>>>>> configuration parameters apply to ALL uses! >>>>>>>> >>>>>>>> In my view, the configuration variability is the number one nightmare >>>>>>>> for trying to write portable code that uses any form of shared memory. >>>>>>>> ARMCI seem to agree. >>>>>>>> >>>>>>>>>> Because of this, sysv support may be limited to Linux systems - >>>>>>>>>> that is, >>>>>>>>>> until we can get a better sense of which systems provide the shmctl >>>>>>>>>> IPC_RMID behavior that I am relying on. >>>>>>>> >>>>>>>> And, I suggest, whether they have an evil gotcha on one of the areas >>>>>>>> that >>>>>>>> Ashley Pittman noted. >>>>>>>> >>>>>>>> >>>>>>>> Regards, >>>>>>>> Nick Maclaren. >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> devel mailing list >>>>>>>> de...@open-mpi.org >>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel >>>>>>> >>>>>>> _______________________________________________ >>>>>>> devel mailing list >>>>>>> de...@open-mpi.org >>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> 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 >>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel >>>>> >>>>> _______________________________________________ >>>>> devel mailing list >>>>> de...@open-mpi.org >>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel >>>> >>>> _______________________________________________ >>>> devel mailing list >>>> de...@open-mpi.org >>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel >>> >>> >>> -- >>> <Mail Attachment.gif> >>> Terry D. Dontje | Principal Software Engineer >>> Developer Tools Engineering | +1.650.633.7054 >>> Oracle - Performance Technologies >>> 95 Network Drive, Burlington, MA 01803 >>> Email terry.don...@oracle.com >>> >>> _______________________________________________ >>> devel mailing list >>> de...@open-mpi.org >>> http://www.open-mpi.org/mailman/listinfo.cgi/devel >> >> >> _______________________________________________ >> devel mailing list >> de...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/devel > > > -- > <Mail Attachment.gif> > Terry D. Dontje | Principal Software Engineer > Developer Tools Engineering | +1.650.633.7054 > Oracle - Performance Technologies > 95 Network Drive, Burlington, MA 01803 > Email terry.don...@oracle.com > > _______________________________________________ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel