The Multicore Association has released a standardized application programming interface (API) for inter-core communications on “closely distributed” multi-core systems. The new Multicore Communications API (MCAPI) attracted plaudits from Freescale Semiconductor, which posted a publicly available source code example, and from VirtuaLogix, which says its VLX virtualization products will support it.
MCAPI offers message-passing standards for multi-core processors, and is especially useful for systems that require tight memory constraints, fast task execution times, reliable on-chip interconnects, and high system throughput, says the Multicore Association. The API is intended to ease the challenge of multi-core developers struggling with inter-core communications, and synchronization between multiple cores on a chip and/or chips on a board in embedded systems, the association adds.
Target systems span “multiple dimensions of heterogeneity,” says the Multicore Association. Cited examples include standardizing communications between different types of cores, interconnects, memory, operating systems, software toolchains, and programming languages.
Source: Multicore Association
MCAPI is said to offer defined support for hundreds of processor cores and systems. In contrast, existing distributed systems programming standards are focused on widely distributed systems, SMP systems, or specific application domains such as scientific computing, and do not offer a sufficiently broad reach, the association claims.
Freescale's MCAPI implementation is comprised of C source code, a set of regression test-cases, and example benchmarking code. It is available for Linux or for Windows systems equipped with the Cygwin environment.
While Freescale offers a number of multi-core products, including the upcoming QorIQ processor, its code is said to be architecture-neutral and to use a shared memory transport layer. It is not intended to be competitive with architecture-specific commercial implementations, such as PolyCore Software's Poly-Messenger multi-core communication framework, touted as the first commercial implementation of MCAPI.
VirtualLogix, which joined the Multicore Association in April, is another early supporter of MCAPI. The company says its MCAPI-enabled VLX virtualization products will allow customers to use the API to more easily migrate applications from a physical multi-core system to a virtual VLX environment.
VLX lets guest operating systems access physical hardware subsystems directly, for faster performance than typical enterprise virtualization products, VirtualLogix says. Hardware developers can use VLX to securely isolate critical applications, reduce materials cost, contain software failures, and segregate software licenses, the company adds.
VLX versions include:
Stated Sven Brehmer, chairman of the Multicore Association MCAPI working group and CEO of PolyCore, “As one of the first organizations to support MCAPI, VirtualLogix is setting a powerful precedent for the industry-wide adoption of standards that enable applications to provide basic, simple and efficient multicore communication functionality between closely distributed processors in embedded systems.”
The Multicore Association is a non-profit consortium focused on developing multicore standards. It currently offers three working groups: Hypervisors, Multicore Resource Management, and Multicore Programming Practices (MPP). Members are said to include CAPS entreprise, Codeplay, CriticalBlue, Enea, eSOL, Freescale Semiconductor, Intel, Mentor Graphics, MIPS Technologies, National Instruments, NEC Electronics America, Nokia Siemens Networks, Plurality, PolyCore Software, QNX, Texas Instruments, Tilera, Trango Virtual Processors, VirtualLogix, and Wind River.
The free source code example for the Multicore Communications API (MCAPI) is freely available now for Linux, as well as Windows systems equipped with the Cygwin environment, says the Multicore Association. More information, including a download link for MCAPI, may be found here. VirtualLogix did not announce availability information for its MCAPI-enabled VLX software.
This article was originally published on LinuxDevices 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.