Litcius/Paper detail

Wasmachine: Bring IoT up to Speed with A WebAssembly OS

Elliott Wen, Gerald Weber

202028 citationsDOI

Abstract

WebAssembly is a new-generation low-level byte-code format and gaining wide adoption in browser-centric applications. Nevertheless, WebAssembly is originally designed as a general approach for running binaries on any runtime environments more than the web. This paper presents Wasmachine, an OS aiming to efficiently and securely execute WebAssembly applications in IoT and Fog devices with constrained resources. Wasmachine achieves more efficient execution than conventional OSs by compiling WebAssembly ahead of time to native binary and executing it in kernel mode for zero-cost system calls. Wasmachine maintains high security by not only exploiting many sandboxing features of WebAssembly but also implementing the OS kernel in Rust to ensure memory safety. We benchmark commonly-used IoT and fog applications and the results show that Wasmachine is up to 11% faster than Linux.

Topics & Concepts

Computer scienceByteBenchmark (surveying)Operating systemKernel (algebra)Embedded systemRust (programming language)Virtual machineCode (set theory)Linux kernelMemory safetyInternet of ThingsMode (computer interface)SoftwareProgramming languageSet (abstract data type)GeodesyGeographyMathematicsCombinatoricsSecurity and Verification in ComputingParallel Computing and Optimization TechniquesAdvanced Data Storage Technologies