Supporting peripherals in intermittent systems with just-in-time checkpoints

Supporting peripherals in intermittent systems with just-in-time checkpoints
复制标题

DOI:
10.1145/3314221.3314613
复制
发表时间:
2019-06
期刊:
Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation
影响因子:
--
通讯作者:
Kiwan Maeng;Brandon Lucia
Kiwan Maeng;Brandon Lucia
中科院分区:
其他
文献类型:
--
作者:
Kiwan Maeng;Brandon Lucia

文献摘要

被引文献

相似文献

无电池能量收集装置有可能成为电池不可行的应用的基础。即时检查点通过在电源故障前对处理器状态设置检查点,支持在能源收集设备上间歇性执行。虽然对于软件执行有效,但即时检查点仍然容易受到涉及外围设备(例如,传感器和加速器)的不可恢复故障的影响,因为外围设备操作期间的检查点可能导致外围设备和程序状态之间的不一致。此外,如果外设操作使用的能量超过设备可以缓冲的能量,则该操作将无法完成,从而导致非终止。本文介绍了一种安全支持外设的即时检查点系统Samoed。Samoed通过有选择地禁用检查点和撤消日志记录,正确运行用户注释的外围设备功能。Samoed通过能源配置、动态外围工作负载扩展和用户提供的软件回退例程来确保进度。我们的评估表明,Samoed能够正确执行在现有系统上失败的外围操作,通过使用加速器可实现高达122.9倍的加速。Samoye保留了实时检查点的性能优势,与最近可能的替代方案相比,平均加速比为4.11倍。此外,Samoye独特的能源配置能力和动态扩展大型外围操作的能力简化了编程。
Batteryless energy-harvesting devices have the potential to be the foundation of applications for which batteries are infeasible. Just-In-Time checkpointing supports intermittent execution on energy-harvesting devices by checkpointing processor state right before a power failure. While effective for software execution, Just-In-Time checkpointing remains vulnerable to unrecoverable failures involving peripherals(e.g., sensors and accelerators) because checkpointing during a peripheral operation may lead to inconsistency between peripheral and program state. Additionally, a peripheral operation that uses more energy than a device can buffer never completes, causing non-termination. This paper presents Samoyed, a Just-In-Time checkpointing system that safely supports peripherals. Samoyed correctly runs user-annotated peripheral functions by selectively disabling checkpoints and undo-logging. Samoyed guarantees progress by energy profiling, dynamic peripheral workload scaling, and a user-provided software fallback routine. Our evaluation shows that Samoyed correctly executes peripheral operations that fail with existing systems, achieving up to 122.9x speedup by using accelerators. Samoyed preserves the performance benefit of Just-In-Time checkpointing, showing 4.11x mean speedup compared to a recent possible alternative. Moreover, Samoyed’s unique ability to profile energy and to dynamically scale large peripheral operations simplifies programming.