El Dorado Hills, Calif. – July 26, 2011 – The Multicore Association™, a global non-profit organization that develops standards to speed time-to-market for products with multicore processor implementations, has announced its continued intent to tear down barriers that slow development of complex multicore applications. These barriers arise when programmers attempt to split programmatic workloads into parallel tasks that can be executed in parallel on different processor cores. The organization has launched a new working group, Multicore Task Management API (MTAPI), charged with creating an industry-standard specification for an application program interface (API) that supports the coordination of tasks on embedded parallel systems.
Using homogeneous and/or heterogeneous multicore processors requires the programmer to develop software that splits a software program into tasks that can be executed in parallel on different processor cores. Today’s 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 current programming model requires complex, low-level synchronization and programming with threads is limited to single operating systems running on single homogeneous multicore processors. In heterogeneous embedded systems, however, a system-wide task management is needed.
The MTAPI specification aims to eliminate these obstacles by providing an API that allows programmers to develop parallel embedded software in a straight-forward manner. Core features of MTAPI are runtime scheduling and mapping of tasks to processor cores. Due to its dynamic behavior, MTAPI is intended for optimizing throughput on multicore-systems, allowing the software developer to improve the task scheduling strategy for latency and fairness.
Unlike existing APIs that provide task management functionality (e.g. OpenMP, TBB, Cilk), the MTAPI specification will allow implementations for resource-constrained embedded systems, such as those with a small memory footprint, deterministic behavior, and allow for hardware-specific optimizations. Furthermore, portability is essential for the implementation. Therefore, MTAPI will support different processor architectures and can be implemented on top of different operating systems or as a bare-metal solution. In short, MTAPI supports asymmetric multiprocessing at the hardware and software level.
Urs Gleim, program manager for Parallel Processing Systems at Siemens AG,
Corporate Technology, is chairing the MTAPI Working Group, with technical experts participating from industry and academia including: ENEA, Freescale Semiconductor, LSI, Qualcomm, Plurality, PolyCore Software, Siemens, Texas Instruments, University of Houston, and Wind River.
“The challenges of task management and parallel programming are exacerbated by the use of complex SoCs supporting heterogeneous architectures and hardware acceleration units. MTAPI will uncouple the hardware details and let the software developer focus on creating the parallel solution,” said Urs Gleim. “This important standard is a critical need in the embedded industry and I’m highly motivated to chair this working group.”
“MTAPI is aligned with our previously released specifications, MCAPI and MRAPI. Together, these APIs provide a balanced infrastructure to support other multicore services and value-added functions,” said Markus Levy, Multicore Association president. “These services and functions include dynamic load balancing, global power management, and quality of service.”
Inquiries regarding membership in the Multicore Association and participation in this working group can be made to Markus Levy (firstname.lastname@example.org). In line with the other working groups of the MCA, the MTAPI specification will ultimately be publicly available to ensure unconstrained industry-wide adoption. However, participation in this working group will help to ensure that your ideas are considered and potentially integrated into the specification. The working group expects to complete the MTAPI specification in Q4 of 2012.
About The Multicore Association
The Multicore Association provides a neutral forum for vendors who are interested in, working with, and/or proliferating multicore-related products, including processors, infrastructure, devices, software, and applications. The consortium has made available its Multicore Communications API (MCAPI) and Multicore Resource Management API (MRAPI) specifications through its website. Currently, the organization has active working groups focused on: Multicore Virtualization, Multicore Communications (Version 2.x), Multicore Programming Practices (MPP), Multicore Task Management (MTAPI) and Tools Infrastructure (TIWG).
Members include Abo Akademi University, AMD, Argon Design, CAPS entreprise, Carnegie Mellon University, Cavium Networks, Codeplay, CriticalBlue, Delft University of Technology, EADS North America, Ecole Polytechnique de Montreal, EfficiOS, Enea, eSOL, Freescale Semiconductor, IMEC, Intel, LG Electronics Co, LSI , Mentor Graphics, MIPS Technologies, National Instruments, nCore Design LLC, NetLogic Microsystems, Netronome, Nokia Siemens Networks, OneAccess, PolyCore Software, Qualcomm, RadiSys, Sage Electronic Engineering, Samsung Electronics, Siemens, Texas Instruments, Tilera, UAS Technikum Wien, UltraSoC Technologies, University of Houston, University of Tsukuba, and Wind River. Further information is available at www.multicore-association.org.