Feeds:
Posts
Comments

Posts Tagged ‘Intel VT-x’

Johan De Galas schreef op AnandTech een uitstekend artikel over hardwarevirtualisatie. Hij gaat met name uitgebreid in op de performance-consequenties van de verschillende manieren van virtualiseren. Er heersen op dit vlak nogal wat misverstanden. Johan legt deze op een grondige manier uit en behandelt en-passant ondermeer de volgende begrippen:

  • Kernel mode versus user mode
  • De oude IBM S/370 manier van virtualiseren
  • VMware’s software gebaseerde Binary Translation methode voor x86 CPU’s
  • De enorme overhead van system calls bij SYSENTER en SYSEXIT
  • I/O virtualisatie
  • De Memory Management Unit (MMU) problematiek
  • Paravirtualisatie
  • Hardware Accelerated virtualisatie (Intel VT-x en AMD SVM)
  • Waarom paravirtualisatie veel sneller is dan hardware accelerated virtualisatie
  • Tweede generatie hardware-support voor virtualisatie (Intel’s EPT en AMD’s nested paging)

Het artikel wordt afgesloten met een uitgebreide set aan benchmark gegevens.

Een paar van zijn conclusies zijn:

When we first heard about Intel’s VT-x and AMD’s SVM technology we expected to see performance improvements over the software based solutions such as Binary Translation and Paravirtualization. Both AMD and Intel gave the impression that they were about to “enhance” and “accelerate” the current purely software based solutions.

Second generation virtualization (VT-x+EPT and AMD-V+NPT) is more promising, but while it can improve performance significantly it is not guaranteed that it will improve performance across all applications due to the heavy TLB miss cost. On the flip side of the coin: software virtualization is very mature, but there is very little headroom left to improve. The smartest way is to use a hybrid approach, and that is exactly what VMware, Xen, and Microsoft have been doing.

VMware ESX is the best example of this. ESX uses paravirtualized drivers for the most critical I/O components (but not for the CPU), uses emulation for the less important I/O, Binary Translation to avoid the high “trap and emulate” performance penalty, and hardware virtualization for 64-bit guests. In this way, virtualized applications perform quite well, in some cases almost as if there is no extra layer (the VMM).

Lees de rest van het artikel hier.

Read Full Post »