Electronicdesign 16982 Embb Promo

Embedded Multicore Building Blocks Annexes MCA’s Task Management API

July 26, 2017
The Multicore Association’s Multicore Task Management API is now integrated with the open-source Embedded Multicore Building Blocks framework.

The Multicore Association’s (MCA) Multicore Task Management API (MTAPI) is one of a number of open-source application programming interfaces (APIs) from the MCA. This includes the Open Asymmetric Multi Processing (OpenAMP) framework, which can work with platforms from Linux to bare-metal solutions. It’s applicable to almost any embedded system, including those targeting the Internet of Things (IoT).

The MTAPI (Fig. 1)—a C-language API designed for low-level, lightweight task management—has the ability to address both homogeneous and heterogeneous multicore platforms. MTAPI can be used on top of RTOS and bare-metal implementations.

1. The MTAPI is a C-language application programming interface designed for low-level, lightweight task management.

Embedded Multicore Building Blocks (EMB2) is a C/C++ library designed for the development of parallel applications. EMB2 can take advantage of MTAPI (Fig. 2), exposing the API as well as building additional functionality on top of it. These layers abstract the underlying hardware and operating system, facilitating application portability as well as providing a standard development target for designers.

Developers who use MTAPI can now exploit the added capabilities of EMB2. EMB2 allows for creation of solutions that can take advantage of EMB2 plugins like OpenCL, CUDA, and distributed systems network communication to target different hardware from CPUs to FGPAs and GPUs. As a result, developers are able to utilize hardware acceleration using a standard platform while reducing development effort.

2. Embedded Multicore Building Blocks, or EMB2, can now build on MTAPI.

“We observe an increasing need for high compute capabilities where the data is generated, primarily on the devices,” says Tobias Schüle, a member of Siemens Corporate Technology and primary creator of EMB². “This way, sensitive information can be kept secure and network traffic is reduced compared to pure cloud-based solutions. In fact, low latency is often essential in industrial applications.”

EMB2 provides basic parallel algorithms and concurrent data structures. Stream processing support includes skeleton code that enables creation of applications on top of the framework. EMB2 generally employs a non-blocking approach. It tends to avoid design pitfalls like lock contention, deadlocks, and priority inversion.

EMB2 is available on Github. The EMB2 is covered by a BSD 2-clause license, while MTAPI has a BSD 3-clause license.

Sponsored Recommendations

What are the Important Considerations when Assessing Cobot Safety?

April 16, 2024
A review of the requirements of ISO/TS 15066 and how they fit in with ISO 10218-1 and 10218-2 a consideration the complexities of collaboration.

Wire & Cable Cutting Digi-Spool® Service

April 16, 2024
Explore DigiKey’s Digi-Spool® professional cutting service for efficient and precise wire and cable management. Custom-cut to your exact specifications for a variety of cable ...

DigiKey Factory Tomorrow Season 3: Sustainable Manufacturing

April 16, 2024
Industry 4.0 is helping manufacturers develop and integrate technologies such as AI, edge computing and connectivity for the factories of tomorrow. Learn more at DigiKey today...

Connectivity – The Backbone of Sustainable Automation

April 16, 2024
Advanced interfaces for signals, data, and electrical power are essential. They help save resources and costs when networking production equipment.


To join the conversation, and become an exclusive member of Electronic Design, create an account today!