Abstract
We propose an intuitive abstraction for a process to export its memory to remote hosts, and to access the memory exported by others. This abstraction provides a simpler interface to RDMA and other remote memory technologies compared to the existing verbs interface.
The key idea is that a process can export parts of its memory as files, called remote regions, that can be accessed through the usual file system operations (read, write, memory map, etc). We built this abstraction and evaluated it.
We show that remote regions are easy to use and perform close to RDMA. We demonstrate it via micro-benchmarks and by modifying two in-memory single-host applications to use remote memory: R and Metis. These modifications amount to ≈100 lines of code; they allow R to exceed the physical memory of a host while running fat; and they allow Metis scale its performance across 8 hosts.