Automatic Software Tailoring for Optimal Performance

Efficient green software solutions require being aware of the characteristics of both the software and the hardware where it is executed. Separately optimizing them leads to inefficient results, and there is a need for a perfect synergy between software and hardware for optimal outcomes. We present...

Full description

Saved in:
Bibliographic Details
Published in:IEEE transactions on sustainable computing Vol. 9; no. 3; pp. 464 - 481
Main Authors: Aragon-Jurado, Jose Miguel, de la Torre, Juan Carlos, Ruiz, Patricia, Galindo, Pedro L., Zomaya, Albert Y., Dorronsoro, Bernabe
Format: Journal Article
Language:English
Published: Piscataway IEEE 01-05-2024
The Institute of Electrical and Electronics Engineers, Inc. (IEEE)
Subjects:
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Efficient green software solutions require being aware of the characteristics of both the software and the hardware where it is executed. Separately optimizing them leads to inefficient results, and there is a need for a perfect synergy between software and hardware for optimal outcomes. We present a novel combinatorial optimization problem for the minimization of the software execution time on a specific hardware, taking into account the existing uncertainty in the system. A solution to the problem is a sequence of LLVM code transformations, and a cellular genetic algorithm is used to find it. Assuming that hardware does not change, reducing the software runtime typically leads to a greener version with lower consumption. To cope with the uncertainty, two novel approaches relying on bootstrap method to compute confident intervals of the software runtime at negligible cost are proposed and compared to three other techniques and −O3 Clang compilation flag over four hardware architectures. Results show how the proposed approach effectively copes with the uncertainty, providing more robust solutions with respect to the compared methods. The execution time of the raw program is reduced from 28.1% to up to 63.2%, outperforming −O3 flag by 13.9% to 26.3%, for the different architectures.
ISSN:2377-3782
2377-3782
2377-3790
DOI:10.1109/TSUSC.2023.3330671