industry news
Subscribe Now

Open Source Implementation Available for Multicore Association Task Management API

El Dorado Hills, Calif. – Nov. 4, 2014 – The Multicore Association, a global non-profit organization that develops standards to speed time-to-market for products with multicore processor implementations, has announced that one of its members, Siemens AG, has made available an open source implementation of its Multicore Task Management Application Program Interface (MTAPI) specification. The MTAPI specification supports the coordination of tasks on embedded parallel systems.

To fully utilize multicore processors or systems-on-chip (SoCs), a programmer must develop software that splits a program into tasks that can be executed concurrently on different processor cores. The MTAPI specification provides an API allowing programmers to develop parallel embedded software with familiar programming processes. MTAPI features include runtime scheduling and mapping of tasks to processor cores. Optionally, the MTAPI implementation provides access to hardware-implemented actions and/or queues to take advantage of processor-specific features and to increase performance.

The open source MTAPI implementation, available under BSD license, is part of a bigger software package that Siemens has named Embedded Multicore Building Blocks (EMB2). EMB2 is a C/C++ library for the development of parallel applications containing several components on top of a base layer that 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. EMB² comes with C++ wrappers for MTAPI, which simplifies development in object-oriented environments

The current version of EMB² supports Linux and Windows, but since all platform-specific details are hidden in the base library of EMB², only a few sections may need to be adapted when porting to another platform. Also, it currently supports only homogeneous multicore devices. In 2015, Siemens plans, among other extensions and improvements, to release MTAPI support for multiple nodes with distributed memory (e.g. heterogeneous cores), which could also utilize the Multicore Association’s Communication API (MCAPI) to provide communication between the nodes.

“Standardized interfaces such as MTAPI, as well as associated libraries and tools, are essential for the development of software in embedded systems,” said Tobias Schüle, a member of Siemens’ Corporate Technology’s Multicore Expert Center and primary creator of EMB². “Otherwise, a lot of effort is wasted on implementing redundant functionality. While there is a variety of frameworks for parallel programming of desktop and server systems, the landscape in the embedded domain is less rich. With EMB², our goal is to contribute to closing this gap.”

EMB² can be used for a variety of applications. For example, using the “Dataflow” component, it can be applied to applications that process streams of data, e.g. sensor/actuator data in controllers, audio signals, video images, or network packets. Additionally, the “Algorithms” component provides basic patterns such as parallel loops or summations, which are useful to parallelize numerical algorithms. A hypothetical example is a device that receives a continuous stream of video images from objects transported on a conveyor belt, processes the images to distinguish broken from intact objects, and controls an actuator in order to separate the objects.

The MTAPI implementation is available for download at GitHub as part of EMB2. Contributions, e.g., ports to other operating systems, are welcomed. The MTAPI specification is also available for free download from the Multicore Association website. Inquiries regarding membership in the Multicore Association and participation in any working group can be made to Markus Levy (markus.levy@multicore-association.org).

Leave a Reply

featured blogs
Dec 19, 2024
Explore Concurrent Multiprotocol and examine the distinctions between CMP single channel, CMP with concurrent listening, and CMP with BLE Dynamic Multiprotocol....
Dec 24, 2024
Going to the supermarket? If so, you need to watch this video on 'Why the Other Line is Likely to Move Faster' (a.k.a. 'Queuing Theory for the Holiday Season')....

Libby's Lab

Libby's Lab - Scopes Out Littelfuse's SRP1 Solid State Relays

Sponsored by Mouser Electronics and Littelfuse

In this episode of Libby's Lab, Libby and Demo investigate quiet, reliable SRP1 solid state relays from Littelfuse availavble on Mouser.com. These multi-purpose relays give engineers a reliable, high-endurance alternative to mechanical relays that provide silent operation and superior uptime.

Click here for more information about Littelfuse SRP1 High-Endurance Solid-State Relays

featured chalk talk

Digi XBee® 3 Global LTE CAT 4
Sponsored by Mouser Electronics and Digi
Global functionality for cellular enhanced applications can be a complicated process. In this episode of Chalk Talk, Alec Jahnke and Amelia explore the details and benefits of Digi’s XBee 3 Global LTE CAT 4 solution. We also investigate the XBee programming process and how the over the air updates of Digi Remote Manager can help future proof your next cellular design.
Dec 17, 2024
2,018 views