Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] RFC: System V Shared Memory for Open MPI
From: Samuel K. Gutierrez (samuel_at_[hidden])
Date: 2010-06-03 12:27:26


On Jun 2, 2010, at 11:58 AM, Samuel K. Gutierrez wrote:

> Good point - I forgot about that.
>
> --
> Samuel K. Gutierrez
> Los Alamos National Laboratory
>
> On Jun 2, 2010, at 11:40 AM, Jeff Squyres wrote:
>
>> Don't forget that the RML is also used to broadcast the success/
>> failure of the creation of the shared memory segment.
>>
>> If the RML goes away, be sure that you can still determine that
>> without hanging.
>>
>> Personally, I still don't see the problem with using the RML stuff...
>>
>>
>> On Jun 2, 2010, at 1:07 PM, Samuel K. Gutierrez wrote:
>>
>>> Hi George,
>>>
>>> That may work - I'll try it.
>>>
>>> Thanks!
>>>
>>> --
>>> Samuel K. Gutierrez
>>> Los Alamos National Laboratory
>>>
>>> On Jun 2, 2010, at 10:59 AM, George Bosilca wrote:
>>>
>>>> How about ftok ? The init function takes a file_name as argument,
>>>> and this file name is unique per instance of the shared memory
>>>> region we want to create. We can use this file name with ftok to
>>>> create a unique key_t that can be used by shmget to retrieve the
>>>> shared memory identifier.
>>>>
>>>> george.

Hi George,

I think ftok brings us back to the atomic file creation problem. In
particular, ftok requires pathname be an existing file. As it stands,
this file is created by the common sm module.

--
Samuel K. Gutierrez
Los Alamos National Laboratory
>>>>
>>>> On Jun 2, 2010, at 11:53 , Samuel K. Gutierrez wrote:
>>>>
>>>>> On Jun 2, 2010, at 8:49 AM, Jeff Squyres wrote:
>>>>>
>>>>>> On Jun 2, 2010, at 10:44 AM, George Bosilca wrote:
>>>>>>
>>>>>>>> Not sure what you mean here.  common/sm may create new shmem
>>>>>>>> segments at any time (e.g., during coll sm).  The RML message
>>>>>>>> exchange is to ensure that only 1 process creates and
>>>>>>>> initializes the segment and then all the others just attach  
>>>>>>>> to it.
>>>>>>>
>>>>>>> Absolutely not! The RML messaging is not about initializing the
>>>>>>> shared memory segment. As stated on my original text it has only
>>>>>>> one purpose: to ensure the file used by mmap is created
>>>>>>> atomically. The code for Windows do not exchange any RML  
>>>>>>> messages
>>>>>>> as the function to allocate the shared memory region provided by
>>>>>>> the OS is atomic (exactly as the sysv one).
>>>>>>
>>>>>> I thought that Sam said that it was important that only 1 process
>>>>>> shmctl/IPC_RMID...?
>>>>>
>>>>> Hi George,
>>>>>
>>>>> We are using RML messaging in the sysv code to exchange the shared
>>>>> memory ID (generated by exactly one process).  I'm not sure how we
>>>>> would go about passing along the shared memory ID without RML, but
>>>>> any ideas are greatly appreciated.
>>>>>
>>>>> Thanks,
>>>>> --
>>>>> Samuel K. Gutierrez
>>>>> Los Alamos National Laboratory
>>>>>
>>>>>>
>>>>>> --
>>>>>> Jeff Squyres
>>>>>> jsquyres_at_[hidden]
>>>>>> For corporate legal information go to:
>>>>>> http://www.cisco.com/web/about/doing_business/legal/cri/
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> devel mailing list
>>>>>> devel_at_[hidden]
>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>>>>
>>>>> _______________________________________________
>>>>> devel mailing list
>>>>> devel_at_[hidden]
>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>>>
>>>>
>>>> _______________________________________________
>>>> devel mailing list
>>>> devel_at_[hidden]
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>>
>>> _______________________________________________
>>> devel mailing list
>>> devel_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>>
>>
>>
>> -- 
>> Jeff Squyres
>> jsquyres_at_[hidden]
>> For corporate legal information go to:
>> http://www.cisco.com/web/about/doing_business/legal/cri/
>>
>>
>> _______________________________________________
>> devel mailing list
>> devel_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel