物联网微控制器上的极简虚拟机:基于 rBPF 的伯克利包过滤器案例
网络与互联网体系结构
2020-12-10 v2 操作系统
摘要
虚拟机(VM)被广泛用于托管和隔离软件模块。然而,极小的内存和低能耗预算迄今为止阻碍了 VM 在典型基于微控制器的物联网设备上的广泛使用。在本文中,我们探索了此类低功耗硬件上两种极简 VM 方法的潜力。我们设计了 rBPF,一种基于扩展伯克利包过滤器(eBPF)的寄存器式 VM。我们将其与基于面向嵌入式系统调整的 WebAssembly(Wasm)的栈式 VM 进行比较。我们在物联网操作系统 RIOT 中实现了每种 VM 的原型。我们在商用现成物联网硬件上进行了测量。不出所料,我们观察到与使用 VM 相比,Wasm 和 rBPF 虚拟机都带来执行时间和内存开销。然而,我们表明对于低吞吐、低能耗的物联网设备,该执行时间开销是可容忍的。我们进一步表明,虽然使用基于 Wasm 的 VM 会使使用 6LoWPAN/CoAP 栈的简单联网物联网应用的内存预算翻倍,但使用基于 rBPF 的 VM 仅需可忽略的内存开销(多不到 10% 的内存)。因此,rBPF 是一种有前景的方法,用于托管与操作系统软件隔离且可通过低功耗网络按需更新的小型软件模块。
引用
@article{arxiv.2011.12047,
title = {Minimal Virtual Machines on IoT Microcontrollers: The Case of Berkeley Packet Filters with rBPF},
author = {Koen Zandberg and Emmanuel Baccelli},
journal= {arXiv preprint arXiv:2011.12047},
year = {2020}
}