Embedded Multicore Building Blocks Annexes MCA’s Task Management API

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.

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

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