Intermittent asynchronous peripheral operations
Intermittent asynchronous peripheral operations
复制标题
DOI:
10.1145/3356250.3360033
复制
发表时间:
2019-11
期刊:
影响因子:
--
通讯作者:
Adriano Branco;L. Mottola;M. H. Alizai;J. H. Siddiqui
中科院分区:
文献类型:
--
作者:
Adriano Branco;L. Mottola;M. H. Alizai;J. H. Siddiqui
Energy harvesting enables battery-less sensing applications, but causes executions to become intermittent as a result of erratic energy provisioning. Intermittent executions pose challenges to peripheral consistency that threaten to leave peripheral-bound workloads in failed states or to impede forward progress of programs. Intermittent synchronous peripheral operations are supported in existing literature for specific kinds of peripherals. Asynchronous peripheral operations enable reactive concurrency in application implementations, which increases reactivity and improves energy consumption, but lack dedicated support in intermittent settings. We present Karma, the first general abstraction and system design to support both synchronous and asynchronous operations in an intermittent setting. Karma employs a novel combination of peripheral roll-forward and computation roll-back to a rendezvous point guaranteeing consistency. It remains transparent to application programmers and peripheral driver, which favours portability. Our evaluation, based on three applications running on prototype hardware and using diverse energy sources, indicates that intermittent asynchronous peripheral support provided by Karma boosts data throughput by 83% compared to existing literature.