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.


Mentor Embedded MCAPI, a product of Mentor Graphics, MCA Working Group Member

Mentor Embedded MCAPITM provides fast IPC messaging and application code portability with abstraction layers for operating system and physical transport. Android/Linux and the NucleusTM Real-Time Operating System (OS) are fully supported while Mentor Services can assist with porting to other operating systems. http://www.mentor.com/embedded-software/events/esc/upload/multicore-esc-ds.pdf

MCA Component used in Product:
MCAPI

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

Client Benefit:
MCAPITM provide a fast, lightweight, and scalable IPC solution that is highly portable to new target, transport, and OS - adopting the MCA standard insures application portability to new hardware and operating systems, allowing system designers to maximize code reuse. MCAPITM provides a simple and intuitive API allowing application developers to create endpoints, similar to TCP/UDP sockets, for sending and receiving data using block and non-blocking calls. MCAPITM supports multiple communication links with prioritization and Mentor Embedded MCAPITM supports prioritization of multiple message and channels.


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.


Dual-core Blackfin Processors Connected by MCAPI, a product of Analog Devices

Analog Devices dual-core Blackfin Processors (BF-561 and BF-60x series) are supported by MCAPI version 2.0.  CrossCore Embedded Studio, the software development tools chain for Blackfin Processors, includes an implementation of the MCAPI protocol for the purpose of managing communication and synchronization between the cores. The 2011R1 Linux development platform for Blackfin also includes a MCAPI 2.0 library implemented on the BF-561. The 2012R1 release adds support for the BF60x series. Note: Other single-core Blackfin Processors are also supported. In a single-core, multi-threaded application, MCAPI provides inter-thread communication facilities with rich functionality which are scalable to multicore, and which are not tied to a particular operating system or vendor.

MCA Component used in Product:
MCAPI

Product Benefit:
MCAPI provides a industry-standard API for communication and synchronization between multiple cores on a chip and/or multiple chips on a board. Portable across platforms and featuring well-defined API semantics, the standard doesn't just specify the API function prototypes, but also the expected behavior and functionality of those APIs. ADI’s MCAPI provides high performance and low memory footprint, while abstracting the details of synchronization and memory management that are required for inter-core operation.

Client Benefit:
MCAPI is ideal for applications which divide their processing and/or functionality across multiple processing cores. MCAPI frees customers from dependence on proprietary inter-core communications APIs, or from the need to build their own solutions for such communications needs.


ThreadX RTOS with MCAPI Support, a product of Express Logic, Inc.

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:


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