On Jun 2, 2010, at 7:28 AM, Jeff Squyres wrote:
On Jun 2, 2010, at 5:38 AM, George Bosilca wrote:
I think adding support for sysv shared memory is a good thing.
However, I have some strong objections over the implementation in
the hg tree. Here are 2 of the major ones:
1) the sysv shared memory creation is __atomic__ based on the flags
used. Therefore, all the RML messages exchange is totally useless.
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.
The initializing of the segment after it is created/attached could
be pipelined a little more. E.g, since the init has an atomicly-set
flag indicating when it's done, the root could create the seg,
signal the others that they can attach, and then do the init -- the
non-root procs can wait for flag to change atomicly to know when the
seg has been initialized). Is that what you're referring to?
2) the whole code is replicated in the 3 files (mmap, sysv and
windows), even the common parts. However in the sysv case most of
the comments have been modified to remove all capitals letter.
I'm in favor of extracting all the common parts and moving them in
a special file. What should be kept in the particular files should
only be the really different parts (small part of the init and
finalize).
Sam -- are the common parts really common? I.e., could they be
factored out? Or are they "just different enough" that factoring
them out would be a PITA?
I'm sure some refactoring could be done - let me take a look.
--
Samuel K. Gutierrez
Los Alamos National Laboratory
--
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