Title
Termination Checking And Task Decomposition For Task-Based Intermittent Programs
Abstract
Emerging energy-harvesting computer systems extract energy from their environment to compute, sense, and communicate with no battery or tethered power supply. Building software for energy-harvesting devices is a challenge, because they operate only intermittently as energy is available. Programs frequently reboot due to power loss, which can corrupt program state and prevent forward progress. Task-based programming models allow intermittent execution of long-running applications, but require the programmer to decompose code into tasks that will eventually complete between two power failures. Task decomposition is challenging and no tools exist to aid in task decomposition.We propose CleanCut, a tool that can check for and report non-terminating tasks in existing code, as well as automatically decompose code into efficient, terminating tasks. CleanCut is based on a statistical model for energy of paths through the program. We applied a prototype of CleanCut to four applications, including pattern-recognition, encryption, compression, and data filtering. Our experiments demonstrated the risk of non-termination in existing code and showed that CleanCut finds efficient task decompositions that execute 2.45x faster on average than manually placed boundaries.
Year
DOI
Venue
2018
10.1145/3178372.3179525
CC'18: PROCEEDINGS OF THE 27TH INTERNATIONAL CONFERENCE ON COMPILER CONSTRUCTION
Keywords
Field
DocType
intermittent computing, energy estimation
Reboot,Programmer,Programming language,Programming paradigm,Computer science,Power loss,Encryption,Software,Normalization property,Statistical model,Distributed computing
Conference
Citations 
PageRank 
References 
13
0.49
33
Authors
2
Name
Order
Citations
PageRank
Alexei Colin1632.50
Brandon Lucia269032.24