一句话:提出 Molecule:首个利用异构计算机(DPU/FPGA/GPU)的无服务器系统,通过 XPU-Shim 和向量化沙箱提升函数密度与性能。
现有无服务器计算平台构建在同构计算机上,限制了函数密度并使其适用范围受限。本文提出 Molecule,首个利用异构计算机的无服务器计算系统,支持通用设备(如 Nvidia DPU)和领域专用加速器(如 FPGA、GPU)。为弥合多操作系统底层与无服务器运行时之间的差距,作者提出分布式 shim XPU-Shim;为抽象硬件异构性,提出沙箱抽象 vectorized sandbox,并回顾和移植启动、通信延迟优化。Molecule 在真实 Nvidia DPU 与 Xilinx FPGA 平台上实现,使用基准测试和真实应用评估。结果显示函数密度提高 50%,应用性能最高提升 34.6 倍。
Existing serverless computing platforms are built upon homogeneous computers, limiting the function density and restricting serverless computing to limited scenarios. We introduce Molecule, the first serverless computing system utilizing heterogeneous computers. Molecule enables both general-purpose devices (e.g., Nvidia DPU) and domain-specific accelerators (e.g., FPGA and GPU) for serverless applications that significantly improve function density (50% higher) and application performance (up to 34.6x). To achieve these results, we first propose XPU-Shim, a distributed shim to bridge the gap between underlying multi-OS systems (when using general-purpose devices) and our serverless runtime (i.e., Molecule). We further introduce vectorized sandbox, a sandbox abstraction to abstract hardware heterogeneity (when using domain-specific accelerators). Moreover, we also review state-of-the-art serverless optimizations on startup and communication latency and overcome the challenges to implement them on heterogeneous computers. We have implemented Molecule on real platforms with Nvidia DPUs and Xilinx FPGAs and evaluate it using benchmarks and real-world applications.