Jeff Squyres wrote:
On Jun 9, 2010, at 3:26 PM, Samuel K. Gutierrez wrote:
System V shared memory cleanup is a concern only if a process dies in
between shmat and shmctl IPC_RMID. Shared memory segment cleanup
should happen automagically in most cases, including abnormal process
termination.
Umm... right. Duh. I knew that.
Really.
So -- we're good!
Let's open the discussion of making sysv the default on systems that support
the IPC_RMID behavior (which, AFAIK, is only Linux)...
While it is not "fair" for Opem MPI to be lazy about its temporary
resources in the case of normal termination, there will probably always
be small windows of vulnerability to leakage if one dies in just the
wrong case (eg a failed assertion between the shmat() and the
smctl(IPC_RMID)). On the bright side, it is worth noting that a
properly maintained batch environment should include an epilogue that
scrubs /tmp, /var/tmp, /usr/tmp, and any other shared writable
location. Similarly, to prevent a very simple/obvious DOS it should be
destroying any SysV IPC objects left over by the job.
-Paul
--
Paul H. Hargrove phhargr...@lbl.gov
Future Technologies Group
HPC Research Department Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory Fax: +1-510-486-6900