Creative Commons Attribution 3.0 Unported license
I/O virtualization enables time and space multiplexing of I/O devices, by mapping multiple logical I/O devices upon a smaller number of physical devices. However, due to the existence of additional virtualization layers, requesting an I/O from a guest virtual machine requires complicated sequences of operations. This leads to I/O performance losses, and makes precise timing of I/O operations unpredictable. This paper proposes a hardware I/O virtualization system, termed the Virtualized Complicated Device Controller (VCDC). This I/O system allows user applications to access and operate I/O devices directly from guest VMs, and bypasses the guest OS, the Virtual Machine Monitor (VMM) and low layer I/O drivers. We show that the VCDC efficiently reduces the software overhead and enhances the I/O performance and timing predictability. Furthermore, VCDC also exhibits good scalability that can handle I/O requests from variable number of CPUs in a system.
@InProceedings{jiang_et_al:LIPIcs.ECRTS.2017.5,
author = {Jiang, Zhe and Audsley, Neil},
title = {{VCDC: The Virtualized Complicated Device Controller}},
booktitle = {29th Euromicro Conference on Real-Time Systems (ECRTS 2017)},
pages = {5:1--5:20},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-037-8},
ISSN = {1868-8969},
year = {2017},
volume = {76},
editor = {Bertogna, Marko},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECRTS.2017.5},
URN = {urn:nbn:de:0030-drops-71501},
doi = {10.4230/LIPIcs.ECRTS.2017.5},
annote = {Keywords: Many-core System, I/O Virtualization, Real-time I/O, Hardware Manager}
}