VCDC: The Virtualized Complicated Device Controller

Authors Zhe Jiang, Neil Audsley

Thumbnail PDF


  • Filesize: 2.48 MB
  • 20 pages

Document Identifiers

Author Details

Zhe Jiang
Neil Audsley

Cite AsGet BibTex

Zhe Jiang and Neil Audsley. VCDC: The Virtualized Complicated Device Controller. In 29th Euromicro Conference on Real-Time Systems (ECRTS 2017). Leibniz International Proceedings in Informatics (LIPIcs), Volume 76, pp. 5:1-5:20, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2017)


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.
  • Many-core System
  • I/O Virtualization
  • Real-time I/O
  • Hardware Manager


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads


  1. Keith Adams and Ole Agesen. A comparison of software and hardware techniques for x86 virtualization. SIGARCH Comput. Archit. News, 34(5):2-13, October 2006. URL:
  2. Muli Ben-Yehuda, Jimi Xenidis, Michal Ostrowski, Karl Rister, Alexis Bruemmer, and Leendert Van Doorn. The price of safety: Evaluating IOMMU performance. In The Ottawa Linux Symposium, pages 9-20, 2007. URL:
  3. Alan Burns and Andrew J Wellings. Real-time systems and programming languages: Ada 95, Real-Time Java, and Real-Time POSIX. Pearson Education, 2001. Google Scholar
  4. Yaozu Dong, Xiaowei Yang, Jianhui Li, Guangdeng Liao, Kun Tian, and Haibing Guan. High performance network virtualization with SR-IOV. J. Parallel Distrib. Comput., 72(11):1471-1480, November 2012. URL:
  5. Yaozu Dong, Zhao Yu, and Greg Rose. SR-IOV networking in Xen: Architecture, design and implementation. In Proceedings of the First Conference on I/O Virtualization, WIOV'08, pages 10-10, Berkeley, CA, USA, 2008. USENIX Association. URL:
  6. FreeRTOS. FreeRTOS I/O official website. Accessed September 27, 2016.
  7. FreeRTOS. FreeRTOS official website. Accessed September 27, 2016.
  8. Marisol García-Valls, Tommaso Cucinotta, and Chenyang Lu. Challenges in Real-time virtualization and predictable cloud computing. J. Syst. Archit., 60(9):726-740, October 2014. URL:
  9. Jamie Garside and Neil Audsley. Prefetching across a shared memory tree within a Network-on-Chip architecture. In 2013 International Symposium on System on Chip (SoC), pages 1-4, Oct 2013. URL:
  10. Manil Gomony, Jamie Garside, Benny Akesson, Neil Audsley, and Kees Goossens. A globally arbitrated memory tree for mixed-time-criticality systems. IEEE Transactions on Computers, pages 1-1, 2016. URL:
  11. Manil Dev Gomony, Jamie Garside, Benny Akesson, Neil Audsley, and Kees Goossens. A generic, scalable and globally arbitrated memory tree for shared DRAM access in Real-Time systems. In Design, Automation & Test in Europe Conference & Exhibition (DATE), 2015. IEEE Conference Publications, 2015. URL:
  12. Radhakrishna Hiremane. Intel virtualization technology for directed I/O (Intel VT-d). Technology@ Intel Magazine, 4(10), 2007. Google Scholar
  13. Bluespec Inc. Bluespec System Verilog (BSV). Accessed September 27, 2015.
  14. Zhe Jiang. VCDC technical report. Accessed January 27, 2017.
  15. Jithin Jose, Mingzhe Li, Xiaoyi Lu, Krishna Chaitanya Kandalla, Mark Daniel Arnold, and Dhabaleswar K. Panda. SR-IOV support for virtualization on InfiniBand clusters: Early experience. In 2013 13th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing. IEEE, may 2013. URL:
  16. Silicon Labs. UCOS official website. Accessed September 27, 2015.
  17. John A. Landis, Terrence V. Powderly, Rajagopalan Subrahmanian, Aravindh Puthiyaparambil, and James R. Hunter Jr. Computer system para-virtualization using a hypervisor that is implemented in a partition of the host system, July 19 2011. US Patent 7,984,108. Google Scholar
  18. Jürgen Mössinger. Software in automotive systems. IEEE Software, 27(2):92-94, mar 2010. URL:
  19. Gil Neiger. Intel virtualization technology: Hardware support for efficient processor virtualization. Intel Technology Journal, 10(03), aug 2006. URL:
  20. PCI-SIG. SR-IOV official website. Accessed September 27, 2016.
  21. Gary Plumbridge, Jack Whitham, and Neil Audsley. Blueshell: a platform for rapid prototyping of multiprocessor NoCs and accelerators. ACM SIGARCH Computer Architecture News, 41(5):107-117, jun 2014. URL:
  22. D. Plummer. Ethernet address resolution protocol: Or converting network protocol addresses to 48.bit ethernet address for transmission on ethernet hardware, nov 1982. URL:
  23. Jyotiprakash Sahoo, Subasish Mohapatra, and Radha Lath. Virtualization: A survey on concepts, taxonomy and associated security issues. In 2010 Second International Conference on Computer and Network Technology. IEEE, 2010. URL:
  24. Pang Wei Tsai, Hou Yi Chou, Mon Yen Luo, and Chu Sing Yang. Design a flexible software development environment on NetFPGA platform. In Applied Mechanics and Materials, volume 411-414, pages 1665-1669. Trans Tech Publications, sep 2013. URL:
  25. Carl Waldspurger and Mendel Rosenblum. I/O virtualization. Communications of the ACM, 55(1):66-73, 2012. Google Scholar
  26. Richard West, Ye Li, and Eric S. Missimer. Quest-v: A virtualized multikernel for safety-critical Real-Time systems. CoRR, abs/1310.6349, 2013. URL:
  27. Xilinx. Microblaze user manual. Accessed August 27, 2016.
  28. Xilinx. VC709 official website. Accessed August 27, 2016.
  29. Xilinx. Xilinx 1G/2.5G Ethernet subsystem manual. Accessed August 27, 2016.
  30. Xilinx. Xilinx AXI FIFO user manual. Accessed August 27, 2016.
  31. Xilinx. Xilinx official website. Accessed July 5, 2015.
  32. Neil Audsley Zhe Jiang. GPIOCP: Timing-accurate general purpose i/o controller for many-core Real-time systems. In Proceedings of the 2017 Design, Automation &Test in Europe Conference &Exhibition. EDA Consortium, 2017. Google Scholar
  33. Richard West Zhuoqun Cheng and Ying Ye. Building Real-Time embedded applications on QduinoMC: A web-connected 3d printer case study. In Real-Time and Embedded Technology and Applications Symposium (RTAS), 2017 IEEE. IEEE, 2017. Google Scholar
Questions / Remarks / Feedback

Feedback for Dagstuhl Publishing

Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail