Industry Standards to Solve Multicore Challenges
The Multicore Association® (MCA) is an industry association that includes leading-edge companies implementing products that embrace multicore technology. Our primary objective is to define and promote open specifications to enable multicore product development.

MCA IMPLEMENTATIONS

Poly-Messenger/MCAPI, a product of PolyCore Software, MCA Board Member

Poly-Messenger/MCAPI, is a flexible communications framework for closely distributed computing, such as multiple cores on a chip and/or multiple chips on a board. PolyCore Software products support the MCAPI standard.

MCA Component used in Product:
MCAPI

Product Benefit:
With an expanding adoption of MCAPI, customers will have a wider array of tools and system software available to them. From the vendor’s perspective, a standard like MCAPI increases the partnership opportunities and prospective customer base.

Client Benefit:
Poly-Messenger/MCAPI combined with Poly-MapperTM, a topology mapping tool, and Poly-GeneratorTM, a topology generation tool, provides a flexible, efficient and easy to use multicore communications platform. The complexities of inter task communications in closely distributed computing are abstracted from the application, analogous to TCP/IP on WAN’s and the Internet. The result is a consistent standardized programming model across different types of cores, physical transports and operating systems.


ThreadX RTOS with MCAPI Support, a product of Express Logic, Inc., MCA Working Group Member

ThreadX is a small-footprint real-time operating system (RTOS) for embedded real-time applications using single or multiple cores. ThreadX/SMP supports SMP multicore platforms, with automatic load balancing and application thread-processor affinity controls. ThreadX can be used in an AMP or SMP multicore system, with MCAPI-compliant inter-processor communications support from PolyCore Software.

MCA Component used in Product:
MCAPI

Product Benefit:
With the expanding adoption of multicore systems, the need for a standards-based inter-processor communications protocol becomes critical. Developers of multicore-based embedded systems based on ThreadX can elect to utilize PolyCore Software's Poly-Messenger/MCAPI, which is supported by ThreadX across many multicore platforms. ThreadX enables developers to utilize Poly-Messenger/MCAPI as well as application thread-scheduling services in a single, efficient, widely-used RTOS. Poly-Messenger/MCAPI can communicate between multiple system nodes through any communications medium desired, including Express Logic's NetX TCP/IP stack where TCP or UDP transfers can be used to coordinate the activities of multiple tightly-coupled or loosely coupled cores and processors.

Client Benefit:


Embedded Multicore Building Blocks, a product of Siemens AG, MCA Working Group Member

Siemens AG, has made available under BSD license its implementation of the MTAPI specification. This software is part of a bigger software package named Embedded Multicore Building Blocks (EMB2), which is a C/C++ library for the development of parallel applications containing several components on top of a base layer which abstracts the operating system and the underlying multicore hardware to ensure portability. Besides MTAPI, EMB2 provides basic parallel algorithms, concurrent data structures, and skeletons for implementing stream processing applications.

MCA Component used in Product:
MTAPI

Product Benefit:
Open Source MTAPI and C/C++ Library for Parallel Application Development

Client Benefit:
Standardized interfaces such as MTAPI, as well as associated libraries and tools, are essential for the development of software in embedded systems, otherwise, a lot of effort is wasted on implementing redundant functionality.

Kactus2: open source IP-XACT and MCAPI tool, a product of Tampere University of Technologies

The IP-XACT and MCAPI tool, is an open source project that has come out of the Tampere University of Technology. IP-XACT offers a standard method to describe HW components and designs in a vendor, language, and tool neutral way.

MCA Component used in Product:
MCAPI

Product Benefit:
Kactus2 extends IP-XACT to describe SW components and designs with application communication abstraction using MCAPI. In addition, Kactus2 makes IP-XACT useful for higher abstraction system level design. A block diagram of the Kactus2 MCAPI design flow is attached.

Client Benefit:
Kactus2 uses MCAPI to provide a unified interface to both SW and HW components for System-on-Chip. The benefit is rapid porting of a function between HW and SW implementations, between different vendor chips or between PC and embedded systems. Errors are greatly reduced during the system design, since Kactus2 keeps the graphical MCAPI endpoints and channels design in sync with corresponding application codes by an assisting C code editor.

Kactus2 can be downloaded from http://sourceforge.net/projects/kactus2

An exemplar MCAPI design is available at http://opencores.org/project,funbase_ip_library