Rawpixel - Fotolia
An embedded hypervisor can make IT administrators' lives much easier by supporting OS independence, multiple OSes and bolstered security. But if implemented incorrectly, it can also introduce difficulties, such as latency and performance issues.
Embedded hypervisor use is more popular as admins look for lowered costs, simplified hardware and improved performance. Embedded hypervisors use reduced instruction sets to better utilize hardware, and they rely on preinstalled software to execute tasks and improve performance.
Some examples of embedded hypervisors include the Xvisor hypervisor, Mentor Embedded Hypervisor and ACRN hypervisor.
Understand the value of embedded hypervisors
To better understand embedded hypervisors, admins must first know the difference between complex instruction set computing (CISC) devices and reduced instruction set computing (RISC) devices.
CISC devices are everyday enterprise servers and computing endpoints that can host an OS and run any application, such as PCs, laptops, tablets and cellphones. RISC devices use a hypervisor to better use computing resources and reduced instruction sets to increase performance.
Embedded hypervisors are generally RISC devices, though they can use CISC architecture in some cases. Embedded hypervisors essentially use preinstalled software, such as firmware, to execute computing tasks. By adding a hypervisor to an embedded system, the hypervisor, therefore, becomes an embedded hypervisor; at which point, admins benefit from OS independence, support for multiple OSes, increased security and the ability to use legacy code.
One thing to note is that once admins implement a hypervisor in an embedded system, the hypervisor is added to the permanent code base. In addition, embedded hypervisors are not used to increase hardware resource use. They are generally resource-limited devices with stripped-down instruction sets and can execute only specific tasks.
Things to consider before embedded hypervisor implementation
Prior to embedded hypervisor installation, admins must consider a few components such as storage, memory, system performance and scheduling. This is because embedded hypervisors introduce limitations on available resources, which can cause system and processor latency as well as resource contention.
Admins should get rid of any superfluous features to ease code bloat. This minimizes the embedded hypervisors' footprint and increases storage availability, which encourages faster performance.
Admins must also address any latency issues early on and ensure their embedded hypervisor guarantees minimum latency. One way to reduce latency is to take advantage of scheduling to guarantee processors are not working on too many tasks at once.
Other considerations include any licensing costs, feature roadmaps and updates, all of which can potentially affect embedded hypervisor implementation and performance.
When to use an embedded hypervisor
Despite an embedded hypervisor being classified as a RISC device -- meaning it is a resource-limited and task-specific -- there are several use cases where admins benefit from using an embedded hypervisor in their systems.
For example, admins can use an embedded hypervisor to simplify system hardware, which enables the use of two or more different OSes to execute a task. The automotive and medical industries use embedded hypervisors to integrate vast amounts of data into fewer hardware through virtualization.
The benefit of using embedded hypervisors is not only for improved hardware use, but also to ensure the VM security, provide software/OS interoperability, as well as ease software testing and VM updates.
Embedded hypervisor options
Embedded hypervisor use is steadily increasing as admins demand lower costs and increased efficiency for their virtual systems. Because of their ability to provide increased reliability, flexibility and security, embedded hypervisors are an attractive option to many admins, and there are several products out on the market.
Mentor Embedded Hypervisor. A Type 1 hypervisor designed for fast startups, the Mentor Embedded Hypervisor has little to no effect on the performance of guest OSes. The hypervisor provides admins with strong isolation of guest OSes and provisions system resources to avoid application issues from affecting parts of the system.
Xvisor hypervisor. A Type 1 hypervisor that is open source, monolithic and feature-rich, the Xvisor hypervisor can support high-performance operation on x86, 64-bit and ARM 5 through ARM 8 processors, though it can also support older ARM chips without ARM virtualization extensions. Xvisor can perform guest creation and destruction, network virtualization and input device virtualization.
ACRN hypervisor. An open source hypervisor designed for IoT use cases, the ACRN hypervisor supports complex computing systems, has a small footprint and low latency. Admins generally use ACRN because of its ability to support multiple VMs and its support for security and isolation of VM instances.
Crucible Embedded Hypervisor. A lightweight, high-performance hypervisor designed for military tasks, the Crucible Embedded Hypervisor is fault-tolerant and provides strong system component isolation. It can also simultaneously support security tasks such as VPNs, encryption and monitoring.
OKL4 Hypervisor. A real-time, Type 1 hypervisor, the OKL4 Hypervisor supports Linux, VxWorks and Android instances. It provides secure and optimized performance, as well as supports granular policies and the ARM TrustZone. What makes the OKL4 Hypervisor unique is its ability to manage voltage and frequency scaling, which helps minimize system power use.