About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
Publication
USENIX ATC 2011
Conference paper
Viommu: Efficient Iommu emulation
Abstract
Direct device assignment, where a guest virtual mahine directly interacts with an I/O device without host ntervention, is appealing, because it allows an unmodied (non-hypervisor-aware) guest to achieve near-native erformance. But device assignment for unmodified uests suffers from two serious deficiencies: (1) it reuires pinning all of the guest's pages, thereby disalowing memory overcommitment, and (2) it exposes the uest's memory to buggy device drivers. We solve these problems by designing, implementing, nd exposing an emulated IOMMU (vIOMMU) to the nmodified guest. We employ two novel optimizations o make vIOMMU perform well: (1) waiting a few miliseconds before tearing down an IOMMU mapping in he hope it will be immediately reused (“optimistic tear-own”), and (2) running the vIOMMU on a sidecore, and hereby enabling for the first time the use of a sidecore by nmodified guests. Both optimizations are highly effecive in isolation. The former allows bare-metal to achieve 00% of a 10Gbps line rate. The combination of the two llows an unmodified guest to do the same.