ePAPI: Performance Application ProgrammingInterface for Embedded Platforms
Document typeConference lecture
Rights accessOpen Access
European Commisision's projectSuPerCom - Sustainable Performance for High-Performance Embedded Computing Systems (EC-H2020-772773)
Performance Monitoring Counters (PMCs) have been traditionally used in the mainstream computing domain to perform debugging and optimization of software performance. PMCs are increasingly considered in embedded time-critical domains to collect in-depth information, e.g. cache misses and memory accesses, of software execution time on complex multicore platforms. In main-stream platforms, standardized specifications and applications like the Performance Application Programming Interface (PAPI) and perf have been proposed to deal with variable PMC support across platforms, by providing a shared interface for configuring and collecting traceable events. However, no equivalent solution exists for embedded critical processors for which the user is required to deal with low-level, platform-specific, and error-prone manipulation of PMC registers. In this paper, we address the need for a standardized PMC interface in the embedded domain, especially in view to support timing characterization of embedded platforms. We assess the compatibility of the PAPI interface with the PMC support available on the AURIX TC297, a reference automotive platform, and we implement and validate ePAPI, the first functionally-equivalent and low-overhead implementation of PAPI for the considered embedded platform.
CitationGiesen, J. [et al.]. ePAPI: Performance Application ProgrammingInterface for Embedded Platforms. A: "19th International Workshop on Worst-Case Execution Time Analysis (WCET 2019". 2019, p. 1-13.