Multicore API spec released in open source version
Apr 1, 2011 — by Eric Brown — from the LinuxDevices Archive — 34 viewsMentor Graphics released an “OpenMCAPI” open source implementation of the Multicore Association (MCA) MCAPI (Multicore Communications Application Program Interface) specification for inter-process communications. The announcement comes two weeks after the MCA released the MCAPI 2.0 spec, adding a new “domain” layer touted for improving messaging routing and security.
The MCA announced MCAPI 1.0 in September 2008 as a standardized application programming interface (API) designed for inter-core communications on "closely distributed" multicore systems. The industry consortium announced version 2.0 of MCAPI on Mar. 15 of this year (see farther below for details). It is unclear whether OpenMCAPI is based on the new release or the an earlier version.
Mentor Graphics — which offers its own Nucleus real-time operating system (RTOS), but is also emerging as a commercial embedded Linux software competitor with Wind River and MontaVista — announced an open source implementation of the spec, making it available to a wider audience. The code runs on Linux, but has separately been ported to Nucleus, says Mentor Graphics.
OpenMCAPI architecture
Like MCAPI, OpenMCAPI enables applications to communicate across cores via shared memory, in asymmetric multiprocessing (AMP) systems. OpenMCAPI is said to be designed for optimized multicore and multi-OS applications on a single chip, such as networking, printing, telecom/datacom, medical, and security products.
MCAPI 2.0 address multicore messaging
The version 2.0 upgrade to MCAPI 1.0 was announced by the Multicore Association (MCA) on Mar. 15. MCAPI 2.0 adds a new hierarchical layer called "domains" that can be used for a variety of multicore development tasks, typically involving message routing and security, says the MCA. For example, the domain layer can represent all the cores on a given chip or can be used to divide a topology into public and secure areas.
MCAPI architecture
Among other minor enhancements, MCAPI 2.0 is now further aligned with the consortium's new multicore resource API (MRAPI)standard. MRAPI specifies essential application-level resource management capabilities, enabling multicore applications to coordinate concurrent access to system resources in certain conditions. These conditions are said to include those in which there are insufficient resources to dedicate to individual tasks or processors, and/or the runtime system does not provide a uniformly accessible mechanism for coordinating sharing.
Stated Markus Levy, president of the Multicore Association, "Accelerating the adoption of MCAPI from multiple vendors will result in greater product innovation and differentiation and the use of openMCAPI as a common inter-process technology will provide interoperability and reduced risk."
Stated Glenn Perry, Mentor Graphics Embedded Systems Division General Manager, "A fully open source solution for MCAPI available to anyone ensures a common platform to build the next generation of multicore embedded devices."
Availability
More information on OpenMCAPI may be found at this OpenMCAPI page. More information on MCAPI 2.0 may be found at the Multicore Association (MCA) page.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.