VMs communicate directly by having the local VM grant memory
page access rights to the remote VM via the hypervisor [17].
PVBoot allocates external memory pages from a reserved area of
virtual memory, and allocates a small proxy value in the small,
fast OCaml minor heap. Mirage provides a library to reference that
data from OCaml without requiring a data copy (§3.4). Specialising
memory layout to distinguish I/O pages in this way significantly
reduces the amount of data that the garbage collector has to scan.
This reduced garbage collector pressure is one of two key factors
that let the Mirage network stack exhibit predictable performance;
the other is pervasive library support for zero-copy I/O (§3.4.1).