Docker kicks KVM's butt in IBM tests

Big Blue finds containers are speedy, but may not have much room to improve


IBM Research has run done a side-by-side comparison of the KVM hypervisor and containerisation enfant terrible Docker and found the latter “ equals or exceeds KVM performance in every case we tested.”

Big Blue tested the two using the linear-equation solving package Linpack, the STREAM benchmark of memory bandwidth, network bandwidth using nuttcp, latency using netperf, Block I/O speeds with fio and Redis. The SysBench oltp benchmark gave MySQL a workout.

The resulting paper An Updated Performance Comparison of Virtual Machines and Linux Containers (PDF), finds that Docker allows the containerised computers it curates to hum along at impressive speeds.

As the graph below and others in the paper show, Docker kicks KVM's butt in some tasks, and holds its own comfortably in most of the tests conducted.

Docker vs KVM performance running LINPAC

IBM's results for Docker vs. KVM results running Linpack on two sockets with 16 cores.
Each data point is the arithmetic mean obtained from ten runs.
Error bars indicate the standard deviation obtained overall runs.

With Docker only just having reached v 1.0 status, you might think that's goodnight for virtualisation, as if the first commercial version of the technology is already beating and established tool surely there's no future for the latter.

The IBMers involved beg to differ, writing that they have seen continuous improvement in KVM performance over the years, while things “can only get worse for containers because they started with near-zero overhead and VMs have gotten faster over time.”

Nor is Docker perfect, with the authors finding it network address translation makes extra traffic for networks.

The paper concludes with some interesting observations about how the differing performance of the two contenders will impact future cloud infrastructure designs. Here's the best bits from those considerations:

“Conventional wisdom (to the extent such a thing exists in the young cloud ecosystem) says that IaaS is implemented using VMs and PaaS is implemented using containers. We see no technical reason why this must be the case, especially in cases where container-based IaaS can offer better performance or easier deployment.

Containers can also eliminate the distinction between IaaS and 'bare metal' non-virtualized servers since they offer the control and isolation of VMs with the performance of bare metal. Rather than maintaining different images for virtualized and non-virtualized servers, the same Docker image could be efficiently deployed on anything from a fraction of a core to an entire machine.

We also question the practice of deploying containers inside VMs, since this imposes the performance overheads of VMs while giving no benefit compared to deploying containers directly on non-virtualized Linux. If one must use a VM, running it inside a container can create an extra layer of security since an attacker who can exploit QEMU would still be inside the container.”

Scripts used for the study can be found here, if you'd like to run the tests yourself. ®


Other stories you might like

  • Nutanix reshuffles product portfolio into bigger bundles
    Plan calls for this to end in tiers

    Nutanix has rearranged its portfolio by placing different tools into newly named bundles and buckets, and creating different tiers for the new products.

    If you're a Nutanix customer and don't want to change the way you interact with the company, or pay for its wares, feel free to stop reading now because current arrangements will persist if you want to carry on as you do today.

    For the rest of you, Nutanix now offers five different bundles of products:

    Continue reading
  • VMware fixes vSphere release it pulled, sorts out Log4j while it's at it
    Driver drama is done, new dev practices should prevent repeats, says Virtzilla

    VMware has restored availability of vSphere 7 Update, a release that it withdrew in late 2021 after driver dramas derailed deployments.

    Paul Turner, Virtzilla's veep for vSphere product management, told The Register that the source of the problem was Intel driver updates that arrived out of sync with VMware's pre-release testing program. When users adopted the new drivers – one of which had been renamed – vSphere produced errors that meant virtual server fleet managers could not sustain high availability operations.

    Turner said around 30,000 customers had adopted the release, of which around eight per cent encountered the issue. That collection of around 2,400 impacted users was enough for VMware to pull the release before the other 270,000 vSphere users hit trouble. That level of potential problems, Turner admitted, was considered a sufficient threshold to justify a do-over and the embarrassment of a pulled release.

    Continue reading
  • Parallels: Purveyors of decent virtualization software... and occasionally iffy checksums
    La la la, we're not listening

    For some, an MD5 checksum is the sequence of letters and numbers that shows up next to the file they want to download. For others, it's a handy pointer that the file you've downloaded is the one you were expecting.

    A Register reader got in touch after noticing something a bit odd on the Parallels downloads page. The company helpfully provides the MD5 checksum for its Desktop for Mac images, but what got downloaded apparently had an entirely different value. We checked and confirmed that the DMG file linked did not have the same checksum.

    This would ordinarily set off alarm bells. After all, there have been a good few examples over the years of poisoned files being sneakily deposited on servers by miscreants seeking their next victim. Could Parallels, purveyors of virtualization tech, have been similarly targeted?

    Continue reading
  • Docker Desktop no longer free for large companies: New 'Business' subscription is here
    Search for sustainable business model continues, but most usage will still be free

    Docker will restrict use of the free version of its Docker Desktop utility to individuals or small businesses, and has introduced a new more expensive subscription, as it searches for a sustainable business model.

    The company has renamed its Free plan to "Personal" and now requires that businesses with 250 or more employees, or higher than $10m in annual revenue, must use a paid subscription if they require Docker Desktop. There are no changes to the command-line Docker Engine. The $5/month Pro and $7/month Teams subscriptions continue as before, but a new $21/month Business subscription adds features including centralized management, single sign-on, and enhanced security.

    Continue reading

Biting the hand that feeds IT © 1998–2022