Efficient and Scalable Kernel IOMMU Management Designs

Speaker:
Omer Peleg, M.Sc. Thesis Seminar
Date:
Wednesday, 1.4.2015, 13:00
Place:
Taub 601
Advisor:
Prof. Dan Tsafrir

IOMMUs provided by modern hardware allow the OS to enforce memory protection controls on the DMA operations of its I/O devices. An IOMMU translation management design must scalably handle frequent concurrent updates of IOMMU translations made by multiple cores, as occur in high throughput I/O workloads. Today, however, OSes experience performance meltdowns under these workloads. In this talk we will explore scalable IOMMU management designs, which would address the two main bottlenecks we find in current OSes: (1) assignment of IO virtual addresses (IOVAs), and (2) management of the IOMMU's TLB. We will describe and evaluate three approaches for scalable IOVA assignment: (1) dynamic identity mappings, which eschew IOVA allocation altogether, (2) allocating IOVAs using the kernel's kmalloc, and (3) per-core caching of IOVAs allocated by a globally-locked IOVA allocator. To complement them, we will also present a scalable IOMMU TLB management scheme that is compatible with all these approaches.

Back to the index of events