Abstract
In latest heterogeneous multicore architectures, the number of cores competing for a shared resource is further increasing. Such shared resources range from simple I/O interfaces to memory controllers. The performance of the complete System-On-Chip (SoC) is directly correlated to the sharing of resources. Especially the hardly predictable blocking of resources for a certain time, forces the system to slow down in a way that is not intended. Hence new concepts for the sharing of resources need to be developed. The use of virtualization provides possibilities to handle the sharing of resources but always introduces an overhead in software in form of a hypervisor and also needs support on hardware level. In this contribution we explore the idea of using the FPGA fabric as intermediate hardware virtualization layer between the cores and existing peripherals in a heterogeneous multicore SoC. This paper applies the idea exemplarily to Controller Area Network (CAN) virtualization, including concept and evaluation. We show the transparency of a virtualization layer and its introduction with low overhead of area and latency, which might serve as efficient add-on in a virtualized environment.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Aguiar, A., Hessel, F.: Embedded systems’ virtualization: the next challenge? In: 21st IEEE International Symposium on Rapid System Prototyping, pp. 1–7, June 2010
Gansel, S., Schnitzer, S., Dürr, F., Rothermel, K., Maihöfer, C.: Towards virtualization concepts for novel automotive HMI systems. In: Schirner, G., Götz, M., Rettberg, A., Zanella, M.C., Rammig, F.J. (eds.) IESS 2013. IFIP AICT, vol. 403, pp. 193–204. Springer, Heidelberg (2013)
Heiser, G.: The role of virtualization in embedded systems. In: Proceedings of 1st Workshop on Isolation and Integration in Embedded Systems. ACM (2008)
Herber, C., Reinhardt, D., Richter, A., Herkersdorf, A.: HW/SW trade-offs in I/O virtualization for controller area network
Herber, C., Richter, A., Rauchfuss, H., Herkersdorf, A.: Self-virtualized CAN controller for multi-core processors in real-time applications. In: Kubátová, H., Hochberger, C., Daněk, M., Sick, B. (eds.) ARCS 2013. LNCS, vol. 7767, pp. 244–255. Springer, Heidelberg (2013)
Herber, C., Richter, A., Rauchfuss, H., Herkersdorf, A.: Spatial and temporal isolation of virtual can controllers. SIGBED Rev. 11(2), 19–26 (2014)
Kim, J., Lee, S., Jin, H.: Fieldbus virtualization for integrated modular avionics. In: IEEE 16th Conference on Emerging Technologies & Factory Automation (ETFA) (2011)
Menon, A., Santos, J.R., Turner, Y., Janakiraman, G.J., Zwaenepoel, W.: Diagnosing performance overheads in the xen virtual machine environment. In: Proceedings of the 1st ACM/USENIX International Conference on Virtual Execution Environments (2005)
Pham, K.D., Jain, A., Cui, J., Fahmy, S., Maskell, D.: Microkernel hypervisor for a hybrid arm-FPGA platform. In: Application-Specific Systems, Architectures and Processors (ASAP) (2013)
Pratt, I., Fraser, K., Hand, S., Limpach, C., Warfield, A., Magenheimer, D., Nakajima, J., Mallick, A.: Xen 3.0 and the art of virtualization. In: Proceedings of the 2005 Ottawa Linux Symposium, July 2005
Raj, H., Schwan, K.: High performance and scalable I/O virtualization via self-virtualized devices. In: Proceedings of the 16th International Symposium on High Performance Distributed Computing, HPDC 2007, New York, NY, USA (2007)
Reinhardt, D., Adam, D., Luebbers, E., Amarnath, R., Schneider, R., Gansel, S., Schnitzer, S., Herber, C., Sandmann, T., Michel, H.U., Kaule, D., Olkun, D., Rehm, M., Harnisch, J., Richter, A., Baehr, S., Sander, O., Becker, J., Baumgarten, U., Theiling, H.: Embedded virtualization approaches for ensuring safety and security within e/e automotive systems. In: Embedded World Conference (2015)
Reinhardt, D., Güntner, M., Obermeir, S.: Virtualized communication controllers in safety-related automotive embedded systems. In: Pinho, L.M.P., Karl, W., Cohen, A., Brinkschulte, U. (eds.) ARCS 2015. LNCS, vol. 9017, pp. 173–185. Springer, Heidelberg (2015)
Sugerman, J., Venkitachalam, G., Lim, B.H.: Virtualizing I/O devices on vmware workstation’s hosted virtual machine monitor. In: Proceedings of the General Track: USENIX Annual Technical Conference (2001)
Vuletic, M., Righetti, L., Pozzi, L., Ienne, P.: Operating system support for interface virtualisation of reconfigurable coprocessors. In: Proceedings of the Design, Automation and Test in Europe Conference and Exhibition (2004)
Xilinx: Zynq-7000 All Programmable SoC, technical Reference Manual (2013)
Xilinx: LogiCORE IP AXI Timer v2.0, product Guide (2014)
Acknowledgment
This work was funded within the project ARAMiS by the German Federal Ministry for Education and Research with the funding IDs 01IS11035. The responsibility for the content remains with the authors.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Bapp, F.K., Sander, O., Sandmann, T., Stoll, H., Becker, J. (2016). Programmable Logic as Device Virtualization Layer in Heterogeneous Multicore Architectures. In: Bonato, V., Bouganis, C., Gorgon, M. (eds) Applied Reconfigurable Computing. ARC 2016. Lecture Notes in Computer Science(), vol 9625. Springer, Cham. https://doi.org/10.1007/978-3-319-30481-6_22
Download citation
DOI: https://doi.org/10.1007/978-3-319-30481-6_22
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-30480-9
Online ISBN: 978-3-319-30481-6
eBook Packages: Computer ScienceComputer Science (R0)