Costs of virtualization

The cost of virtualization is determined by the amount of time that is required to switch between the virtual machine (VM) and the hypervisor whenever the hypervisor needs to service the VM.  On Arm systems, a lower bound for such a cost is:

  • 31x 64-bit general purpose registers (X0..X30)
  • 32x 128-bit floating point/SIMD registers (V0..V31)
  • Two stack pointers (SP_EL0, SP_EL1)

Using LDP and STP instructions, the hypervisor requires 33 instructions to save or restore these registers. 

The exact cost of virtualization for a project depends on both the platform and the design of the hypervisor. 

Previous Next