Collabora’s Devs to Bring Performance Improvements to Emulated NVMe Devices


(As originally published on Softpedia, August 28, 2016)

Softpedia reported earlier this month that Collabora’s developers contributed patches to the upcoming Linux 4.8 kernel to bring the open source Intel graphics driver on par with its Windows equivalent.

And now we have been informed by Mark Filion about some other interesting patches contributed by Collabora’s developers to the upcoming Linux 4.8 kernel. These patches promise to add huge performance improvements to emulated NVMe devices.

According to Collabora’s Helen Fornazier, it would appear that it’s currently possible to attach a local SSD (Solid State Drive) disk drive to a virtual machine in Google Cloud Engine (GCE) via an NVMe interface, but you won’t get a good number of IOPS (Input/Output Operations Per Second).

To achieve that, one needs to instantiate a virtual machine using the nvme-backports-debian-7-wheezy image based on the Debian GNU/Linux 7 “Wheezy” operating system, of course. It would also appear that this will only work with the Debian 7 Linux OS, as other distributions available in Google Cloud Engine won’t support so many IOPS.

Custom NVMe command allows for up to four times more IOPS

Helen Fornazier has discovered and tested that Google’s Virtual Machine Monitor, which now includes a custom NVMe command that could increase the number of IOPS up to five times faster. “This is from what I’ve tested so far, but it seems to be possible to get up to 5 times faster according to the original commit message; check the Technical Details sessions to see how this is possible,” says Fornazier in a blog post.

However, it looks like this command has to be present in the kernel you use, and there’s no such support in the mainline Linux kernel. And this is where Collabora’s developers will make their contributions noticed, as they have made the patch available online for anyone interested in using it.

Unfortunately, since this is an unofficial (third-party) NVMe command, it will not land in the mainline Linux kernel anytime soon. But Collabora will try its best to help the NVMe workgroup implement an official extension to standardize it, as this brings considerable performance increasements to emulated NVMe devices.