The Price of Safety : Evaluating IOMMU Performance

The Price of Safety : Evaluating IOMMU Performance
复制标题

DOI:
--
复制
发表时间:
2007
期刊:
--
影响因子:
--
通讯作者:
Muli Ben-Yehuda;J. Xenidis;Michal Ostrowski;Karl Rister;Alexis Bruemmer;L. V. Doorn
Muli Ben-Yehuda;J. Xenidis;Michal Ostrowski;Karl Rister;Alexis Bruemmer;L. V. Doorn
中科院分区:
其他
文献类型:
--
作者:
Muli Ben-Yehuda;J. Xenidis;Michal Ostrowski;Karl Rister;Alexis Bruemmer;L. V. Doorn

文献摘要

被引文献

相似文献

IO Memory Management单元是将设备DMA地址转换为机器地址的硬件设备。通过防止Rogue设备执行错误或恶意DMA的服务,从而大大提高了系统的可靠性和可用性iommu可以将外围设备覆盖系统内存的任何部分。 ,除了英特尔和AMD在所有新服务器中介绍具有隔离的IOMMU的介绍外,Iommus还是无处不在提供有价值的服务,由于执行DMA操作所需的额外内存访问,IOMMUS可以施加性能。在裸金属和管理器环境中,在Linux中的Calgary和Dart Iommus的特征。进行了测量和没有IOMMU的工作负载,并分析了减轻Iommu成本的潜在策略。
IOMMUs, IO Memory Management Units, are hardware devices that translate device DMA addresses to machine addresses. An isolation capable IOMMU restricts a device so that it can only access parts of memory it has been explicitly granted access to. Isolation capable IOMMUs perform a valuable system service by preventing rogue devices from performing errant or malicious DMAs, thereby substantially increasing the system’s reliability and availability. Without an IOMMU a peripheral device could be programmed to overwrite any part of the system’s memory. Operating systems utilize IOMMUs to isolate device drivers; hypervisors utilize IOMMUs to grant secure direct hardware access to virtual machines. With the imminent publication of the PCI-SIG’s IO Virtualization standard, as well as Intel and AMD’s introduction of isolation capable IOMMUs in all new servers, IOMMUs will become ubiquitous. Although they provide valuable services, IOMMUs can impose a performance penalty due to the extra memory accesses required to perform DMA operations. The exact performance degradation depends on the IOMMU design, its caching architecture, the way it is programmed and the workload. This paper presents the performance characteristics of the Calgary and DART IOMMUs in Linux, both on bare metal and in a hypervisor environment. The throughput and CPU utilization of several IO workloads, with and without an IOMMU, are measured and the results are analyzed. The potential strategies for mitigating the IOMMU’s costs are then discussed. In conclusion a set of optimizations and resulting performance improvements are presented.