Thursday, June 13, 2013

PCI Passthrough and SR-IOV

(Warning: This post is not safe for non computer majors)

Today, I will write a bit about the technologies I deal with in my work at AIST.

First is PCI Passthrough, also called Intel VT-d or AMD IOMMU, which allows virtual machines to directly access PCI devices. This is useful in avoiding the CPU and performance cost associated with virtualization of certain high speed devices such as networking devices, or for allowing virtual machines to use PCI devices that cannot be virtualized such as hardware accelerators. However, the disadvantage of PCI Passthrough is that one device can only be allocated to one guest at a time, defeating the whole point of virtualization.

This is where a related technology called SR-IOV comes in. SR-IOV stands for Single Root - Input/Output Virtualization, which basically allows a PCI device to present itself as many separate PCI devices to be allocated many guests. This requires support from the PCI card it self. However, SR-IOV is a relatively recent technology and is not found in consumer hardware. There are still other problems, such as if a networking device is shared using SR-IOV, 2 virtual machines sharing the device cannot communicate with each other without a specially configured switch, since a switch normally does not forward traffic back to the port it came from.

I'm sure that many of you are falling asleep now, so I'll stop right here. Hopefully, something more interesting will come up tomorrow!

No comments:

Post a Comment