Deciding to use a hypervisor or a multicore framework, or both, to control and manage a multicore system is a critical architecture decision.  The final decision will depend on the specific application requirements and the use case for the device. The options should be considered as complementary solutions to unlock the power of a multicore SoC.

A hypervisor is a fairly complex, versatile software component that provides a supervisory capability over a number of operating systems,  managing CPU access, peripheral access, inter-OS communications and interOS security.

Because of their separation, management and sharing capabilities, hypervisors have far more functionality than many embedded designs  demand – they can be overkill. To address this issue, a few embedded runtime vendors developed an alternative that was specifically  engineered to support an AMP multicore system: the multicore framework.

This paper will help you determine whether a hypervisor is required or if a multicore framework is a better solution for your application and the use case for the device.