The KVM hypervisor has always been at or near the top of any sort of performance chart in virtualization land. But when it comes to disk input/output, things are not as always so well behaved.
In terms of block storage, KVM can fall short in performance, because the hypervisor is tapping into the QEMU block layer, not the Linux kernel. And when large blocks come through, things can slow way down, according to Paolo Bonzini, a Senior Principal Software Engineer at Red Hat and maintainer for the KVM Project.
This, Bonzini explains, is because the QEMU block layer does not use threads effectively. Initially, the solution to the problem was to duplicate all of the code for disk I/O in QEMU and then strip out features used for libvirt and oVirt. This solution, as you might expect, worked very well, but was an important limitation.
"As long as you can forego these features, it's great," Bonzini said.
To compensate, the QEMU and KVM developers' efforts turned to making the block layer thread safe. By introducing multi-thread capabilities, the QEMU block layer gained big performance benefits.
Much of the initial work is done, Bonzini added, and in his FOSDEM talk, he will explain the structure of the QEMU block layer, why it has traditionally preferred cooperative multitasking (coroutines) to threads, and how to reconcile this design with the high level of parallelism required by modern PCIe storage devices.
"But we are not done yet, because we are discovering new things to do as we go along," Bonzini said. KVM will clearly benefit from this ongoing process, which you can hear more about at this week's FOSDEM.
About the author
Brian Proffitt is Senior Manager, Community Outreach within Red Hat's Open Source Program Office, focusing on enablement, community metrics and foundation and trade organization relationships. Brian's experience with community management includes knowledge of community onboarding, community health and business alignment. Prior to joining Red Hat in 2013, he was a technology journalist with a focus on Linux and open source, and the author of 22 consumer technology books.
Browse by channel
Automation
The latest on IT automation that spans tech, teams, and environments
Artificial intelligence
Explore the platforms and partners building a faster path for AI
Open hybrid cloud
Explore how we build a more flexible future with hybrid cloud
Security
Explore how we reduce risks across environments and technologies
Edge computing
Updates on the solutions that simplify infrastructure at the edge
Infrastructure
Stay up to date on the world’s leading enterprise Linux platform
Applications
The latest on our solutions to the toughest application challenges
Original shows
Entertaining stories from the makers and leaders in enterprise tech
Products
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Cloud services
- See all products
Tools
- Training and certification
- My account
- Developer resources
- Customer support
- Red Hat value calculator
- Red Hat Ecosystem Catalog
- Find a partner
Try, buy, & sell
Communicate
About Red Hat
We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.
Select a language
Red Hat legal and privacy links
- About Red Hat
- Jobs
- Events
- Locations
- Contact Red Hat
- Red Hat Blog
- Diversity, equity, and inclusion
- Cool Stuff Store
- Red Hat Summit