The first graph is already misleading, it's the graph about linpack. It shows that linpack is halved in performance in KVM, the explanation:
".. unless the system topology
is faithfully carried forth into the virtualized environment.
CPU-bound programs that don’t attempt such tuning will
likely have equal but equally poor performance across na-
tive, Docker, and KVM"
Seriously? I am the only one who adds a simple parameter when launching KVM. In more production/deployment environments higher level libraries like Libvirt are hopefully used and handle CPU settings automagically.
Then we have the MySQL tests. Comparing qcow (KVM) filesystems against native and AUFS.. Really, at least make it a fair fight and include a test which passthroughs the KVM IO to something remotely bare metalish, like a LVM volume.
Why is it a fight at all? I enjoyed the paper for a few insights into the implementation of containers, but I didn't find the performance comparisons very relevant. As another commenter noted: it's not surprising that namespaces and cgroups are a crapload less demanding than a full virutalization stack.
I don't much like referring to containers as a virtualization technology, although it seems like that fight is lost. In my view they aren't the same thing, they aren't solving the same problems, so seeing people line up defensively around one or the other is sort of amusing.
Seriously? I am the only one who adds a simple parameter when launching KVM. In more production/deployment environments higher level libraries like Libvirt are hopefully used and handle CPU settings automagically.
Then we have the MySQL tests. Comparing qcow (KVM) filesystems against native and AUFS.. Really, at least make it a fair fight and include a test which passthroughs the KVM IO to something remotely bare metalish, like a LVM volume.