I am wondering if memory mapped bigarrays are usable as a shared memory in order to do parallel programming.
I am thinking about the write-one-read-many mode of communication, where a writer
process would create a bigarray as a file on disk.
Once this file is created, several reader processes would access it for reading
(only for reading) by mapping it into memory (Unix.map_file).
If I am not mistaken, this would allow to share all types supported by bigarrays between processes, without having to do marshal/unmarshal.
The synchronization between readers and writers would be done outside of the bigarray, using semaphores.