论文标题
建立间歇计算的正式基础
Towards a Formal Foundation of Intermittent Computing
论文作者
论文摘要
断断续续的功率设备可在苛刻或无法访问的环境(例如空间或体内植入物)中实现新应用程序,但也引入了可编程性和正确性问题。研究人员已经开发了编程模型,以确保程序取得进展,并且由于间歇性执行引起的记忆不一致而不会产生错误的结果。随着技术的成熟,越来越多的功能被添加到I/O等电动设备中。先前的工作表明,所有现有的间歇性执行模型都有重复设备或传感器输入(RIO)的问题。里奥斯可能会使间歇性执行处于不一致的状态。这些问题和现有间歇性执行模型的扩散需要正式的间歇计算基础。 在本文中,我们正式化了间歇性执行模型,它们在内存一致性和输入方面的正确性属性,并确定证明系统正确所需的不变性。我们证明了几个现有的间歇系统之间的等效性。为了解决RIO问题,我们定义了一种算法,用于识别受RIO影响的变量,这些变量需要在重新启动后需要恢复并证明算法正确。最后,我们在新型的间歇性运行时系统中实现了算法,该系统对于输入操作是正确的,并评估了其性能。
Intermittently powered devices enable new applications in harsh or inaccessible environments, such as space or in-body implants, but also introduce problems in programmability and correctness. Researchers have developed programming models to ensure that programs make progress and do not produce erroneous results due to memory inconsistencies caused by intermittent executions. As the technology has matured, more and more features are added to intermittently powered devices, such as I/O. Prior work has shown that all existing intermittent execution models have problems with repeated device or sensor inputs (RIO). RIOs could leave intermittent executions in an inconsistent state. Such problems and the proliferation of existing intermittent execution models necessitate a formal foundation for intermittent computing. In this paper, we formalize intermittent execution models, their correctness properties with respect to memory consistency and inputs, and identify the invariants needed to prove systems correct. We prove equivalence between several existing intermittent systems. To address RIO problems, we define an algorithm for identifying variables affected by RIOs that need to be restored after reboot and prove the algorithm correct. Finally, we implement the algorithm in a novel intermittent runtime system that is correct with respect to input operations and evaluate its performance.