An In-Kernel Virtio Block Device Accelerator For Linux
For the past several months there has been work on vhost-blk, an in-kernel virito-blk device accelerator. This kernel-based accelerator can provide measurable speed-ups for disk/block device access by virtualized guest machines.
From the latest vhost-blk patch: "Due to lack of proper in-kernel AIO interface, this version converts guest's I/O request to bio and use submit_bio() to submit I/O directly. So this version any supports raw block device as guest's disk image, e.g. /dev/sda, /dev/ram0. We can add file based image support to vhost-blk once we have in-kernel AIO interface."
In terms of handling an in-kernel AIO interface, there's also patches floating around.
The original vhost-blk support patch, which amounts to a few hundred lines of new code in the Linux kernel, amounted to 5~15% performance improvements compared to the user-space virtio-blk implementation. Performance results on the latest vhost-blk v6 patch indicate performance improvements from +13~108% on a Fusion I/O device or up to a 216% performance improvement when dealing with a Ramdisk device.
It's possible we could see vhost-blk support merged into the Linux 3.8 kernel.
From the latest vhost-blk patch: "Due to lack of proper in-kernel AIO interface, this version converts guest's I/O request to bio and use submit_bio() to submit I/O directly. So this version any supports raw block device as guest's disk image, e.g. /dev/sda, /dev/ram0. We can add file based image support to vhost-blk once we have in-kernel AIO interface."
In terms of handling an in-kernel AIO interface, there's also patches floating around.
The original vhost-blk support patch, which amounts to a few hundred lines of new code in the Linux kernel, amounted to 5~15% performance improvements compared to the user-space virtio-blk implementation. Performance results on the latest vhost-blk v6 patch indicate performance improvements from +13~108% on a Fusion I/O device or up to a 216% performance improvement when dealing with a Ramdisk device.
It's possible we could see vhost-blk support merged into the Linux 3.8 kernel.
2 Comments