Hardware virtualization refers to the creation of a number of self-contained virtual servers that are resident on the physical server, or host machine. This allows multiple applications to be run on the same machine while providing security and fault isolation. Typically an administrator decides how much of each resource — CPU, memory, net- working — to allocate to the virtual machine (VM), while assigning priorities to different classes of users. The virtual infrastructure dynamically enforces these policies to ensure that each VM gets its fair share of resources.
As it became more prevalent, both Intel and AMD have continued to add more hardware support for the technology, including CPU, memory and I/O virtualization. These hardware advancements, coupled with increasingly sophisticated virtualization software, have resulted in improved performance for a wide variety of workloads, including HPC-based applications.