OPEN ASYMMETRIC MULTI PROCESSING (OpenAMP)
The OpenAMP provides an open source framework that allows operating systems to interact within a broad range of complex homogeneous and heterogeneous architectures and allows asymmetric multiprocessing applications to leverage parallelism offered by the multicore configuration. This MCA working group will focus on standardizing the APIs, providing detailed documentation for the specification, and expanding the functionality of OpenAMP.
Complex SoC architectures are combining increasing numbers of application-class and microcontroller-class cores. As a result, consolidation of heterogeneous operating environments on a single device is more difficult to achieve – and more difficult for developers to utilize the underlying hardware. While symmetric multiprocessing (SMP) operating architectures allow load balancing of the application across homogeneous processors within the multicore infrastructure, they do not scale to heterogeneous cores.
To address these design complexities, the Multicore Association is expanding the development of OpenAMP, the body of work already available on GitHub and in the Linux distribution. This open-source software framework allows developers to configure and deploy multiple operating systems and applications across homogeneous or heterogeneous processors. This comprehensive framework enables developers to manage the challenges associated with inter-process communication (IPC), resource management and sharing, and process control. The framework also allows software developers to control the boot-up and shut down of individual cores on an SoC, thus allowing applications to maximize compute performance or minimize power consumption based on individual use case scenarios.
The OpenAMP working group meets weekly to establish standardization, expand and document the specification, and maintain the collaboration with the OpenAMP open source community.
- Tomas Evensen, Xilinx
Frequently Asked Questions
- Configure, deploy, and manage multiple OS’s across homogeneous and heterogeneous cores
- Open source Linux implementations and proprietary RTOS and bare metal implementations
- Android OS compatibility
- Inter-OS & inter-processor communication
- Shared memory protocol – Virtio/rpmsg
- Lifecycle APIs – remoteproc
- Proxy technologies emulate Linux processes
- Simplify heterogeneous AMP design
- Collaborative definition and development process
- Standardizes OS interaction between Linux and RTOS/bare-metal
- Compatibility with MCAPI to support high-performance use cases and zero-copy
- Supported by broad ecosystem of operating systems and silicon hardware platforms
- Pre-ported OS support by FreeRTOS, Mentor, Micrium, NXP, Xilinx