Slashdot Mirror


Hardware Virtualization Slower Than Software?

Jim Buzbee writes "Those you keeping up with the latest virtualization techniques being offered by both Intel and AMD will be interested in a new white paper by VMWare that comes to the surprising conclusion that hardware-assisted x86 virtualization oftentimes fails to outperform software-assisted virtualization. My reading of the paper says that this counterintuitive result is often due to the fact that hardware-assisted virtualization relies on expensive traps to catch privileged instructions while software-assisted virtualization uses inexpensive software substitutions. One example given is compilation of a Linux kernel under a virtualized Linux OS. Native wall-clock time: 265 seconds. Software-assisted virtualization: 393 seconds. Hardware-assisted virtualization: 484 seconds. Ouch. It sounds to me like a hybrid approach may be the best answer to the virtualization problem. "

2 of 197 comments (clear)

  1. Bias? by ikejam · · Score: 0, Redundant

    I'd like to think of VMware in a different mould than MS, but i'd still hate to take this info in w/o some third party verification.

  2. Re:Sponsored by VMWare.. what do you expect? by XMLsucks · · Score: 1, Redundant

    What are you talking about in regards to a true hypervisor? You don't need a true hypervisor to use VT. The Linux kernel could use VT to run VMs (Xen is then completely unnecessary for open source virtualization).

    And by the way... yes... device virtualization is still not there, but your page tables claim is bullshit. If you read the VT (and the SVM) docs, you would realize that you can implement shadow page tables RIGHT NOW. The hardware assists are there.

    Of course VT supports shadow page tables; how else could it virtualize? The problem is that it isn't accelerated. The guest OS needs to translate its virtual addresses to physical, like so: v --> p. The hypervisor needs to translate the guest's physical pages to machine pages, like so: p --> h. The TLB needs the final translation of: v --> h. VT offers no acceleration to promote v --> p --> h into the TLB. Currently, the hypervisor must maintain a shadow page table with v --> h, which the hardware automatically adds to the TLB. But the hypervisor must manually perform the translation of v --> p --> h, to add to the shadow page table. That is slow. Future revs of VT will automatically do the v --> p --> h. If you believe that happens now, then show me what I misunderstand, or implement support for it and disprove VMware's performance paper.