User Tools

Site Tools


tutorials:checkpointing_overview

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tutorials:checkpointing_overview [2025/11/11 18:56] – [The Concerns With Capacitors] ibchadmintutorials:checkpointing_overview [2025/11/14 21:27] (current) – [Task-based Checkpointing] ibchadmin
Line 9: Line 9:
   * **Ensuring proper (re)initialization of system state and peripherals after power loss**: even a device using a matched operation approach may encounter extended periods of power loss (e.g. a device harvesting solar energy at night), so an intermittent device should be able to properly resume operation depending on its previous state and the length of power loss.   * **Ensuring proper (re)initialization of system state and peripherals after power loss**: even a device using a matched operation approach may encounter extended periods of power loss (e.g. a device harvesting solar energy at night), so an intermittent device should be able to properly resume operation depending on its previous state and the length of power loss.
   * **Ensuring forward application progress**: some loss of progress is generally unavoidable on a device with unpredictable power.  However, a device should be able to ensure that some progress is made on each power cycle, or at least have the ability to recognize when it is stuck and react accordingly.   * **Ensuring forward application progress**: some loss of progress is generally unavoidable on a device with unpredictable power.  However, a device should be able to ensure that some progress is made on each power cycle, or at least have the ability to recognize when it is stuck and react accordingly.
-  * **Data consistency**: most intermittent devices maintain volatile and non-violatile memory stores, and most checkpointing strategies rely on storing at least some information in non-violatile memory.  Intermittent devices need to ensure that writes to non-violatile memory both complete successfully before power loss, and account for possible inconsistencies between non-violatile memory and program state (such as write after read errors).+  * **Data consistency**: most intermittent devices maintain volatile and non-violatile memory stores, and most checkpointing strategies rely on storing at least some information in non-violatile memory.  Intermittent devices need to ensure that writes to non-violatile memory both complete successfully before power loss, and account for possible inconsistencies between non-violatile memory and program state (such as [[https://en.wikipedia.org/wiki/Data_dependency#Write_after_read_(WAR)|write after read]] errors).
   * **Limited power budget**: capacitors can hold only a fraction of energy than a similar-sized battery.  Capacitor sizing and the method of energy harvesting can further reduce the amount of energy a device has available, with some small intermittent devices only having access to a few microwatts of power at any given point.  As a result, the method(s) chosen should have as small a footprint as feasible in order to ensure that most energy is used for useful work.   * **Limited power budget**: capacitors can hold only a fraction of energy than a similar-sized battery.  Capacitor sizing and the method of energy harvesting can further reduce the amount of energy a device has available, with some small intermittent devices only having access to a few microwatts of power at any given point.  As a result, the method(s) chosen should have as small a footprint as feasible in order to ensure that most energy is used for useful work.
   * **Adaptability**: an intermittent device should be able to adjust its operation to account for varying environments and energy availability, especially if it will be deployed across a variety of environments.  Even for more narrow deployments, an inflexible device may fail if the testing environment fails to accurately model its real world application.   * **Adaptability**: an intermittent device should be able to adjust its operation to account for varying environments and energy availability, especially if it will be deployed across a variety of environments.  Even for more narrow deployments, an inflexible device may fail if the testing environment fails to accurately model its real world application.
Line 24: Line 24:
  
 **Examples** **Examples**
-  * AsTAR +  * [[https://anrg.usc.edu/www/papers/AsTAR-yang.pdf|AsTAR]] 
-  * Flute+  * [[https://lirias.kuleuven.be/retrieve/734534|Flute]]
  
 ===== Checkpointing ===== ===== Checkpointing =====
Line 50: Line 50:
  
 **Examples** **Examples**
-  * Mementos +  * [[https://dl.acm.org/doi/10.1145/1961295.1950386|MementOS]] 
-  * Hibernus +  * [[https://ieeexplore.ieee.org/document/6960060|Hibernus]] 
-  * HarvOS +  * [[https://dl.acm.org/doi/10.1145/3055031.3055082|HarvOS]]
-  * Broken Time Machine (https://dl.acm.org/doi/10.1145/2618128.2618136)+
  
 ==== Task-based Checkpointing ==== ==== Task-based Checkpointing ====
Line 62: Line 61:
  
 **Examples** **Examples**
-  * Alpaca? +  * [[https://dl.acm.org/doi/10.1145/3133920|Alpaca]] 
-  * Mayfly+  * [[https://dl.acm.org/doi/10.1145/3131672.3131673|Mayfly]]
   * Artemis   * Artemis
   * Chain   * Chain
-  * Ink+  * [[https://dl.acm.org/doi/10.1145/3274783.3274837|InK]]
  
  
Line 93: Line 92:
 ===== References ===== ===== References =====
  
-  * https://cmuabstract.github.io/intermittence_tutorial/tutorial/+  * [[https://cmuabstract.github.io/intermittence_tutorial/tutorial/|Getting Started With Intermittent Computing]] 
 +  * [[https://dl.acm.org/doi/10.1145/2618128.2618136|Nonvolatile Memory is a Broken Time Machine]]
  
  
tutorials/checkpointing_overview.1762887409.txt.gz · Last modified: 2025/11/11 18:56 by ibchadmin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki