<div class='slidealt'>Virtualization solutions for heterogeneous <a title='ARMv7-ARMv8 virtualization open source solutions' href='/en/solutions'>ARM multicore systems</a></div> <div class='slidealt'>Virtualization research projects <a title='ARM multicore kvm open source' href='/en/research'>in cloud and embedded systems</a></div> <div class='slidealt'>KVM on ARMv7 and ARMv8 <a title='kvm-on-arm open source smu extensions' href='/en/solutions/guides/vfio-on-arm/'>IOMMU full virtualization</a></div> <div class='slidealt'>Benefit from custom <a title='kvm on arm services full virtualization' href='/en/services'>virtualization services</a></div> <div class='slidealt'>Experience kvm <a title='virtualization for embedded heterogeneous arm core platforms' href='/en/products'>virtualization extensions</a></div>

vManager: An implementation of a Physical Partition Manager (PPM) for VOSySmonitor (ARMv7/ARMv8) and VOSySmonitoRV (RISC-V)

vManager makes hardware partitions dinamically defined and mutable for ARM and RISC-V architectures

vManager: Physical Partition Manager for ARM and RISC-V

Virtual Open Systems has developed vManager, a system module implementing the concept of a Physical Partition Manager (PPM), with the objective to make more dynamic the partitions created by VOSySmonitor and its RISC-V counterpart VOSySmonitoRV. As the reader might be already aware, VOSySmonitor (from this moment onwards, this name will refer to both the ARM and RISC-V product declinations) enables the user to create isolated partitions where to execute bare-metal operating systems of diverse natures, like for instance a GPOS such as Linux or a more safety-oriented RTOS. So far, the characteristics of such compartments were statically defined.

Actually, their instantiations were also hard-wired to the system boot process. With VOSySmonitor alone, you could personalize the number of compartments, their respective memory and CPU cores, and these were expected to be brought up at boot time. This boot scheme often requires a quick synchronization between compartments, to enforce a boot order of the OSes that would allow the proper configuration of the board.

vManager drastically improves the flexibility of hardware partitions allowing for dynamic instantiation and destruction

In some scenarios, this hard-coded boot scheme is not flexible enough. Especially when dealing with use cases driven by some external orchestration logic (like, for instance, where edge devices must obey orchestration directives decided by some part of the software stack executing in the cloud), the overall system must be able to spawn partitions in a dynamic way. This is where vManager jump into the picture as a mean to make dynamic what earlier, with VOSySmonitor alone, was entirely static.

As per VOSySmonitor product declination, there are two flavors of this software implementation, one for Arm devices, called simply vManager, and another of RISC-V architectures, called vManageRV, throughout this high-level presentation, we will address both with the term vManager, given that their distinctions are outside the scope of this discussion.

ARM and RISC-V PPM

vManager insights

vManager expects to run in the management partition, which is the only static partition present in the system. This partition runs Linux and is the endpoint of the software stack that brings up the system. As such, this partition does not require many resources i.e., one core should be enough for most of the use cases. This is where vManager runs, waiting for instructions from the user. The user can directly use the vmanctl command to create and destroy a partition. Once the partition is created, the user can spawn a Linux OS inside it.

vManager will take care to create an ad-hoc device tree compatible with the partition and will load the required binaries and eventually will set the core(s) at the startup address. The use of power-management functionality like PSCI on ARM and OpenBSI-based power-management interface on RISC-V is also supported to enable the bring-up of secondary cores by the partion OS.

To make it more appealing to diverse orchestrator-driven architectures, we added also a first support to libvirt. Doing so, the deployment can be piloted by some orchestration logic making vManager a compelling option for the edge cloud, when isolation and performance of the workloads is of topmost importance.

Virtual Open Systems Contact

For any inquiry related to VOSySmonitoRV product and custom porting services you can contact us.