Difference between AMD-v/Intel VT-x and AMD-Vi/Intel VT-d
There are acronyms for everything, but even for the pros, it’s getting really crazy, especially when it comes to considering hosts with newer processors for virtualization scenarios. Unlike in other use cases, processor features are really important to understand when it comes to providing specifications for a new virtual host. Without the right features, you may not be able to run the workloads that you want.
There are two features that create a whole lot of confusion, particularly since the naming is so similar. Both Intel and AMD have these features, which are described below:
- AMD-V, Intel VT-x. This capability has been a requirement for a while. Without it, for example, you couldn’t run 64-bit guest operating systems under ESX and you couldn’t even install Hyper-V. If you use Linux to retrieve processor capabilities, this feature will be listed as vmx (virtual machine extensions). AMD-V/VT-x allows a guest virtual machine to run at privilege levels in the processor that enable proper operation. If you’d like an in-depth analysis of this capability, take a look here.
- AMD Nested Page tables or (NPT) or Rapid Virtualization Indexing (RVI)/Intel Extended Page Tables (EPT). Up until recently, hardware that supported Second Level Address Translation (SLAT) wasn’t a hard and fast requirement, although it has the potential to significantly improve performance. However, newer hypervisors, such as Hyper-V 3.0 and newer features, such as RemoteFX under the current Hyper-V, require SLAT-capable hardware. On the Intel side, processors introduced in Nehalem and later cycles included EPT. AMD Opteron CPUs beginning with the Family 10 Barcelona line, and Phenom II CPUs include EPT.
- AMD-Vi, Intel VT-d. AMD-Vi/VT-d is a processor feature that enables virtualization of I/O resources (directed I/O).
When looking for a new server, consider basic AMD-V/VT-x and NPT/EPT/SLAT as absolutely required features.