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".

> --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

Reply via email to