Prediction Models for Performance, Power, and Energy Efficiency of Software Executed on Heterogeneous Hardware

Contents:

This package contains the computed static source code metrics, the dynamic runtime, average power, and energy measurements, the complied machine learning tables and their results for different methods used in the paper. It also contains the absolute, aggregated, and normalized metrics of both the sequential and OpenCL variants of the benchmarks (referred to as "before" and "after") as well as the model used in evaluating their maintainability.

Authors:

Dénes Bán, Rudolf Ferenc, István Siket, Ákos Kiss, and Tibor Gyimóthy.

Abstract:

Heterogeneous computer environments are becoming commonplace so it is increasingly important to understand how and where we could execute a given algorithm the most efficiently. In this paper we propose a methodology that uses both static source code metrics, and execution time, power, and energy dynamic measurements to build gain ratio prediction models. These models are trained on special benchmarks that have both sequential and parallel implementations and can be executed on various computing elements, e.g., on CPUs, GPUs, or FPGAs. After they are built, however, they can be applied to a new system using only the system's static source code metrics which are much more easily computable than any dynamic measurement. We found that while estimating a continuous gain ratio is a much harder problem, we could predict the gain category (e.g., "slight improvement" or "large deterioration") of porting to a specific configuration significantly more accurately than a random choice, using static information alone. We also conclude based on our benchmarks that parallelized implementations are less maintainable, thereby supporting the need for automatic transformations.

Keywords:

Green computing, heterogeneous architecture, performance optimization, power-aware execution, configuration selection

Online appendix:

Download link for the Online Appendix.