Minimal Virtual Machines on IoT Microcontrollers: The Case of Berkeley Packet Filters with rBPF
Koen Zandberg, Emmanuel Baccelli

TL;DR
This paper evaluates two minimal virtual machine implementations, rBPF and WebAssembly, on low-power IoT microcontrollers, demonstrating that rBPF offers a low-overhead, memory-efficient solution suitable for small, updatable software modules.
Contribution
The paper introduces rBPF, a register-based VM optimized for IoT microcontrollers, and compares its performance and memory overhead with WebAssembly, showing rBPF's suitability for resource-constrained devices.
Findings
rBPF has less than 10% additional memory overhead.
Both VMs have tolerable execution time overhead for low-throughput IoT devices.
rBPF enables small, updatable modules with minimal resource impact.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsCloud Computing and Resource Management · Parallel Computing and Optimization Techniques · IoT and Edge/Fog Computing
