From: Martin Quinson Date: Tue, 26 Dec 2017 22:06:06 +0000 (+0100) Subject: improve the doc of SMPI privatization (fix #137) X-Git-Tag: v3.19~394 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/d12368e5b9db4863e721dd4f9ed40574b9860da6 improve the doc of SMPI privatization (fix #137) I just kept the bug open for reference until it got correctly documented, and it's done now. I admit, the full feature solution is not implemented, but the current one is good enough, and the doc links to #137 for future reference. --- diff --git a/doc/doxygen/module-smpi.doc b/doc/doxygen/module-smpi.doc index 4e3b3f56a1..06d67b6153 100644 --- a/doc/doxygen/module-smpi.doc +++ b/doc/doxygen/module-smpi.doc @@ -508,6 +508,8 @@ the exact same file several times, be it a library or a relocatable executable. It makes perfectly sense in the general case, but we need to circumvent this rule of thumb in our case. To that extend, the binary is copied in a temporary file before being re-linked against. +`dlmopen()` cannot be used as it only allows 256 contextes, and as it +would also dupplicate simgrid itself. This approach greatly speeds up the context switching, down to about 40 CPU cycles with our raw contextes, instead of requesting several @@ -522,7 +524,9 @@ href="https://lwn.net/Articles/415889/">punch holes in the files before dl-loading them to remove the code and constants, and mmap these area onto a unique copy. If done correctly, this would reduce the disk- and memory- usage to the bare minimum, and would also reduce -the pressure on the CPU instruction cache.\n +the pressure on the CPU instruction cache. See +the relevant +bug on github for implementation leads.\n Also, currently, only the binary is copied and dlopen-ed for each MPI rank. We could probably extend this to external dependencies, but for