4 ms·
The use case apparently is for sharing some memory region between thousands of processes, which has a lot of overhead because each process would normally need i
by eklitzke 4y ago
The use case apparently is for sharing some memory region between thousands of processes, which has a lot of overhead because each process would normally need its own PTEs which add up. I agree this is really weird though, if you want thousands of things sharing the same memory region it would make more sense to me to just use threads.
- touisteur 4y agoWell, threads come with their own myriad problems. Aside from isolation, with separate process one can start/stop/kill from outside in a more sysadmin-friendly way, but also upgrade gradually. I often use these kinds of mechanisms for control-planes or one writer / thousands of readers schemes (to share huge parameters or look up tables...). It's somehow far more efficient and easier to design than pub/sub or database requests and wasting loads of memory on N copies of the same data. Start the process, map the structures and go.