Cross- industry standards body, the Multicore Association has announced the availability of its Multicore Task Management Application Program Interface (MTAPI) that supports the coordination of tasks on embedded parallel systems.
"To fully utilize homogeneous and/or heterogeneous 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," said the organisation.
Operating systems and runtime libraries for embedded systems provide threads or thread-like mechanisms that are not suited for the fine-grain parallelism required by multicore architectures, typically because the coordination of hundreds or thousands of parallel tasks generates too much overhead relative to the actual computation time.
"The programming model prior to MTAPI, required complex, low-level synchronization and programming with threads, was limited to single operating systems running on single homogeneous multicore processors," said the organisation.
Runtime scheduling
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.
Unlike existing APIs that provide task management functionality (e.g. OpenMP, TBB, Cilk, OpenCL), the MTAPI specification is designed to allow implementations for resource-constrained embedded systems, such as those with a small memory footprint, deterministic behavior, and allow for hardware-specific optimizations.
It will also support different processor architectures and can be implemented in plain C language programing on top of different operating systems or as a bare-metal solution.
The MTAPI Working Group includes representatives from ENEA, Freescale Semiconductor, Institut National des Sciences Appliquées de Rennes, Qualcomm, Plurality, PolyCore Software, Siemens, Texas Instruments, University of Houston, and Wind River.
Complex SoCs
“MTAPI greatly simplifies the programming challenge to optimize task management and parallel programming on complex SoCs supporting heterogeneous architectures and hardware acceleration units,” said Urs Gleim from Siemens who chaired the working group.
“In addition to its support for portability across multicore processor platforms, MTAPI’s dynamic runtime support will allow the implementer to optimize for quality of service as well as power management that is based on real-time performance demands.”
“MTAPI is aligned with our previously released specifications, Multicore Resource Management API (MRAPI) and the Multicore Communications API (MCAPI). As a matter of fact, MRAPI can be used as part of MTAPI’s internal portability layer, and similarly, the MCAPI may be used for inter-node communications,” said Markus Levy, Multicore Association president.
The MTAPI specification is available for free download from the Multicore Association website.
Source:
http://www.electronicsweekly.com/Articles/2013/02/25/55629/multicore-processors-get-standard-task-manager.htm