WARio

efficient code generation for intermittent computing

Conference Paper (2022)
Author(s)

V. Kortbeek (TU Delft - Embedded Systems)

Souradip Ghosh (Carnegie Mellon University)

Josiah Hester (Northwestern University)

Simone Campanoni (Northwestern University)

Przemystaw Pawełczak (TU Delft - Embedded Systems)

Research Group
Embedded Systems
Copyright
© 2022 V. Kortbeek, Souradip Ghosh, Josiah Hester, Simone Campanoni, Przemysław Pawełczak
DOI related publication
https://doi.org/10.1145/3519939.3523454
More Info
expand_more
Publication Year
2022
Language
English
Copyright
© 2022 V. Kortbeek, Souradip Ghosh, Josiah Hester, Simone Campanoni, Przemysław Pawełczak
Research Group
Embedded Systems
Pages (from-to)
777-791
ISBN (electronic)
9781450392655
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Intermittently operating embedded computing platforms powered by energy harvesting require software frameworks to protect from errors caused by Write After Read (WAR) dependencies. A powerful method of code protection for systems with non-volatile main memory utilizes compiler analysis to insert a checkpoint inside each WAR violation in the code. However, such software frameworks are oblivious to the code structure - -and therefore, inefficient - -when many consecutive WAR violations exist. Our insight is that by transforming the input code, i.e., moving individual write operations from unique WARs close to each other, we can significantly reduce the number of checkpoints. This idea is the foundation for WARio: a set of compiler transformations for efficient code generation for intermittent computing. WARio, on average, reduces checkpoint overhead by 58%, and up to 88%, compared to the state of the art across various benchmarks.