~/talk

Faster and Smaller qcow2 Files With Subcluster-based Allocation

Talkat KVM Forum 2020 · 2020-10-28..10-30· [web-performance]
links:none on file
slides:none on file

Adds sub-cluster allocation via new extended L2 entries that split large qcow2 clusters into independently allocatable sub-clusters, reducing copy-on-write and image bloat while keeping L2 metadata small. Tests show up to ~10x higher IOPS and real-world peaks of ~12–13k IOPS when sub-cluster size matches 4k requests, and random-write images drop from 1.6 GB (64k clusters) to far smaller sizes. Feature is in the QEMU repo, targets v5.2, and requires building from source to test.

AI-written summary · about

  1. 0:00Intro
  2. 0:17The qcow2 file format
  3. 1:06Structure of a qcow2 file
  4. 1:53copy-on-write means more I/O
  5. 3:18copy-on-write means more used space
  6. 4:58Decreasing the cluster size
  7. 5:23Smaller clusters mean more metadata
  8. 6:12The L1 table
  9. 7:20L2 metadata size
  10. 7:41Accessing L2 metadata
  11. 8:57Reference counts
  12. 9:29The overhead of having to allocate clusters
  13. 10:09The situation so far
  14. 10:55Subcluster allocation: what it looks like
  15. 11:17L2 tables in details
  16. 11:52Extended L2 entries
  17. 12:27Two use cases for subcluster allocation
  18. 13:03less copy-on-write means faster I/O
  19. 14:08less copy-on-write means less used space
  20. 14:36larger clusters mean less metadata
  21. 16:48Implementation status
  22. 17:43Acknowledgments
~/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.