MCA IMPLEMENTATIONS

Click > below to view implementation or click -> to view all    

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.





Enea MCAPI, a product of Enea, MCA Working Group Member

Enea MCAPI provides fast IPC messaging and application code portability as an API layer over its time tested and mature Enea LINX IPC protocol. Multi-OS operations are supported, namely for Linux/Android, and Enea’s own RTOS family, OSE for GPU, and OSEck for DSP. LINX was designed for portability, and Enea Services can provide assistance for porting MCAPI/LINX to any OS environment. MCAPI over LINX is available as open source.

MCA Component used in Product:
MCAPI

Product Benefit:
There is no question that having a portable, and standards based open application interface is of value to users who wish to future proof their products and applications to minimize applications reuse and therefore minimize time-to-market and development costs. MCAPI represents such for the common problem of IPC in all embedded systems, especially those involving multicore HW.

Client Benefit:
The Enea supported MCAPI implementation offers something different from other suppliers. The MCAPI standard is an API standard supporting both syntax and semantics compatibility for applications. Enea’s implementation of the MCAPI API standard is based on the Enea LINX protocol that is a true transparent, distributed IPC framework for intra-core, inter-core, and inter-device communications and that is time tested over six years of deployment by hundreds of customers (including several Tier 1 telecom suppliers) in the embedded networking space due to its superior reliability, performance, and support. When one adds multi-OS support, open source implementation, and heterogeneous processor support (i.e. GPU’s or DSP’s) then Enea MCAPI is the choice for those in the embedded networking space.

Enea MCAPI is but a “API compatibility layer” over Enea LINX that supports all MCAPI specification API’s, but reuses the powerful LINX schemas for supporting virtually any type of HW or SW environment. LINX is true distributed system IPC, OS agnostic, adaptable to any interconnect media, and that now is standards based with the addition of the MCAPI API portability layer.





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.





NCT-450 - A 2-day intensive MCAPI training course, a product of nCore Design LLC, MCA Working Group Member

NCT-450 is an instructor-led course that will guide engineers in developing simplified, standardized and optimized multicore applications in a customized and targeted learning environment.

MCA Component used in Product:
MCAPI

Product Benefit:
Adoption of the MCAPITM standard is growing with increased demand for multicore technology solutions. Notably, MCAPITM provides a simple and consistent multicore programming model across different types and numbers of cores, operating systems, and physical transports. Educating industry leaders about these and the other advantages of designing with a standards-based API is essential to its acceptance, as showcased in nCore's NCT-450.

Client Benefit:
nCore's expert engineers and instructors have designed NCT-450 as a practical course that will help participants master the critical skills necessary to seamlessly incorporate multicore technologies into their application. In this comprehensive course, developers will get hands-on training to increase their understanding of parallel programming, learn to improve efficiency, optimize performance, reduce time-to-market, and increase their organization's competitive edge.





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:





RTXC RTOS for Multicore Applications, a product of Quadros Systems, Inc.

The RTXC Quadros RTOS can be applied to applications needing preemptively scheduled, prioritized multitasking with rapid, deterministic switching between tasks in response to internal or external events. RTXC/ms features include preemptive multitasking, support for static and dynamic objects, support for fixed and dynamic task priorities, fast context switching, prevention of priority inversion, and support for 11 object classes (i.e. queues, mailboxes, messages).

MCA Component used in Product:
MCAPI

Product Benefit:
Utilizing the RTXC multiprocessing framework, RTXC/mp is designed for applications with multiple cores or multiple processors-homogeneous or heterogeneous. It uses the MCAPI, coupled with PolyCore Software's Poly-PlatformT, to provide a multicore runtime platform, helping to reduce complexity, improve time-to-market, and maintain portability allowing you to reuse your application code as your needs evolve from a single processor to multiple.

Client Benefit:
The combined Poly-Platform/MCAPI and RTXC/mp framework allows you to shift processing loads from overloaded CPUs, MCUs or DSPs to those that are under-utilized. The user benefits are support for multiple OSes on a single platform (multiple instances of RTXC, RTXC with another OS, or RTXC plus bare-metal), as well as the ability to readily scale the application from a one or two to many cores.





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