Announcement

Collapse
No announcement yet.

Intel Haswell Linux Virtualization: KVM vs. Xen vs. VirtualBox

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Intel Haswell Linux Virtualization: KVM vs. Xen vs. VirtualBox

    Phoronix: Intel Haswell Linux Virtualization: KVM vs. Xen vs. VirtualBox

    The latest chapter to our lengthy Intel Haswell on Linux saga is virtualization benchmarks. From Fedora 19 with the very latest software components for Linux virtualization, the performance of KVM, Xen, and VirtualBox were benchmarked from the Intel Core i7 4770K "Haswell" CPU.

    http://www.phoronix.com/vr.php?view=18888

  • #2
    Odd to see Virtual Box falling behind and crashing, usually it is pretty reliable. I hope it had the guest drivers installed. Could be due to Haswell and the CPU going into a sleep state or something as reported with earlier Haswell issues? Also I wonder if performance is impacted by the default Virtual box file system settings. VB by default uses a dynamically expanding file system on the host fs, that enables snapshots etc whereas others by default use an exactly sized image file which doesn't handle snapshots (or sometimes the host LVM, which avoids the "filesystem on filesystem" double layer)

    Comment


    • #3
      Note that the Intel processors with the K-suffix lacks support for IOMMU (VT-d) which allows PCI passthrough, which is used for letting the guest VM access the graphics card of the host machine.

      Comment


      • #4
        Michael,

        There's something terribly wrong with your VirtualBox installation - it cannot be 2 times slower than bare metal.

        Either Intel VT-X or Nested Pages were disabled or you had some other odd problem.

        Comment


        • #5
          Originally posted by phoronix View Post
          Phoronix: Intel Haswell Linux Virtualization: KVM vs. Xen vs. VirtualBox

          The latest chapter to our lengthy Intel Haswell on Linux saga is virtualization benchmarks. From Fedora 19 with the very latest software components for Linux virtualization, the performance of KVM, Xen, and VirtualBox were benchmarked from the Intel Core i7 4770K "Haswell" CPU.

          http://www.phoronix.com/vr.php?view=18888
          Note to all: remember he doesn't mess with the knobs (heh). Only tests with default settings. So, for these benchmarks, KVM and Xen seemed to be better out of the box than the VB, though I don't know that I've ever seen computational benchmarks where VB beats either of the other two. KVM, for one, could have enabled the host cpu settings for advanced instructions instead of being stuck with sse2 (IIRC), and that should've sped up some of the benchmarks.

          Comment


          • #6
            I really don't understand those useless benchmarks. If you want to do a real VM benchmark, then test "qemu wine simple3D_game.exe" on ARM-Linux SoCs.

            Comment


            • #7
              Originally posted by liam View Post
              Note to all: remember he doesn't mess with the knobs (heh). Only tests with default settings. So, for these benchmarks, KVM and Xen seemed to be better out of the box than the VB, though I don't know that I've ever seen computational benchmarks where VB beats either of the other two. KVM, for one, could have enabled the host cpu settings for advanced instructions instead of being stuck with sse2 (IIRC), and that should've sped up some of the benchmarks.
              Its also important to note that "K-Series" Intel CPU's don't support the virtualization extensions anymore so these tests are being done at a nice big performance penalty regardless of anything done wrong in Michael's software configuration.

              Comment


              • #8
                Originally posted by Ericg View Post
                Its also important to note that "K-Series" Intel CPU's don't support the virtualization extensions anymore so these tests are being done at a nice big performance penalty regardless of anything done wrong in Michael's software configuration.
                It has VT-X but not VT-D. So virtualized performance should still be fine, you just can't directly access PCI devices etc.

                Comment


                • #9
                  Xen and KVM are bare metal hypervisors, where virtual box is a hosted hypervisor. Doing your virtualization at application level is always going to be slower than at kernel level unless somethings really wrong.

                  Comment


                  • #10
                    Originally posted by chrisb View Post
                    It has VT-X but not VT-D. So virtualized performance should still be fine, you just can't directly access PCI devices etc.
                    Oh? Thanks for the clarification, chris. Better than I thought it was then, thankfully.

                    Comment


                    • #11
                      So If I wanted to run a virtualized instance of Windows for windows-only software, what would be the best idea? I'm thinking vmware workstation, but I'm worried since fedora updates their kernels semi-frequently and things might break with the modules and I'll really need this machine to be reliable.
                      Then again I could just put off updating the kernel for a bit until vmware has an update. Or even use a 3rd party patch.

                      Comment


                      • #12
                        Originally posted by ownagefool View Post
                        Xen and KVM are bare metal hypervisors, where virtual box is a hosted hypervisor. Doing your virtualization at application level is always going to be slower than at kernel level unless somethings really wrong.
                        not only that. they are paravirtualization. the hardware doesn't have to be fully emulated. that's why I can run two guests on KVM or Hyper-V and the processor and the hard drive are not going crazy.

                        Comment


                        • #13
                          Originally posted by garegin View Post
                          not only that. they are paravirtualization. the hardware doesn't have to be fully emulated. that's why I can run two guests on KVM or Hyper-V and the processor and the hard drive are not going crazy.
                          That is partly true, only Xen can run full PV guests. In the benchmarks the Xen guest is installed as a HVM machine using PV drivers, similar to KVM. It would be interesting to see i a real PV guest installation in Xen would make a difference. My personal experience is that real PV guests are snappier, but I know they suffer in some benchmarks.
                          Even more interesting would be to see tests on the upcoming PVHVM mode in Xen 4.3 [URL="http://wiki.xen.org/wiki/Xen_Overview#PV_in_an_HVM_Container_.28PVH.29_-_New_in_Xen_4.3"]

                          Comment


                          • #14
                            Originally posted by LasseKongo View Post
                            That is partly true, only Xen can run full PV guests. In the benchmarks the Xen guest is installed as a HVM machine using PV drivers, similar to KVM. It would be interesting to see i a real PV guest installation in Xen would make a difference. My personal experience is that real PV guests are snappier, but I know they suffer in some benchmarks.
                            Even more interesting would be to see tests on the upcoming PVHVM mode in Xen 4.3 [URL="http://wiki.xen.org/wiki/Xen_Overview#PV_in_an_HVM_Container_.28PVH.29_-_New_in_Xen_4.3"]
                            Red Hat installed inside Xen should be fully paravirtualized - the installer will detect the Xen kernel and install the appropriate drivers.

                            Comment


                            • #15
                              Originally posted by garegin View Post
                              not only that. they are paravirtualization. the hardware doesn't have to be fully emulated. that's why I can run two guests on KVM or Hyper-V and the processor and the hard drive are not going crazy.
                              Paravirtualized drivers are also supported on Virtual box. Xen is the only one that uses a paravirtualized kernel - the others use standard kernels, and rely on hardware extensions like VT-X for speed.

                              Comment

                              Working...
                              X