We use a C-program which consumes a lot of memory per process (up to few GB), 99% of the data being the same for each process. So for us it would be quite reasonable to put that part of data in a shared memory.
In the source code, the memory is allocated via malloc() function. What would it require for us to change in the source code to be able to put that repeating data in a shared memory? The code is normally run on several nodes.