Skip to main navigation Skip to search Skip to main content

Portable mapping of OpenMP to multicore embedded systems using MCA APIs

  • Cheng Wang
  • , Sunita Chandrasekaran
  • , Peng Sun
  • , Barbara Chapman
  • , Jim Holt
  • University of Houston
  • Freescale Semiconductor

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

1 Scopus citations

Abstract

Multicore embedded systems are being widely used in telecommunication systems, robotics, medical applications and more. While they offer a high-performance with low-power solution, programming in an efficient way is still a challenge. In order to exploit the capabilities that the hardware offers, software developers are expected to handle many of the low-level details of programming including utilizing DMA, ensuring cache coherency, and inserting synchronization primitives explicitly. The state-of-the-art involves solutions where the software toolchain is too vendor-specific thus tying the software to a particular hardware leaving no room for portability. In this paper we present a runtime system to explore mapping a high-level programming model, OpenMP, on to multicore embedded systems. A key feature of our scheme is that unlike the existing approaches that largely rely on POSIX threads, our approach leverages the Multicore Association (MCA) APIs as an OpenMP translation layer. The MCA APIs is a set of low-level APIs handling resource management, inter-process communications and task scheduling for multicore embedded systems. By deploying the MCA APIs, our runtime is able to effectively capture the characteristics of multicore embedded systems compared with the POSIX threads. Furthermore, the MCA layer enables our runtime implementation to be portable across various architectures. Thus programmers only need to maintain a single OpenMP code base which is compatible by various compilers, while on the other hand, the code is portable across different possible types of platforms. We have evaluated our runtime system using several embedded benchmarks. The experiments demonstrate promising and competitive performance compared to the native approach for the platform.

Original languageEnglish
Title of host publicationLCTES 2013 - Proceedings of the 2013 ACM SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems
Pages153-162
Number of pages10
DOIs
StatePublished - 2013
Event14th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, Tools and Theory for Embedded Systems, LCTES 2013 - Seattle, WA, United States
Duration: Jun 20 2013Jun 21 2013

Publication series

NameProceedings of the ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES)

Conference

Conference14th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, Tools and Theory for Embedded Systems, LCTES 2013
Country/TerritoryUnited States
CitySeattle, WA
Period06/20/1306/21/13

Keywords

  • Embedded systems
  • MCA
  • OpenMP
  • Runtime optimizations

Fingerprint

Dive into the research topics of 'Portable mapping of OpenMP to multicore embedded systems using MCA APIs'. Together they form a unique fingerprint.

Cite this