Minimal Virtual Machines on IoT Microcontrollers: The Case of Berkeley Packet Filters with rBPF

11/24/2020
by   Koen Zandberg, et al.
0

Virtual machines (VM) are widely used to host and isolate software modules. However, extremely small memory and low-energy budgets have so far prevented wide use of VMs on typical microcontroller-based IoT devices. In this paper, we explore the potential of two minimal VM approaches on such low-power hardware. We design rBPF, a register-based VM based on extended Berkeley Packet Filters (eBPF). We compare it with a stack-based VM based on WebAssembly (Wasm) adapted for embedded systems. We implement prototypes of each VM, hosted in the IoT operating system RIOT. We perform measurements on commercial off-the-shelf IoT hardware. Unsurprisingly, we observe that both Wasm and rBPF virtual machines yield execution time and memory overhead, compared to not using a VM. We show however that this execution time overhead is tolerable for low-throughput, low-energy IoT devices. We further show that, while using a VM based on Wasm entails doubling the memory budget for a simple networked IoT application using a 6LoWPAN/CoAP stack, using a VM based on rBPF requires only negligible memory overhead (less than 10 small software modules, isolated from OS software, and updatable on-demand, over low-power networks.

READ FULL TEXT
research
10/07/2022

Femto-Containers: Lightweight Virtualization and Fault Isolation For Small Software Functions on Low-Power IoT Microcontrollers

Low-power operating system runtimes used on IoT microcontrollers typical...
research
05/19/2020

The Lazarus Effect: Healing Compromised Devices in the Internet of Small Things

We live in a time when billions of IoT devices are being deployed and in...
research
06/10/2021

Femto-Containers: DevOps on Microcontrollers with Lightweight Virtualization Isolation for IoT Software Modules

Development, deployment and maintenance of networked software has been r...
research
01/20/2021

Thread Evolution Kit for Optimizing Thread Operations on CE/IoT Devices

Most modern operating systems have adopted the one-to-one thread model t...
research
10/02/2018

Platform-Agnostic Steal-Time Measurement in a Guest Operating System

Steal time is a key performance metric for applications executed in a vi...
research
01/31/2019

Aggressive Fragmentation Strategy for Enhanced Network Performance in Dense LPWANs

Low Power Wide Area Networks (LPWANs) are gaining ground in the IoT land...
research
04/11/2017

FMMU: A Hardware-Automated Flash Map Management Unit for Scalable Performance of NAND Flash-Based SSDs

NAND flash-based Solid State Drives (SSDs), which are widely used from e...

Please sign up or login with your details

Forgot password? Click here to reset