~/talk

Optimizing for NVMe Drives: The 10 Microsecond Challenge

Talkat KVM Forum 2020 · 2020-10-28..10-30· [linux-and-operating-systems]
links:none on file
slides:none on file

Claim: NVMe drives hit 10 microsecond latency so software overhead dominates; bare-metal PCI device assignment with polling (Linux NVMe iole) reaches about 120k IOPS for 4KB Q=1 reads. KVM/QEMU without tuning starts near 21k IOPS; enabling IO threads, vfio PCI passthrough, multi-queue, packed virtqueues and a user-space NVMe driver with poll-mode completion and an AIO fast path raises VM IOPS to ~94–100k and narrows the gap. A qemu storage daemon is built to share user-space drivers across guests.

AI-written summary · about

  1. 0:00Introduction
  2. 0:33NVMe Drives
  3. 1:27Latency Numbers
  4. 2:46IOPS and Latency
  5. 6:49Rethink the architecture
  6. 7:58IO request lifecycle
  7. 10:00Latency
  8. 12:33Completion mechanisms
  9. 15:40PCIe device assignment
  10. 19:23Configuration
  11. 21:07libvert
  12. 22:13Example
  13. 24:55CPU Idle Halt Poll
  14. 27:20Results
  15. 28:51iopoll
  16. 30:00Bare metal vs NVMe
  17. 30:53Virtio Block
  18. 33:47IOThreads
  19. 35:39IOThreads Configuration
  20. 35:54Userspace NVMe Driver
  21. 37:35Polling Queues
  22. 39:19AIO Fast Path
  23. 41:00Linux IO Poll
  24. 45:41QMU Storage daemon
  25. 47:55Future direction
  26. 48:13Summary
  27. 48:47Conclusion
~/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.