中文

MoMIT:将 JavaScript 解释器移植到一枚二角五分硬币上

软件工程 2019-06-11 v1

摘要

物联网(IoT)是由异构的物理连接设备组成的网络,通过专用网络和互联网提供服务。它将一系列新设备连接到互联网,使其能与全球 Web 服务器及其他设备通信。当今用于通信网页和 Web 应用的标准平台是 JavaScript(JS),将同一标准平台扩展至连接 IoT 设备显得十分恰当。然而,将 JS 应用移植到大量 IoT 设备,特别是片上系统(SoCs)设备(例如 Arduino Uno、Particle Photon),具有挑战性,因为这些设备在内存和存储容量上受限。运行 JS 应用增加了在设备上部署代码解释器的资源开销。此外,在一些缺少某些硬件/软件能力的设备上,运行 JS 应用可能无法“原样”进行。为解决该问题,我们提出 MoMIT——一种多目标优化方法,用于精简 JS 应用以在 IoT 受限设备上运行。为验证 MoMIT,我们精简了一个 JS 解释器来执行由 23 个应用组成的测试平台,并测量精简过程前后它们的性能。我们使用三种不同搜索算法实现 MoMIT,发现其可将代码大小、内存使用和 CPU 时间分别减少 31%、56% 和 36% 的中位值。最后,与使用默认 JS 解释器功能相比,MoMIT 将精简后的 JS 解释器移植到了另外 2 个 SoCs 设备上。

关键词

引用

@article{arxiv.1906.03304,
  title  = {MoMIT: Porting a JavaScript Interpreter on a Quarter Coin},
  author = {Rodrigo Morales and Ruben Saborido and Yann-Gaël Guéhéneuc},
  journal= {arXiv preprint arXiv:1906.03304},
  year   = {2019}
}