Table of Contents
Fetching ...

CARTOS: A Charging-Aware Real-Time Operating System for Intermittent Batteryless Devices

Mohsen Karimi, Yidi Wang, Youngbin Kim, Yoojin Lim, Hyoseung Kim

TL;DR

CARTOS tackles the challenge of real-time execution on intermittently-powered, batteryless devices by introducing a charging-aware RTOS with a mixed-preemption model. Computation tasks are preemptible and protected by JIT checkpoints, while peripheral tasks are atomic and scheduled non-preemptively only when sufficient energy is available, supported by adaptive energy prediction and chain-aware scheduling. The framework integrates a JIT checkpointing service, charging management with per-task voltage thresholds, and energy-aware APIs into FreeRTOS, achieving forward progress and predictable timing under varying energy conditions. Experimental and analytical evaluations show CARTOS outperforms prior approaches in schedulability and robustness, suggesting strong practical impact for resilient, real-time sensing on IPDs.

Abstract

This paper presents CARTOS, a charging-aware real-time operating system designed to enhance the functionality of intermittently-powered batteryless devices (IPDs) for various Internet of Things (IoT) applications. While IPDs offer significant advantages such as extended lifespan and operability in extreme environments, they pose unique challenges, including the need to ensure forward progress of program execution amidst variable energy availability and maintaining reliable real-time time behavior during power disruptions. To address these challenges, CARTOS introduces a mixed-preemption scheduling model that classifies tasks into computational and peripheral tasks, and ensures their efficient and timely execution by adopting just-in-time checkpointing for divisible computation tasks and uninterrupted execution for indivisible peripheral tasks. CARTOS also supports processing chains of tasks with precedence constraints and adapts its scheduling in response to environmental changes to offer continuous execution under diverse conditions. CARTOS is implemented with new APIs and components added to FreeRTOS but is designed for portability to other embedded RTOSs. Through real hardware experiments and simulations, CARTOS exhibits superior performance over state-of-the-art methods, demonstrating that it can serve as a practical platform for developing resilient, real-time sensing applications on IPDs.

CARTOS: A Charging-Aware Real-Time Operating System for Intermittent Batteryless Devices

TL;DR

CARTOS tackles the challenge of real-time execution on intermittently-powered, batteryless devices by introducing a charging-aware RTOS with a mixed-preemption model. Computation tasks are preemptible and protected by JIT checkpoints, while peripheral tasks are atomic and scheduled non-preemptively only when sufficient energy is available, supported by adaptive energy prediction and chain-aware scheduling. The framework integrates a JIT checkpointing service, charging management with per-task voltage thresholds, and energy-aware APIs into FreeRTOS, achieving forward progress and predictable timing under varying energy conditions. Experimental and analytical evaluations show CARTOS outperforms prior approaches in schedulability and robustness, suggesting strong practical impact for resilient, real-time sensing on IPDs.

Abstract

This paper presents CARTOS, a charging-aware real-time operating system designed to enhance the functionality of intermittently-powered batteryless devices (IPDs) for various Internet of Things (IoT) applications. While IPDs offer significant advantages such as extended lifespan and operability in extreme environments, they pose unique challenges, including the need to ensure forward progress of program execution amidst variable energy availability and maintaining reliable real-time time behavior during power disruptions. To address these challenges, CARTOS introduces a mixed-preemption scheduling model that classifies tasks into computational and peripheral tasks, and ensures their efficient and timely execution by adopting just-in-time checkpointing for divisible computation tasks and uninterrupted execution for indivisible peripheral tasks. CARTOS also supports processing chains of tasks with precedence constraints and adapts its scheduling in response to environmental changes to offer continuous execution under diverse conditions. CARTOS is implemented with new APIs and components added to FreeRTOS but is designed for portability to other embedded RTOSs. Through real hardware experiments and simulations, CARTOS exhibits superior performance over state-of-the-art methods, demonstrating that it can serve as a practical platform for developing resilient, real-time sensing applications on IPDs.
Paper Structure (30 sections, 14 equations, 11 figures, 3 tables)

This paper contains 30 sections, 14 equations, 11 figures, 3 tables.

Figures (11)

  • Figure 1: A typical hardware design of IPDs
  • Figure 2: Charging and discharging cycles of an IPD
  • Figure 3: System Framework
  • Figure 4: An example of multiple chains with different tasks
  • Figure 5: Periodic task example in CARTOS
  • ...and 6 more figures