License: Creative Commons Attribution 4.0 International license (CC BY 4.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECOOP.2023.16
URN: urn:nbn:de:0030-drops-182096
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2023/18209/
Li, Yannan ;
Wang, Chao
Constraint Based Compiler Optimization for Energy Harvesting Applications
Abstract
We propose a method for optimizing the energy efficiency of software code running on small computing devices in the Internet of Things (IoT) that are powered exclusively by electricity harvested from ambient energy in the environment. Due to the weak and unstable nature of the energy source, it is challenging for developers to manually optimize the software code to deal with mismatch between the intermittent power supply and the computation demand. Our method overcomes the challenge by using a combination of three techniques. First, we use static program analysis to automatically identify opportunities for precomputation, i.e., computation that may be performed ahead of time as opposed to just in time. Second, we optimize the precomputation policy, i.e., a way to split and reorder steps of a computation task in the original software to match the intermittent power supply while satisfying a variety of system requirements; this is accomplished by formulating energy optimization as a constraint satisfiability problem and then solving the problem using an off-the-shelf SMT solver. Third, we use a state-of-the-art compiler platform (LLVM) to automate the program transformation to ensure that the optimized software code is correct by construction. We have evaluated our method on a large number of benchmark programs, which are C programs implementing secure communication protocols that are popular for energy-harvesting IoT devices. Our experimental results show that the method is efficient in optimizing all benchmark programs. Furthermore, the optimized programs significantly outperform the original programs in terms of energy efficiency and latency, and the overall improvement ranges from 2.3X to 36.7X.
BibTeX - Entry
@InProceedings{li_et_al:LIPIcs.ECOOP.2023.16,
author = {Li, Yannan and Wang, Chao},
title = {{Constraint Based Compiler Optimization for Energy Harvesting Applications}},
booktitle = {37th European Conference on Object-Oriented Programming (ECOOP 2023)},
pages = {16:1--16:29},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-281-5},
ISSN = {1868-8969},
year = {2023},
volume = {263},
editor = {Ali, Karim and Salvaneschi, Guido},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/opus/volltexte/2023/18209},
URN = {urn:nbn:de:0030-drops-182096},
doi = {10.4230/LIPIcs.ECOOP.2023.16},
annote = {Keywords: Compiler, energy optimization, constraint solving, cryptography, IoT}
}
Keywords: |
|
Compiler, energy optimization, constraint solving, cryptography, IoT |
Collection: |
|
37th European Conference on Object-Oriented Programming (ECOOP 2023) |
Issue Date: |
|
2023 |
Date of publication: |
|
11.07.2023 |
Supplementary Material: |
|
Software: https://github.com/YannanLiCS/CouponMaker |