News Archive (1999-2012) | 2013-current at LinuxGizmos | Current Tech News Portal |    About   

Multicore API spec released in open source version

Apr 1, 2011 — by Eric Brown — from the LinuxDevices Archive — 34 views

Mentor 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

Mentor Graphics will continue to maintain and update the OpenMCAPI project, and has released it under a permissive open source license to facilitate inclusion into both open and proprietary operating systems. Most of the code is provided under a permissive BSD license, except for the Linux kernel drivers, which are dual GPL/BSD licensed.

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

MCAPI 2.0 also enhances runtime flexibility via three new types of initialization parameters, says the industry group. These include a standardized way to set node attributes, a user-defined parameter that enables an implementation-specific configuration of the MCAPI infrastructure at system start-up, and an implementation information parameter. The latter, for example, can define the initial network topology or the MCAPI version being executed, says the MCA.

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."


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 and has been donated to the open source community by QuinStreet Inc. Please visit for up-to-date news and articles about Linux and open source.

Comments are closed.