探索 WebAssembly 在高性能计算中的使用
分布式、并行与集群计算
2023-03-03 v1 性能
摘要
基于 Linux 内核所提供的命名空间的容器化方法在 HPC 社区中日益流行,既作为隔离应用的手段,也作为打包和分发应用的格式。然而,它们在 HPC 系统中的采用和使用面临若干挑战。这些包括难以在 HPC 资源上直接以非特权方式运行和构建科学应用容器镜像、HPC 架构日益异构,以及仅能在 HPC 系统上获取的专用网络库。这些基于容器的 HPC 应用开发挑战,与一种称为 WebAssembly(Wasm)的新型通用中间二进制格式所具有的多项优势高度契合。这些优势包括轻量级用户空间隔离机制,以及跨操作系统和处理器架构的可移植性。在本文中,我们探索将 Wasm 用作基于 MPI 的 HPC 应用的分发格式。为此,我们提出 MPIWasm,一种面向基于 MPI 的 HPC 应用的新型 Wasm 嵌入器,其能够实现 Wasm 代码的高性能执行,对 MPI 调用具有低开销,并支持 HPC 系统上现有的高性能网络互连。我们在生产级 HPC 系统和 AWS Graviton2 节点上使用标准化 HPC 基准测试评估了 MPIWasm 的性能和开销。实验结果表明,MPIWasm 在所有场景下均提供了具竞争力的原生应用性能。此外,我们观察到,相较于不同标准化基准的静态链接二进制文件,Wasm 二进制文件平均小 139.5 倍。
引用
@article{arxiv.2301.03982,
title = {Exploring the Use of WebAssembly in HPC},
author = {Mohak Chadha and Nils Krueger and Jophin John and Anshul Jindal and Michael Gerndt and Shajulin Benedict},
journal= {arXiv preprint arXiv:2301.03982},
year = {2023}
}
备注
ACM SIGPLAN PPoPP 2023