Table of Contents
Fetching ...

eWAPA: An eBPF-based WASI Performance Analysis Framework for WebAssembly Runtimes

Chenxi Mao, Yuxin Su, Shiwen Shan, Dan Li

TL;DR

An eBPF-based WASI performance analysis framework that collects key performance metrics of the runtime under different I/O load conditions, and can comprehensively analyze the performance of the runtime's I/O interactions with the operating system.

Abstract

WebAssembly (Wasm) is a low-level bytecode format that can run in modern browsers. With the development of standalone runtimes and the improvement of the WebAssembly System Interface (WASI), Wasm has further provided a more complete sandboxed runtime experience for server-side applications, effectively expanding its application scenarios. However, the implementation of WASI varies across different runtimes, and suboptimal interface implementations can lead to performance degradation during interactions between the runtime and the operating system. Existing research mainly focuses on overall performance evaluation of runtimes, while studies on WASI implementations are relatively scarce. To tackle this problem, we propose an eBPF-based WASI performance analysis framework. It collects key performance metrics of the runtime under different I/O load conditions, such as total execution time, startup time, WASI execution time, and syscall time. We can comprehensively analyze the performance of the runtime's I/O interactions with the operating system. Additionally, we provide a detailed analysis of the causes behind two specific WASI performance anomalies. These analytical results will guide the optimization of standalone runtimes and WASI implementations, enhancing their efficiency.

eWAPA: An eBPF-based WASI Performance Analysis Framework for WebAssembly Runtimes

TL;DR

An eBPF-based WASI performance analysis framework that collects key performance metrics of the runtime under different I/O load conditions, and can comprehensively analyze the performance of the runtime's I/O interactions with the operating system.

Abstract

WebAssembly (Wasm) is a low-level bytecode format that can run in modern browsers. With the development of standalone runtimes and the improvement of the WebAssembly System Interface (WASI), Wasm has further provided a more complete sandboxed runtime experience for server-side applications, effectively expanding its application scenarios. However, the implementation of WASI varies across different runtimes, and suboptimal interface implementations can lead to performance degradation during interactions between the runtime and the operating system. Existing research mainly focuses on overall performance evaluation of runtimes, while studies on WASI implementations are relatively scarce. To tackle this problem, we propose an eBPF-based WASI performance analysis framework. It collects key performance metrics of the runtime under different I/O load conditions, such as total execution time, startup time, WASI execution time, and syscall time. We can comprehensively analyze the performance of the runtime's I/O interactions with the operating system. Additionally, we provide a detailed analysis of the causes behind two specific WASI performance anomalies. These analytical results will guide the optimization of standalone runtimes and WASI implementations, enhancing their efficiency.
Paper Structure (35 sections, 11 figures, 7 tables)

This paper contains 35 sections, 11 figures, 7 tables.

Figures (11)

  • Figure 1: Method Overview.
  • Figure 2: I/O syscall time trend (seconds)
  • Figure 3: I/O WASI time trend (seconds)
  • Figure 4: Wasm runtime startup time under different I/O scales (seconds)
  • Figure 5: I/O overall execution time trend (seconds)
  • ...and 6 more figures