Real-Time Capable Virtualization Solutions
In the course of the more and more increasing amount of CPU cores on modern embedded systems, virtualization becomes an important issue in current and future projects. The main advantages of virtualization in industrial applications are cost reduction and space-saving by using a single hardware for multiple tasks. In the past, user interfaces and real-time automation systems had to be separated into multiple hardware systems, as the fancy UI would interfere with the real-time automation system. With a so called partitioning hypervisor like Jailhouse , a project managed by Siemens, it is possible to combine real-time capability and virtualization.
Jailhouse makes use of the ARM Virtualization Extensions to separate CPUs, GPUs and peripherals like CAN, Ethernet, I2C, SPI and others. The separated units are called cells and their payloads are called inmates. These cells cannot interfere with each other, as the hypervisor controls the cell's access to the system's resources. In an example scenario with the RZ/G1H, one could use 6 cores and the GPU for a sophisticated Qt user interface, 1 core for a FreeRTOS application using the CAN interface and 1 core for a bare metal application using the I2C interface. Both the FreeRTOS and the bare metal application could run in a real-time environment, as they are separated from the other components of the system and have exclusive access to their dedicated resources.