AWS EC2 offers two types of virtualization of Ubuntu Linux EC2 machines - PV and HVM.
What is the difference between these types?
Amazon run on Xen, which provides Para-virtualization (PV) or Hardware-assisted virtualization (HVM).
Para-virtualization used to be the recommended choice, as it gave you better performance (with a much closer integration to the virtualization host, through patched specialized kernels/drivers on both the host and the guest).
Hardware-assisted virtualization uses the benefits provided in modern hardware, and it doesn't require any kind of custom kernel or patches. Recent benchmarks has proven that HVM is actually faster on certain workloads.
One noticeable difference is paravirtual doesn't support GPU Instances.
I'd have created it as hvm had I known that I would want to relaunch it as a GPU instance.
edit: Hmm, actually, it seems like we can change from paravirtual to hvm while create an AMI.
Now, On AWS, should use HVM and can get greater performance.
HVM AMIs are required to take advantage of enhanced networking and GPU processing
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.