Rethinking Communication in Multiple-kernel OSes and for New Shared Memory Interconnects @PLOS'19

The paper is basically talking about when memory pooling & sharing is out, can we design a typed memory allocation that can be shared through different kernel ABI and ISA. The programming model is referring to PGAS/Shmem.

Communication is shared memory. Because messages have to be placed in a buffer, a notification sent (e.g.,an IPI that may cost tens of us), the receiver interrupt processing needs to handle the message, and it may have to send a message back in the same way. Thus, for performance, shared memory is preferable to message passing.

Data Format is a fixed typed executable code segment. Updating code rather than data holds the promise of significant runtime overheads reduction, especially in scenarios where the amount of data to process is significant.


The code above is an accesser for the same snippet of typed code, it will read the offset which is the type hint for one data object.

Implementation has

  1. extended slab allocator, for typed memory modification to normal memory.
  2. compiler static support, sizeof/__typed
  3. JIT support for inter-kernel data sharing for adding a data conversion+ type morphing.