Potential of WebAssembly for Embedded Systems
Stefan Wallentowitz, Bastian Kersting, Dan Mihai Dumitriu
TL;DR
Addressing the challenge of portable, secure execution across heterogeneous embedded devices, the paper evaluates WebAssembly as an application VM for embedded systems. It surveys runtimes, analyzes footprints and benchmarking results (interpreter vs AoT), and presents a case study on edge vision pipelines to illustrate viability. The findings indicate that while interpreter modes are heavy, ahead-of-time compilation offers around half-native performance and significant code-size savings, making WebAssembly practical for embedded deployments with careful runtime choice. The paper concludes that with ongoing WASI standardization and embedded-focused runtimes, WebAssembly can enable secure, multi-language, edge computing across diverse devices, though challenges remain in performance, app management, and API maturity.
Abstract
Application virtual machines provide strong isolation properties and are established in the context of software portability. Those opportunities make them interesting for scalable and secure IoT deployments. WebAssembly is an application virtual machine with origins in web browsers, that is getting rapidly adopted in other domains. The strong and steadily growing ecosystem makes WebAssembly an interesting candidate for Embedded Systems. This position paper discusses the usage of WebAssembly in Embedded Systems. After introducing the basic concepts of WebAssembly and existing runtime environments, we give an overview of the challenges for the efficient usage of WebAssembly in Embedded Systems. The paper concludes with a real world case study that demonstrates the viability, before giving an outlook on open issues and upcoming work.
