YoVDO

Immortal Threads - Multithreaded Event-driven Intermittent Computing on Ultra-Low-Power Microcontrollers

Offered By: USENIX via YouTube

Tags

OSDI (Operating Systems Design and Implementation) Courses Event-Driven Programming Courses Energy Harvesting Courses

Course Description

Overview

Explore a groundbreaking programming model for intermittent computing on ultra-low-power microcontrollers in this 15-minute conference talk from OSDI '22. Dive into the concept of Immortal Threads, which enables pseudo-stackful multithreaded processing in energy-harvesting batteryless devices. Learn how this innovative approach allows programmers to write applications oblivious to intermittent execution using common event-driven multithreading primitives. Discover the compiler frontend that transforms stackful threads into stackless threads, minimizing computational progress loss during power failures. Examine the runtime implementation of fair scheduling for efficient thread switching. Compare Immortal Threads to state-of-the-art intermittent runtimes and understand its runtime overhead. Gain insights into energy harvesting, power failures, checkpoints, tasks, event handling complexity, micro continuations, and thread scheduling in the context of ultra-low-power computing.

Syllabus

Intro
Energy Harvesting Batteryless Devices
Power Failures - Intermittent Execution
Checkpoints vs Tasks
Event Handling Complexity
Limited Concurrency
Compiler Frontend
Enabling Micro Continuations
Almost Free Checkpoints
Thread Scheduling
Conclusions - Immortal Threads


Taught by

USENIX

Related Courses

GraphX - Graph Processing in a Distributed Dataflow Framework
USENIX via YouTube
Theseus - An Experiment in Operating System Structure and State Management
USENIX via YouTube
RedLeaf - Isolation and Communication in a Safe Operating System
USENIX via YouTube
Microsecond Consensus for Microsecond Applications
USENIX via YouTube
KungFu - Making Training in Distributed Machine Learning Adaptive
USENIX via YouTube