Abstract
In safety-critical systems, time predictability is vital. This extends to I/O operations that require predictability, timing-accuracy, parallel access, scalability, and isolation. Currently, existing approaches cannot achieve all these requirements at the same time. In this article, we propose a framework of hardware framework for real-time I/O virtualization—termed BlueIO—to meet all these requirements simultaneously.
BlueIO integrates the functionalities of I/O virtualization, low-layer I/O drivers, and a clock cycle level timing-accurate I/O controller (using the GPIOCP [36]). BlueIO provides this functionality in the hardware layer, supporting abstract virtualized access to I/O from the software domain. The hardware implementation includes I/O virtualization and I/O drivers, provides isolation and parallel (concurrent) access to I/O operations, and improves I/O performance. Furthermore, the approach includes the previously proposed GPIOCP to guarantee that I/O operations will occur at a specific clock cycle (i.e., be timing-accurate and predictable).
In this article, we present a hardware consumption analysis of BlueIO to show that it linearly scales with the number of CPUs and I/O devices, which is evidenced by our implementation in VLSI and FPGA. We also describe the design and implementation of BlueIO and demonstrate how a BlueIO-based system can be exploited to meet real-time requirements with significant improvements in I/O performance and a low running cost on different OSs.
- 2015. Bluespec Inc. Bluespec System Verilog (BSV). Retrieved from http://www.bluespec.com/products/.Google Scholar
- 2015. RTEMS Official Website. Retrieved from https://www.rtems.org/.Google Scholar
- 2015. uCos Official Website. Retrieved from https://www.micrium.com/rtos/kernels/.Google Scholar
- 2015. Xilinx Official Website. Retrieved from https://www.Xilinx.com.Google Scholar
- 2016. Retrieved from https://github.com/RTSYork/GPIOCP/.Google Scholar
- 2016. Encounter RTL Compiler. Retrieved from https://www.cadence.com/content/cadence-www/global/en_US/home/training/all-courses/84441.html.Google Scholar
- 2016. Encounter RTL Compiler. Retrieved from https://vlsiarch.ecen.okstate.edu/flows/.Google Scholar
- 2016. FreeRTOS official website. Retrieved from http://www.freertos.org/.Google Scholar
- 2016. Freescale Official Website. Retrieved from http://www.nxp.com/.Google Scholar
- 2016. KVM Official Website. Retrievedfrom https://www.linux-kvm.org/page/Main_Page.Google Scholar
- 2016. Microblaze User Manual. Retrieved from http://www.xilinx.com/support/documentation/sw_manuals/xilinx11/mb_ref_guide.pdf.Google Scholar
- 2016. SR-IOV Official Website. Retrieved from http://pcisig.com/.Google Scholar
- 2016. Tilera Official Website. Retrieved from http://www.tilera.com/.Google Scholar
- 2016. VC709 Official Website. Retrieved from https://www.xilinx.com/products/boards-and-kits/dk-v7-vc709-g.htmlGoogle Scholar
- 2016. VirtualBox Official Website. Retrieved from https://www.virtualbox.org/.Google Scholar
- 2016. VMware Official Website. Retrieved from https://www.vmware.com/.Google Scholar
- 2016. VxWorks Official Website. Retrieved from http://windriver.com/products/vxworks/.Google Scholar
- 2016. VxWorks Timer Library. Retrieved from http://www.vxdev.com/docs/vx55man/vxworks/ref/timerLib.html.Google Scholar
- 2016. Xen Official Website. Retrieved from https://www.xenproject.org/.Google Scholar
- 2017. Retrieved from https://github.com/RTSYork/BlueIO.Google Scholar
- K. Adams and O. Agesen. 2006. A comparison of software and hardware techniques for x86 virtualization. ACM Sigplan Notices 41, 11 (2006), 2--13. Google Scholar
Digital Library
- M. Ben-Yehuda, J. Xenidis, M. Ostrowski, K. Rister, A. Bruemmer, and L. Van Doorn. 2007. The price of safety: Evaluating IOMMU performance. In Proceedings of the Ottawa Linux Symposium. 9--20.Google Scholar
- R. Birkett. 2015. Enhancing real-time capabilities with the PRU. In Proceedings of the Embedded Linux Conference.Google Scholar
- A. Burns and A. J. Wellings. 2001. Real-time Systems and Programming Languages: Ada 95, Real-time Java, and Real-time POSIX. Pearson Education. Google Scholar
Digital Library
- Z. Cheng, R. West, and Y. Ye. 2017. Building real-time embedded applications on QduinoMC: A web-connected 3D printer case study. In Proceedings of the IEEE Real-Time and Embedded Technology and Applications Symposium. IEEE, 13--24.Google Scholar
- B. D. de Dinechin, P. G. de Massas, G. Lager, C. Léger, B. Orgogozo, J. Reybert, and T. Strudel. 2013. A distributed run-time environment for the Kalray MPPA-256 Integrated Manycore Processor. Procedia Comput. Sci. 18 (2013), 1654--1663.Google Scholar
Cross Ref
- Y. Dong, X. Yang, J. Li, G. Liao, K. Tian, and H. Guan. 2012. High performance network virtualization with SR-IOV. J. Parallel and Distrib. Comput. 72, 11 (2012), 1471--1480. Google Scholar
Digital Library
- Y. Dong, Z. Yu, and G. Rose. 2008. SR-IOV networking in Xen: Architecture, design, and implementation. In Proceedings of the Workshop on I/O Virtualization. Google Scholar
Digital Library
- C. Fetzer, U. Schiffel, and M. Süßkraut. 2009. AN-encoding compiler: Building safety-critical systems with commodity hardware. In Proceedings of the International Conference on Computer Safety, Reliability, and Security. Springer, 283--296. Google Scholar
Digital Library
- J. Garside and N.C. Audsley. 2013. Prefetching across a shared memory tree within a network-on-chip architecture. In Proceedings of the ISSoC. 1--4.Google Scholar
- M. D. Gomony, J. Garside, B. Akesson, N. C. Audsley, and K. Goossens. 2015. A generic, scalable, and globally arbitrated memory tree for shared DRAM access in real-time systems. In Proceedings of the Design, Automation and Test in Europe Conference and Exhibition (DATE’15). EDA Consortium, 193--198. Google Scholar
Digital Library
- M. Gomony, J. Garside, B. Akesson, N. C. Audsley, and K. Goossens. 2016. A globally arbitrated memory tree for mixed-time-criticality systems. IEEE Trans. Comput. 66, 2 (2016), 212--225. Google Scholar
Digital Library
- G. Heiser and B. Leslie. 2010. The OKL4 microvisor: Convergence point of microkernels and hypervisors. In Proceedings of the ACM Asia-Pacific Workshop on Systems. ACM, 19--24. Google Scholar
Digital Library
- R. Hiremane. 2007. Intel virtualization technology for directed I/O (Intel VT-D). Technol. Intel Mag. 4, 10 (2007).Google Scholar
- L. S. Indrusiak, J. Harbin, and M. J. Sepulveda. 2017. Side-channel attack resilience through route randomisation in secure real-time networks-on-chip. In Proceedings of the International Symposium on Reconfigurable Communication-centric Systems-on-Chip (ReCoSoC’17). 1--8.Google Scholar
- Z. Jiang and N. C. Audsley. 2017. GPIOCP: Timing-accurate general purpose I/O controller for many-core real-time systems. In Proceedings of the Design, Automation and Test in Europe Conference and Exhibition (DATE’17). EDA Consortium. Google Scholar
Digital Library
- Z. Jiang and N. C. Audsley. 2017. VCDC: The virtualized complicated device controller. In LIPIcs-Leibniz Int. Proc. Inform., Vol. 76. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.Google Scholar
- J. Jose, M. Li, X. Lu, K. C. Kandalla, M. D. Arnold, and D. K. Panda. 2013. SR-IOV support for virtualization on infiniband clusters: Early experiences. In Proceedings of the IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid’13). IEEE, 385--392.Google Scholar
- J.-H. Kim, S. Sukkarieh, and S. Wishart. 2003. Real-time navigation, guidance, and control of a UAV using low-cost sensors. In Field Serv. Robotics. Springer, 299--309.Google Scholar
- F. Kuhns, D. C. Schmidt, and D. L. Levine. 1999. The design and performance of a real-time I/O subsystem. In Proceedings of the IEEE Real-Time Technology and Applications Symposium. IEEE, 154--163. Google Scholar
Digital Library
- J. A. Landis, T. V. Powderly, R. Subrahmanian, A. Puthiyaparambil, and J. R. Hunter Jr. 2011. Computer system para-virtualization using a hypervisor that is implemented in a partition of the host system. U.S. Patent No. 7,984,108.Google Scholar
- Y. Li, M. Danish, and R. West. 2011. Quest-V: A virtualized multikernel for high-confidence systems. arXiv preprint arXiv:1112.5136 (2011).Google Scholar
- M. Masmano, I. Ripoll, A. Crespo, and J. Metge. 2009. Xtratum: A hypervisor for safety critical embedded systems. In Proceedings of the 11th Real-Time Linux Workshop. 263--272.Google Scholar
- J. Mossinger. 2010. Software in automotive systems. IEEE Softw. 27, 2 (2010), 92. Google Scholar
Digital Library
- D. Ongaro, A. L. Cox, and S. Rixner. 2008. Scheduling I/O in virtual machine monitors. In Proceedings of the ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments. ACM, 1--10. Google Scholar
Digital Library
- S. Pinto, J. Pereira, T. Gomes, A. Tavares, and J. Cabral. 2017. LTZVisor: TrustZone is the key. In LIPIcs-Leibniz Int. Proc. Inform., Vol. 76. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.Google Scholar
- G. Plumbridge, J. Whitham, and N. Audsley. 2014. Blueshell: A platform for rapid prototyping of multiprocessor NoCs and accelerators. ACM SIGARCH Comput. Arch. News 41, 5 (2014), 107--117. Google Scholar
Digital Library
- K. K. Ram, J. R. Santos, Y. Turner, A. L. Cox, and S. Rixner. 2009. Achieving 10 Gb/s using safe and transparent network interface virtualization. In Proceedings of the ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments. ACM, 61--70. Google Scholar
Digital Library
- J. Sahoo, S. Mohapatra, and R. Lath. 2010. Virtualization: A survey on concepts, taxonomy, and associated security issues. In Proceedings of the International Conference on Computer and Network Technology. IEEE, 222--226. Google Scholar
Digital Library
- M. Schoeberl, S. Abbaspour, B. Akesson, N. C. Audsley, R. Capasso, J. Garside, K. Goossens, S. Goossens, S. Hansen, and R. Heckmann. 2015. T-CREST: Time-predictable multi-core architecture for embedded systems. J. Syst. Arch. 61, 9 (2015), 449--471. Google Scholar
Digital Library
- S. Trujillo, A. Crespo, and A. Alonso. 2013. Multipartes: Multicore virtualization for mixed-criticality systems. In Proceedings of the Euromicro Conference on Digital System Design. IEEE, 260--265. Google Scholar
Digital Library
Index Terms
BlueIO: A Scalable Real-Time Hardware I/O Virtualization System for Many-core Embedded Systems
Recommendations
Performance implications of non-uniform VCPU-PCPU mapping in virtualization environment
Virtualization technology promises to provide better isolation and consolidation in traditional servers. However, with VMM (virtual machine monitor) layer getting involved, virtualization system changes the architecture of traditional software stack, ...
Architectural characterization of VM scaling on an SMP machine
ISPA'06: Proceedings of the 2006 international conference on Frontiers of High Performance Computing and NetworkingThe use of virtualization as a means to consolidate multiple applications on the same server platform continues to grow in the datacenter. However, the performance implications in a virtualized environment are not yet thoroughly understood for key ...
VNET/P: bridging the cloud and high performance computing through fast overlay networking
HPDC '12: Proceedings of the 21st international symposium on High-Performance Parallel and Distributed ComputingIt is now possible to allow VMs hosting HPC applications to seamlessly bridge distributed cloud resources and tightly-coupled supercomputing and cluster resources. However, to achieve the application performance that the tightly-coupled resources are ...






Comments