Evaluating platform software architectures for nextgen embedded multicore designs
An important advantage Option 2 has over Options 3 and 4 is the ability of a single high reliability operating system to completely control the hardware. With Options 3 and 4, the control plane OS has no direct control over the real-time cores and vice-versa. Thus, control and data plane workloads could interfere with each other.
For example, an errant DMA programmed by the LWE could corrupt the control plane OS. Another example is cryptography and key management: malware in Linux could access critical algorithms and parameters controlled by a security subsystem running on other cores. In other words, the system has a division of resources but lacks strict isolation and access control of those resources.
The good news is that hardware hypervisor support is being integrated into these multicore processors. For example, the Freescale P4080 supports the hypervisor mode extensions in Power Architecture ISA 2.06, enabling full virtualization of guest operating systems with minimal overhead.
Virtualization software and hardware can transform Option 4 into a strictly partitioned system that still retains the flexibility of running different operating systems for control and data plane workloads. In fact, some real-time operating systems have virtualization built-in, precluding the need for a separate hypervisor layer (Figure 7 below).

Figure 7 - Linux and RTOS partitioning using virtualization
In the above diagram, the multivisor runs the high-performance, low-latency real-time threads directly while executing Linux SMP and its control plane software in a virtual machine.
A hypervisor-managed system has other important advantages over the traditional AMP division of labor. Virtualization provides the flexibility of changing the allocation of control and data plane operating systems to cores.
For example, in a normal mode of operation, the architect may only want to use a single core for control activities and all other cores for data processing. However, the system can be placed into a maintenance mode in which Linux is allowed to use four cores (SMP) while the data processing is temporarily throttled back. The virtualization layer can handle the reallocation of cores seamlessly under the hood, something that a static AMP system cannot support.
Interprocess communications (IPC) is another key advantage of hypervisors. Inevitably, the control and real-time subsystems will need to communicate. For example, control plane routing changes will need to be communicated to the hardware-accelerated forwarding engines in the data plane.
With an AMP system, a custom IPC mechanism is typically implemented with new backplane device drivers for the control and data plane operating systems. In contrast, the hypervisor provides built-in IPC mechanisms that allow virtualized guests to use its preexisting interfaces (such as an Ethernet driver) without any custom changes.
Linux thinks it is sending data over a NIC, but the NIC is virtualized and its data transfers converted under the hood to backplane messaging built-in to the hypervisor.


Loading comments... Write a comment