AMPI: Add fsglobals (filesystem) and pipglobals (Process-in-Process) privatization... 88/4788/36
authorEvan Ramos <evan@hpccharm.com>
Tue, 6 Nov 2018 22:34:37 +0000 (16:34 -0600)
committerEvan Ramos <evan@hpccharm.com>
Wed, 8 May 2019 02:03:01 +0000 (21:03 -0500)
commitf3097273287b71cfec8d68cfa837d14d239b48a8
tree8203fe3eabed8d99bfe8e02d642675368c00908a
parentfbea48b0205dd1548f70c875e41086cd063a7d8e
AMPI: Add fsglobals (filesystem) and pipglobals (Process-in-Process) privatization methods

Thanks to the authors of the following publication for providing the
insight that dlmopen(LM_ID_NEWLM, ...) in combination with a PIE binary
results in privatized global variables, implemented here as pipglobals.

Atsushi Hori, Min Si, Balazs Gerofi, Masamichi Takagi, Jai Dayal, Pavan
Balaji, and Yutaka Ishikawa. 2018. Process-in-process: techniques for
practical address-space sharing.  In Proceedings of the 27th
International Symposium on High-Performance Parallel and Distributed
Computing (HPDC '18). ACM, New York, NY, USA,  131-143. DOI:
https://doi.org/10.1145/3208040.3208045

Change-Id: Ie7ef57a9ea6ae03f458f0c87ed88624bd2f1f676
22 files changed:
doc/ampi/manual.rst
src/arch/common/cc-clang.sh
src/arch/common/cc-gcc.sh
src/arch/common/conv-mach-darwin.sh
src/arch/mpi-darwin-x86_64/conv-mach.sh
src/libs/ck-libs/ampi/Makefile
src/libs/ck-libs/ampi/ampi.C
src/libs/ck-libs/ampi/ampi.h
src/libs/ck-libs/ampi/ampiCC
src/libs/ck-libs/ampi/ampi_funcptr.h [new file with mode: 0644]
src/libs/ck-libs/ampi/ampi_funcptr_fsglobals.C [new file with mode: 0644]
src/libs/ck-libs/ampi/ampi_funcptr_loader.C [new file with mode: 0644]
src/libs/ck-libs/ampi/ampi_funcptr_loader.h [new file with mode: 0644]
src/libs/ck-libs/ampi/ampi_funcptr_pipglobals.C [new file with mode: 0644]
src/libs/ck-libs/ampi/ampi_funcptr_shim.C [new file with mode: 0644]
src/libs/ck-libs/ampi/ampiimpl.h
src/libs/ck-libs/ampi/compat_ampicm.C
src/scripts/charmc
src/scripts/configure.ac
src/scripts/conv-config.sh
tests/ampi/privatization/Makefile
tests/ampi/privatization/test.C