Time-sensitive Intermittent Computing Meets Legacy Software

Time-sensitive Intermittent Computing Meets Legacy Software
复制标题

DOI:
10.1145/3373376.3378476
复制
发表时间:
2020-03
期刊:
Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems
影响因子:
--
通讯作者:
Vito Kortbeek;K. Yıldırım;A. Bakar;Jacob M. Sorber;Josiah D. Hester;P. Pawełczak
Vito Kortbeek;K. Yıldırım;A. Bakar;Jacob M. Sorber;Josiah D. Hester;P. Pawełczak
中科院分区:
其他
文献类型:
--
作者:
Vito Kortbeek;K. Yıldırım;A. Bakar;Jacob M. Sorber;Josiah D. Hester;P. Pawełczak

文献摘要

被引文献

相似文献

间歇运行的小型能量收集传感器,没有电池,已经成为一种越来越有吸引力的方式,以低成本在难以到达的地方收集数据。频繁的电源故障使向前推进、数据保存和一致性以及及时操作具有挑战性。不幸的是,最先进的系统要求程序员解决这些挑战,并且具有高内存开销,缺乏关键的编程功能,如指针和递归,并且只能模糊地意识到时间的流逝及其对应用程序质量的影响。我们提出了时间敏感间歇计算系统(TICS),间歇计算的一个新平台,它提供了简单的编程抽象处理时间通过间歇性故障,并使用它来决定何时可以使用或丢弃数据。此外,TICS通过保持检查点和恢复时间较小来提供可预测的检查点大小,并且在不限制可表达性或语言功能的情况下减少了重写嵌入式代码以实现快速性的认知负担,从而使许多现有的嵌入式应用程序能够间歇地运行。
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.