vIOMMU: efficient IOMMU emulation

作者: Dan Tsafrir , Muli Ben-Yehuda , Nadav Amit , Assaf Schuster

DOI:

关键词: Virtual machineIsolation (database systems)Line rateComputer scienceEmbedded systemEmulationMemory overcommitmentDirect deviceHost (network)Operating system

摘要: Direct device assignment, where a guest virtual machine directly interacts with an I/O without host intervention, is appealing, because it allows unmodified (non-hypervisor-aware) to achieve near-native performance. But assignment for guests suffers from two serious deficiencies: (1) requires pinning all of the guest's pages, thereby disallowing memory overcommitment, and (2) exposes buggy drivers. We solve these problems by designing, implementing, exposing emulated IOMMU (vIOMMU) guest. We employ novel optimizations make vIOMMU perform well: waiting few milliseconds before tearing down mapping in hope will be immediately reused ("optimistic teardown"), running on sidecore, enabling first time use sidecore guests. Both are highly effective isolation. The former bare-metal 100% 10Gbps line rate. combination do same.

参考文章(41)
Leah Shalev, Muli Ben-Yehuda, Julian Satran, Eran Borovik, IsoStack: highly efficient network processing on dedicated cores usenix annual technical conference. pp. 5- 5 ,(2010)
Muli Ben-Yehuda, Alex Landau, Abel Gordon, SplitX: split guest/hypervisor execution on multi-core WIOV'11 Proceedings of the 3rd conference on I/O virtualization. pp. 1- 1 ,(2011)
Rafal Wojtczuk, Subverting the Xen hypervisor ,(2008)
Ada Gavrilovska, Ripal Nathuji, Karsten Schwan, Adit Ranadive, Radhika Niranjan, Vishakha Gupta, Purav Saraiya, Himanshu Raj, Sanjay Kumar, High-Performance Hypervisor Architectures: Virtualization in HPC Systems ,(2007)
Fabrice Bellard, QEMU, a fast and portable dynamic translator usenix annual technical conference. pp. 41- 41 ,(2005)
Timothy Roscoe, Adrian Schüpbach, Rebecca Isaacs, Akhilesh Singhania, Andrew Baumann, Simon Peter, Paul Barham, Your computer is already a distributed system. why isn't your OS? HotOS'09 Proceedings of the 12th conference on Hot topics in operating systems. pp. 12- 12 ,(2009)
Emin Gün Sirer, Fred B. Schneider, Kevin Walsh, Dan Williams, Patrick Reynolds, Device driver safety through a reference validation mechanism operating systems design and implementation. pp. 241- 254 ,(2008) , 10.5555/1855741.1855758
Jeremy Sugerman, Beng-Hong Lim, Ganesh Venkitachalam, Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor usenix annual technical conference. pp. 1- 14 ,(2001)
Ben-Ami Yassour, Muli Ben-Yehuda, Michael Factor, Orit Wasserman, Nadav Har'El, Anthony Liguori, Abel Gordon, Zvi Dubitzky, Michael D. Day, The turtles project: design and implementation of nested virtualization operating systems design and implementation. pp. 423- 436 ,(2010) , 10.5555/1924943.1924973
Rusty Russell, virtio: towards a de-facto standard for virtual I/O devices Operating Systems Review. ,vol. 42, pp. 95- 103 ,(2008) , 10.1145/1400097.1400108