TY - GEN
T1 - Time-sensitive intermittent computing meets legacy software
AU - Kortbeek, Vito
AU - Yildirim, Kasim Sinan
AU - Bakar, Abu
AU - Sorber, Jacob
AU - Hester, Josiah
AU - Pawelczak, Przemyslaw
N1 - Funding Information:
We thank our anonymous reviewers for their useful comments. This research was supported by Netherlands Organisation for Scientific Research, partly funded by the Dutch Ministry of Economic Affairs, through TTW Perspectief program ZERO (P15-06) within Project P4, and by National Science Foundation through grants CNS-1850496 and CNS-1453607. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.
Publisher Copyright:
© 2020 Copyright held by the owner/author(s). Publication rights licensed to ACM.
PY - 2020/3/9
Y1 - 2020/3/9
N2 - Tiny energy harvesting sensors that operate intermittently, without batteries, have become an increasingly appealing way to gather data in hard to reach places at low cost. Frequent power failures make forward progress, data preservation and consistency, and timely operation challenging. Unfortunately, state-of-the-art systems ask the programmer to solve these challenges, and have high memory overhead, lack critical programming features like pointers and recursion, and are only dimly aware of the passing of time and its effect on application quality. We present Time-sensitive Intermittent Computing System (TICS), a new platform for intermittent computing, which provides simple programming abstractions for handling the passing of time through intermittent failures, and uses this to make decisions about when data can be used or thrown away. Moreover, TICS provides predictable checkpoint sizes by keeping checkpoint and restore times small and reduces the cognitive burden of rewriting embedded code for intermittency without limiting expressibility or language functionality, enabling numerous existing embedded applications to run intermittently.
AB - Tiny energy harvesting sensors that operate intermittently, without batteries, have become an increasingly appealing way to gather data in hard to reach places at low cost. Frequent power failures make forward progress, data preservation and consistency, and timely operation challenging. Unfortunately, state-of-the-art systems ask the programmer to solve these challenges, and have high memory overhead, lack critical programming features like pointers and recursion, and are only dimly aware of the passing of time and its effect on application quality. We present Time-sensitive Intermittent Computing System (TICS), a new platform for intermittent computing, which provides simple programming abstractions for handling the passing of time through intermittent failures, and uses this to make decisions about when data can be used or thrown away. Moreover, TICS provides predictable checkpoint sizes by keeping checkpoint and restore times small and reduces the cognitive burden of rewriting embedded code for intermittency without limiting expressibility or language functionality, enabling numerous existing embedded applications to run intermittently.
KW - Batteryless
KW - Compiler
KW - Energy Harvesting
KW - Intermittent
KW - Legacy Code
KW - Runtime
KW - Source Transformation
UR - http://www.scopus.com/inward/record.url?scp=85082389214&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85082389214&partnerID=8YFLogxK
U2 - 10.1145/3373376.3378476
DO - 10.1145/3373376.3378476
M3 - Conference contribution
AN - SCOPUS:85082389214
T3 - International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS
SP - 85
EP - 99
BT - ASPLOS 2020 - 25th International Conference on Architectural Support for Programming Languages and Operating Systems
PB - Association for Computing Machinery
T2 - 25th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2020
Y2 - 16 March 2020 through 20 March 2020
ER -