The introduction of non-volatile memory changes how applications, databases, and virtual machines will work in the future. NVDIMM is not simply a faster block device. Programs can avoid block I/O entirely and use byte-addressable NVDIMM to benefit from the performance characteristics of RAM. This requires new storage APIs that applications must use instead of traditional block I/O.
These new programs run successfully inside KVM virtual machines thanks to the vNVDIMM support already available in QEMU. Virtualization offers additional options for managing and using NVDIMM beyond what is available on bare metal.
This talk covers the NVDIMM programming model and how KVM virtual machines can use NVDIMM for faster I/O, reduced memory footprint, and faster boot times.
Xiao Guangrong recently gave a talk at KVM Forum covering the ACPI and hardware interface for NVDIMM under KVM. I want to follow that up with a talk for a wider audience of developers and system administrators who care more about the use of NVDIMM than its implementation.
This talk covers recent work on NVDIMM in QEMU and focuses on how applications can take advantage of this new class of storage device. It is suitable for an audience interested in storage or virtualization. Most of the concepts carry over to other hypervisors besides KVM.
Speakers: Stefan Hajnoczi