Linux AMI virtualization types
Linux Amazon Machine Images use one of two types of virtualization: paravirtual (PV) or hardware virtual machine (HVM). The main differences between PV and HVM AMIs are the way in which they boot and whether they can take advantage of special hardware extensions (CPU, network, and storage) for better performance.
For the best performance, we recommend that you use current generation instance types and
HVM AMIs when you launch your instances. For more information about current generation
instance types, see Amazon EC2 Instance
Types
The following table compares HVM and PV AMIs.
HVM | PV | |
---|---|---|
Description | HVM AMIs are presented with a fully virtualized set of hardware and boot by executing the master boot record of the root block device of your image. This virtualization type provides the ability to run an operating system directly on top of a virtual machine without any modification, as if it were run on the bare-metal hardware. The Amazon EC2 host system emulates some or all of the underlying hardware that is presented to the guest. | PV AMIs boot with a special boot loader called PV-GRUB, which starts
the boot cycle and then chain loads the kernel specified in the
menu.lst file on your image. Paravirtual guests can
run on host hardware that does not have explicit support for virtualization.
Historically, PV guests had better performance than HVM guests in many
cases, but because of enhancements in HVM virtualization and the
availability of PV drivers for HVM AMIs, this is no longer true. For more
information about PV-GRUB and its use in Amazon EC2, see User provided kernels. |
Support for hardware extensions | Yes. Unlike PV guests, HVM guests can take advantage of hardware
extensions that provide fast access to the underlying hardware on the host
system. For more information on CPU virtualization extensions available in
Amazon EC2, see Intel Virtualization Technology |
No, they cannot take advantage of special hardware extensions such as enhanced networking or GPU processing. |
Supported instance types | All current generation instance types support HVM AMIs. | The following previous generation instance types support PV AMIs: C1, C3, HS1, M1, M3, M2, and T1. Current generation instance types do not support PV AMIs. |
Supported Regions | All Regions support HVM instances. | Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), Europe (Frankfurt), Europe (Ireland), South America (São Paulo), US East (N. Virginia), US West (N. California), and US West (Oregon) |
How to find | Verify that the virtualization type of the AMI is set to
hvm , using the console or the describe-images
command. |
Verify that the virtualization type of the AMI is set to
paravirtual , using the console or the describe-images
command. |
PV on HVM
Paravirtual guests traditionally performed better with storage and network operations than HVM guests because they could leverage special drivers for I/O that avoided the overhead of emulating network and disk hardware, whereas HVM guests had to translate these instructions to emulated hardware. Now PV drivers are available for HVM guests, so operating systems that cannot be ported to run in a paravirtualized environment can still see performance advantages in storage and network I/O by using them. With these PV on HVM drivers, HVM guests can get the same, or better, performance than paravirtual guests.