~/talk

NVMeVirt: A Versatile Software-defined Virtual NVMe Device

links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

Kernel module creates a real-looking virtual PCI device via a virtual PCI bus, runs a dispatcher thread that polls doorbells and splits NVMe commands into backend ops, and moves payloads with the DMA engine into main-memory-backed storage. Implementation is 9,000 lines of Linux C code and models a parallel FTL with GC to emulate channels/planes. It supports PCI peer-to-peer DMA and NVMe-oF offload and reproduces device performance closely (harmonic-mean error ~1.17%). In a case study, configured devices at 2.5–3.0 GB/s show MariaDB uses <0.5 GB/s while PostgreSQL consumes the high bandwidth.

AI-written summary · about

  1. 0:00Intro
  2. 0:23Once upon a time in our research...
  3. 1:54Dilemma of Emulator
  4. 2:46Previous: Device Driver-level Approaches
  5. 3:58Previous: Virtualization-based Approaches
  6. 5:02NVMeVirt: Virtual NVMe Device in Software
  7. 6:26Challenges for Virtual PCI/NVMe Devices
  8. 8:44Emulating NVMe Device: Configuration Requests
  9. 9:09Emulating NVMe Device: I/O Requests
  10. 11:20Performance Models
  11. 12:20Evaluation
  12. 13:12Emulation Quality: Performance Variance
  13. 14:33Performance Comparison to Real Devices
  14. 15:07Performance Characteristics Compared to Real De
  15. 15:37Case Study: DBMS on Various Storage Configuratio
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.