Improving I/O Virtualization Performance with PCI Express
Virtualization technology has been used in high-end servers for quite some time. The evolution of virtualization has brought with it the desire to reduce the software (S/W) overhead portion of virtualization, particularly for I/O devices. This paper will begin with an introduction to the general concepts of virtualization and I/O virtualization. It will then discuss how I/O virtualization is addressed within the PCI Express specification and the changes required to add I/O virtualization support to an existing PCI Express interface. Additional PCI Express topics covered include: Single-Root I/O Virtualization (SR-IOV), Function Level Reset (FLR), Alternative Routing ID (ARI) and Address Translation Services (ATS).