Do you want a virtual machine with huge (and growing) memory? ipmem may be able to help.
ipmem allows a VM to expand its memory capacity by hot-plugging other remote servers' memory. Under the hood,
ipmem is a kernel module manageing a page cache for a configured address space, and the pages in the cache are periodically swapped out to a remote server.
ipmem also works together with Linux QEMU/KVM to capture the page fault event from VM, so that when VM needs its page,
ipmem can load it back. (Ideally, the VM and the remote server are connected by a high-speed network for better performance.)
ipmem is similar to
page swap. There are two major differences. First, from VM's point of view,
ipmem is a "physical" DRAM DIMM plugged into the system, but swap space are not. Second, instead of swapping a page to a hard drive or SSD,
ipmem swaps it to a remote server's memory. In some cases, network is faster than local disk storage. For example, a 100Gbps network (which is becoming more and more common in data centers and network backbones) can transfer a 4K-byte page under 1us (in theory at least), while doing same thing with SSD takes about 150us (based on some simple calculation from the Latency Numbers Every Programmer Should Know shown below).
Send 1K bytes over 1 Gbps network 10,000 ns 10 us -> Send 4K bytes over 100 Gbps network 400 ns 0.4 us Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD
The video shows a proof-of-concept implementation of