Affiliation:
1. Technion -- Israel Institute of Technology, Haifa, Israel
Abstract
The IOMMU allows the OS to encapsulate I/O devices in their own virtual memory spaces, thus restricting their DMAs to specific memory pages. The OS uses the IOMMU to protect itself against buggy drivers and malicious/errant devices. But the added protection comes at a cost, degrading the throughput of I/O-intensive workloads by up to an order of magnitude. This cost has motivated system designers to trade off some safety for performance, e.g., by leaving stale information in the IOTLB for a while so as to amortize costly invalidations. We observe that high-bandwidth devices---like network and PCIe SSD controllers---interact with the OS via circular ring buffers that induce a sequential, predictable workload. We design a ring IOMMU (rIOMMU) that leverages this characteristic by replacing the virtual memory page table hierarchy with a circular, flat table. A flat table is adequately supported by exactly one IOTLB entry, making every new translation an implicit invalidation of the former and thus requiring explicit invalidations only at the end of I/O bursts. Using standard networking benchmarks, we show that rIOMMU provides up to 7.56x higher throughput relative to the baseline IOMMU, and that it is within 0.77--1.00x the throughput of a system without IOMMU protection.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference53 articles.
1. A Guided Tour through Data-center Networking
2. Brian Aker. Memslap - load testing and benchmarking a server. http://docs.libmemcached.org/bin/memslap.html. libmemcached 1.1.0 documentation. Accessed: Jan 2015. Brian Aker. Memslap - load testing and benchmarking a server. http://docs.libmemcached.org/bin/memslap.html. libmemcached 1.1.0 documentation. Accessed: Jan 2015.
3. AMD Inc. AMD IOMMU architectural specification rev 2.00. http://support.amd.com/TechDocs/48882.pdf Mar 2011. Accessed: Jan 2015. AMD Inc. AMD IOMMU architectural specification rev 2.00. http://support.amd.com/TechDocs/48882.pdf Mar 2011. Accessed: Jan 2015.
Cited by
6 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. BypassD: Enabling fast userspace access to shared SSDs;Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 1;2024-04-17
2. IOMMU Deferred Invalidation Vulnerability: Exploit and Defense;2024 Design, Automation & Test in Europe Conference & Exhibition (DATE);2024-03-25
3. CLMalloc: contiguous memory management mechanism for large-scale CPU-accelerator hybrid architectures;Third International Symposium on Computer Engineering and Intelligent Communications (ISCEIC 2022);2023-02-02
4. True IOMMU Protection from DMA Attacks;ACM SIGARCH Computer Architecture News;2016-07-29
5. True IOMMU Protection from DMA Attacks;ACM SIGPLAN Notices;2016-06-09