返回
Optimizing WebAssembly Bytecode for IoT Devices Using Deep Reinforcement Learning
DOI:10.1145/3731451.png)
摘要
En 中文
WebAssembly在各种物联网设备上展现出实现多语言支持和无缝设备-云集成的潜力。WebAssembly字节码的执行性能直接受编译序列的影响。虽然现有研究已探索了针对本地代码的编译序列优化,但这些方法由于WebAssembly独特的指令格式和控制流图结构,并不适用于其字节码。本研究提出WasmRL,一种专为WebAssembly字节码设计的基于深度强化学习(DRL)的新型高效编译优化框架。我们对WebAssembly指令及其相关编译标志的特性进行了精细分析。观察到相同的编译序列在WebAssembly和本地代码中可能产生不同的性能结果。受此启发,我们引入了一种针对WebAssembly的DRL状态表示,能够同时捕捉不同编译序列对WebAssembly字节码及其运行时性能的影响。为提升DRL模型的训练效率,我们提出了一种基于树的动作空间精炼方法。此外,我们开发了一种可插拔的跨平台训练策略,以优化不同物联网设备上的WebAssembly字节码。我们在PolybenchC、MiBench、Shootout公共数据集及真实物联网应用上全面评估了WasmRL的性能。实验结果表明:(1) 在特定设备上训练的DRL模型对于已知/未知程序分别实现了1.4倍/1.1倍相对于-O3的加速;(2) 在多设备上同时训练的DRL模型分别实现了1.21倍/1.06倍的改进。代码已公开于https://github.com/CarrollAdmin/WasmRL。
Keyword:
WebAssembly
compiler optimization
deep reinforcement learning
IoT devices
bytecode performance

