Valent-Blocks: Scalable High-Performance Compilation of WebAssembly Bytecode For Embedded Systems

Fabian Scheidl · 2020

In the field of emerging software architectures, there has been a dramatic push towards flexible and sand-boxed software modules that allow systems to safely execute untrusted code in a guaranteed side-effect free manner. Latest developments have further given rise to portable and statically validatable representations of software in a bytecode format like WebAssembly. In order to ease the segue into the domain of embedded systems, this paper explores the feasibility of a novel and easily retargetable streaming quasi-singlepass on-target-compiler topology with concurrent bytecode validation. For this, a generalized compile-time virtual stack is employed which is logically partitioned into separately emittable blocks (named valent-blocks). This forms the foundation of a corresponding runtime for resource constrained systems that demonstrate the need for predictable, resource-efficient and fast sandboxed execution of hot-loaded software. This paper further benchmarks the resultant performance against current popular competing standalone WebAssembly runtimes.

Read the paper · More papers on PaperTik