2017
DOI: 10.1145/3133920
|View full text |Cite
|
Sign up to set email alerts
|

Alpaca: intermittent execution without checkpoints

Abstract: The emergence of energy harvesting devices creates the potential for batteryless sensing and computing devices. Such devices operate only intermittently, as energy is available, presenting a number of challenges for software developers. Programmers face a complex design space requiring reasoning about energy, memory consistency, and forward progress. This paper introduces Alpaca, a low-overhead programming model for intermittent computing on energy-harvesting devices. Alpaca programs are composed of a sequence… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
261
0

Year Published

2018
2018
2023
2023

Publication Types

Select...
5
2
2

Relationship

0
9

Authors

Journals

citations
Cited by 192 publications
(271 citation statements)
references
References 43 publications
0
261
0
Order By: Relevance
“…Hence, these sensors nodes need to be carefully configured to increase their quality of service and compete with existing battery-based solutions. Several works are tackling intermittent operations of battery-less energy harvesting systems [21,22,35,36].…”
Section: Related Workmentioning
confidence: 99%
“…Hence, these sensors nodes need to be carefully configured to increase their quality of service and compete with existing battery-based solutions. Several works are tackling intermittent operations of battery-less energy harvesting systems [21,22,35,36].…”
Section: Related Workmentioning
confidence: 99%
“…We survey these works in this section. [105] Task-based checkpointing-versioning, × × manual idempotency analysis Ratchet [106] Task-based checkpointing, × × automatic idempotency analysis Chain [107] Idempotency task programming, × channel-based data exchange HarvOS [108] CFG-based checkpoint placement, × × × advanced ADC interrupt Clank [109] Dynamic idempotency task decomposition, × checkpointing and versioning Alpaca [110] Idempotency task programming, × privatization data exchange Mayfly [111] Idempotency task programming, remanence timekeeping A. Checkpointing Optimizations 1) Checkpoint placement and activation: refers to the scheme of inserting potential checkpoints to the program at compile-time and activate checkpointing processes at run-time. Inserting checkpoints at different locations of the program leads to distinct checkpointing overhead (including energy and memory) as the number of variables to be saved varies.…”
Section: Computing Optimizations For Batterylessmentioning
confidence: 99%
“…Second, the execution just follows a task flow and no checkpointing is needed between tasks, such as Chain [107] and Alpaca [110]. Instead of decomposing a long program that is written line-by-line (or instruction-by-instruction), Chain and Alpaca designed a new programming model where a program is written at the granularity of a task, i.e., groups of instructions, and these tasks are connected through a control flow graph.…”
Section: Computing Optimizations For Batterylessmentioning
confidence: 99%
“…As the computation complexity varies from application to application, the energy needed for each application are di erent. erefore, preserving the current states are widely adopted in designs [17][18][19][19][20][21][22][23][24]. Moreover, the energy from capacitors is limited as the size of capacitors in small scale energy harvesting system can be as small as µF and under 5 [19].…”
Section: Fpga and Energy Harvesting Systemmentioning
confidence: 99%