As we discussed previously, hypervisors are great out-of-the-box solutions for managing a homogeneous multicore processing cluster, but they can also contain more functionality than some multiprocessing systems require.
Multicore frameworks are specifically designed to support Asymmetric Multiprocessing applications (AMP), providing just the necessary functionality like boot order control and inter-core communications. Multicore frameworks can be run on either homogeneous or heterogeneous systems, supporting a wide range of operating systems including Linux-based, RTOS, or even bare-metal.
Through the OpenAMP standard, a multicore framework establishes a communications channel between the master operating system and remote operating systems through RPMsg, allowing data to be passed across the channel. Additionally, it defines the Remoteproc feature for life cycle management. So that as an example, an OS or application stack can be started and stopped on remote processors, thereby reducing power consumption.
By focusing on core multiprocessing functionality, a multicore framework keeps system overhead low while execution performance remains high. Multicore System Management: Hypervisor or Multicore Framework?