Inferensys

Glossary

Intermittent Computing

Intermittent computing is a system design and programming paradigm for devices powered by ambient energy harvesters, where computations must be robust to frequent, unpredictable power losses.
Elegant overhead shot of a polished wooden communal table in a sun-drenched WeWork lounge, laptops and tablets displaying AI workflow dashboards, plants and pendant lights in background.
ENERGY-EFFICIENT INFERENCE

What is Intermittent Computing?

A programming model for devices powered by unpredictable energy sources, where computations must survive frequent power losses.

Intermittent computing is a system design paradigm for batteryless, energy-harvesting devices where computations are guaranteed to complete correctly despite frequent, unpredictable power failures. It treats power loss as a normal, expected event rather than a catastrophic failure. Core enabling technologies include non-volatile memory (NVM) for persistent state and checkpointing mechanisms that save computational progress at fine granularity, allowing tasks to resume seamlessly when power returns.

This paradigm is foundational for the Internet of Things (IoT), enabling perpetual operation for sensors and microcontrollers powered by ambient sources like light, vibration, or radio waves. It requires a fundamental shift from traditional, continuous execution models to one built on task-based atomicity and state persistence. Key challenges involve minimizing the energy overhead of frequent checkpoints and designing algorithms that are inherently interruption-tolerant, often leveraging hardware features like processor retention states and memory remanence.

INTERMITTENT COMPUTING

Key System Components & Techniques

Intermittent computing systems are architected from the ground up to survive unpredictable power cycles. This requires specialized hardware, novel memory architectures, and unique programming models.

01

Non-Volatile Memory (NVM)

The cornerstone of intermittent computing, Non-Volatile Memory (NVM) retains data without power. Unlike traditional RAM (volatile), NVM like Ferroelectric RAM (FeRAM), Magnetoresistive RAM (MRAM), or Resistive RAM (ReRAM) is used to store both program state and data. This allows the system to resume execution from a known checkpoint after a power failure. Key uses include:

  • Storing live register and stack state.
  • Holding intermediate computation results.
  • Maintaining the program counter for precise resumption.
02

Checkpointing & State Consistency

Checkpointing is the software technique of periodically saving a consistent snapshot of the system's volatile state to non-volatile memory. The core challenge is ensuring state consistency—the saved checkpoint must represent a valid, recoverable program state to avoid corruption. Techniques include:

  • Idempotent operations: Designing computations so they can be safely repeated after a restart.
  • Atomic regions: Grouping instructions that must all complete or be rolled back together.
  • Logging: Recording changes to data structures to enable replay or rollback.
03

Energy Harvesting Power Subsystem

These systems are powered by energy harvesters that convert ambient energy (light, vibration, thermal, RF) into electricity. The power subsystem is critical and includes:

  • Harvester: The transducer (e.g., photovoltaic cell, piezoelectric element).
  • Power Management Unit (PMU): Conditions the erratic harvested power, manages storage, and controls power rails.
  • Energy Storage: A small capacitor or trickle-charged battery that acts as a buffer. The PMU only enables the main processor when sufficient energy is stored for a meaningful burst of computation, leading to the characteristic intermittent operation.
04

Task-Based Programming Models

Traditional sequential programming fails under intermittent power. Task-based models break computation into discrete, restartable units. Frameworks like DINO and Chain allow developers to define tasks with explicit dependencies. The runtime system automatically:

  • Schedules tasks when energy is available.
  • Checkpoints task outputs to NVM.
  • Ensures tasks are executed exactly once, even across multiple power cycles. This abstraction hides the complexity of manual state management from the programmer.
05

Volatile/Non-Volatile Memory Hierarchy

An efficient system uses a hybrid memory architecture to balance speed and persistence.

  • Fast Volatile Cache (SRAM): Used for active computation.
  • Persistent Non-Volatile Main Memory (NVM): Stores checkpoints and critical data. Data moves between these tiers under programmer or runtime control. The goal is to minimize expensive writes to NVM (which are slower and more energy-intensive than reads) while ensuring no critical data is lost when power fails.
06

Progress-Aware Algorithms

Standard algorithms assume continuous execution. Progress-aware algorithms are redesigned to maximize useful work per energy unit and guarantee forward progress across interruptions. Examples include:

  • Intermittent Sorting: Algorithms that partially sort data with each burst, knowing the state is saved.
  • Approximate Computing: Trading exactness for completion, producing a "good enough" result sooner if a full run is impossible.
  • Energy-Adaptive Methods: Algorithms that can adjust their fidelity or path based on available energy in the capacitor.
EXECUTION MODEL

How Intermittent Computing Works: The Execution Cycle

Intermittent computing defines a specific execution cycle to guarantee forward progress despite unpredictable power failures.

The core execution cycle is a checkpoint-and-restore loop. A program executes in volatile main memory until a power failure is imminent, detected by a voltage monitor. The system then triggers a checkpoint, saving the program's critical state—including register values and heap/stack data—to non-volatile memory (NVM). Upon power restoration, a bootloader first runs, restoring this saved state before resuming the main application from the exact point of interruption.

This model requires energy-aware programming where tasks are decomposed into idempotent or restartable operations. Systems often employ a task-based programming model and dedicated hardware like Ferroelectric RAM (FeRAM) or Magnetoresistive RAM (MRAM) for fast, low-energy checkpoints. The goal is to minimize the energy overhead of each checkpoint to ensure net forward progress is made between power cycles.

INTERMITTENT COMPUTING

Applications and Use Cases

Intermittent computing enables robust operation on devices powered by unpredictable energy sources, such as harvesters or tiny batteries. Its core applications span from environmental sensing to wearable health tech, where systems must survive frequent, abrupt power losses.

01

Environmental & Agricultural Monitoring

Deploying battery-less sensor nodes in remote fields or forests to monitor soil moisture, temperature, and air quality. These systems use energy harvesting from solar or microbial fuel cells. Key techniques include:

  • Checkpointing to save sensor state to non-volatile memory (NVM) before power loss.
  • Task-based programming models that break computations into atomic, restartable operations.
  • Transiently-powered sensors that can operate for years without battery replacement.
< 1 mW
Typical Power Budget
02

Wearable & Implantable Medical Devices

Powering next-generation health monitors and bio-implants that harvest energy from body heat, motion, or light. Applications include:

  • Continuous glucose monitoring with energy harvested from interstitial fluid.
  • Cardiac event recorders that must log data reliably despite motion-induced power interruptions.
  • Neural recording patches that use near-threshold computing to minimize energy per operation. The system must guarantee forward progress and data consistency for critical health metrics, often using hardware-assisted checkpointing in specialized microcontrollers.
03

Smart Building & Infrastructure Sensors

Embedding maintenance-free sensors into walls, bridges, or industrial equipment to monitor stress, vibration, and corrosion. These systems rely on piezoelectric or thermoelectric harvesters. Key challenges addressed:

  • Duty cycling the radio for data transmission only when sufficient energy is stored.
  • Volatile state reconstruction after a power failure to resume long-term trend analysis.
  • Energy-aware scheduling that prioritizes critical measurements (e.g., crack detection) over less urgent tasks when energy is scarce.
10+ years
Target Lifespan
05

Space & Harsh Environment Electronics

Operating computing systems in satellites or planetary rovers where power is sporadic due to eclipses, dust storms, or extreme temperatures. Intermittent computing ensures:

  • Scientific data integrity from instruments across power cycles.
  • Reliable command execution for actuators, using idempotent operations to prevent double-actuation after a restart.
  • Fault containment where a power loss resets a faulty state without requiring a full ground intervention. Systems often employ radiation-hardened non-volatile flip-flops and persistent task queues.
06

Backscatter & RFID-Scale Computing

Pushing computation to the extreme limits of energy availability with devices powered entirely by harvested RF signals. Applications include:

  • Computational RFID tags that can perform sensor data filtering before responding to a reader.
  • Battery-less inventory sensors that log temperature exposure history across a supply chain.
  • Smart dust concepts for massively distributed sensing. These systems operate in the subthreshold or deep subthreshold voltage region and use asynchronous logic to maximize energy efficiency. Execution is often managed by a transiently-powered operating system kernel.
µW-nW
Power Range
INTERMITTENT COMPUTING

Frequently Asked Questions

Intermittent computing enables systems to function on harvested energy, where power failures are the norm, not the exception. This FAQ addresses the core concepts, mechanisms, and trade-offs of this critical paradigm for energy-autonomous devices.

Intermittent computing is a system design and programming paradigm for devices powered by unreliable energy sources, such as harvesters, where computations must survive frequent, unpredictable power losses. It works by combining non-volatile memory (NVM) with checkpointing mechanisms. The system's volatile state (CPU registers, SRAM) is periodically saved to NVM. When power fails and later returns, a bootloader or resume routine restores the most recent checkpoint, allowing the computation to continue from where it left off, rather than restarting from the beginning.

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.