Portable and Predictable Performance on Het. Embedded Systems
Reference number | |
Coordinator | KUNGLIGA TEKNISKA HÖGSKOLAN - Skolan för informations- och kommunikationsteknik |
Funding from Vinnova | SEK 2 518 460 |
Project duration | September 2012 - October 2015 |
Status | Completed |
Important results from the project
In order to remain competitive in the fast changing global market, embedded system manufacturers need in particular to decrease hardware and energy costs of their offerings. The current industrial practice for determining system configurations involves manual performance estimations, which becomes ever harder with new complex hardware designs. The PaPP project aimed at enabling software with predictable performance and reduced resource usage when moved to future parallel platforms.
Expected long term effects
The project developed a toolchain for development of OpenMP applications with predictable and portable performance on heterogeneous multicore systems. It allows exploring the HW design space and guiding the SW optimization. For the toolchain, KTH developed the Task Performance Extractor and the PaPP runtime system TurboBLYSK. The toolchain was evaluated on industrial applications from three domains: telecom, multimedia, and space, with prediction accuracy up to 53%. The gained expertise will be exploited in education and in projects with the Swedish industry.
Approach and implementation
The designs and implementation of the performance prediction tools and the TurboBLYSK runtime system are based on the task-based programming model and on the OpenMP infrastructure. Performance models of HW are derived using ´characterization programs´, performance models of SW capture task performance metrics and inter-dependencies. The performance prediction tool simulates parallel execution of tasks using the models. TurboBLYSK implements task scheduling suggested by the prediction tool, and self-adaptive execution using the PaPP-adapt library.