Automatic Software Tailoring for Optimal Performance

Identificadores
URI: http://hdl.handle.net/10498/31666
DOI: 10.1109/TSUSC.2023.3330671
ISSN: 2377-3782
Files
Statistics
Metrics and citations
Metadata
Show full item recordDate
2023-05Department
Ingeniería InformáticaAbstract
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.
Subjects
Software performance; LLVM; execution time; uncertainty; source code transformation; evolutionary computationCollections
- Artículos Científicos [12001]
- Articulos Científicos Ing. Inf. [313]





