{"title":"eWAPA:基于 eBPF 的 WebAssembly 运行时 WASI 性能分析框架","authors":"Chenxi Mao, Yuxin Su, Shiwen Shan, Dan Li","doi":"arxiv-2409.10252","DOIUrl":null,"url":null,"abstract":"WebAssembly (Wasm) is a low-level bytecode format that can run in modern\nbrowsers. With the development of standalone runtimes and the improvement of\nthe WebAssembly System Interface (WASI), Wasm has further provided a more\ncomplete sandboxed runtime experience for server-side applications, effectively\nexpanding its application scenarios. However, the implementation of WASI varies\nacross different runtimes, and suboptimal interface implementations can lead to\nperformance degradation during interactions between the runtime and the\noperating system. Existing research mainly focuses on overall performance\nevaluation of runtimes, while studies on WASI implementations are relatively\nscarce. To tackle this problem, we propose an eBPF-based WASI performance\nanalysis framework. It collects key performance metrics of the runtime under\ndifferent I/O load conditions, such as total execution time, startup time, WASI\nexecution time, and syscall time. We can comprehensively analyze the\nperformance of the runtime's I/O interactions with the operating system.\nAdditionally, we provide a detailed analysis of the causes behind two specific\nWASI performance anomalies. These analytical results will guide the\noptimization of standalone runtimes and WASI implementations, enhancing their\nefficiency.","PeriodicalId":501278,"journal":{"name":"arXiv - CS - Software Engineering","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2024-09-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"eWAPA: An eBPF-based WASI Performance Analysis Framework for WebAssembly Runtimes\",\"authors\":\"Chenxi Mao, Yuxin Su, Shiwen Shan, Dan Li\",\"doi\":\"arxiv-2409.10252\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"WebAssembly (Wasm) is a low-level bytecode format that can run in modern\\nbrowsers. With the development of standalone runtimes and the improvement of\\nthe WebAssembly System Interface (WASI), Wasm has further provided a more\\ncomplete sandboxed runtime experience for server-side applications, effectively\\nexpanding its application scenarios. However, the implementation of WASI varies\\nacross different runtimes, and suboptimal interface implementations can lead to\\nperformance degradation during interactions between the runtime and the\\noperating system. Existing research mainly focuses on overall performance\\nevaluation of runtimes, while studies on WASI implementations are relatively\\nscarce. To tackle this problem, we propose an eBPF-based WASI performance\\nanalysis framework. It collects key performance metrics of the runtime under\\ndifferent I/O load conditions, such as total execution time, startup time, WASI\\nexecution time, and syscall time. We can comprehensively analyze the\\nperformance of the runtime's I/O interactions with the operating system.\\nAdditionally, we provide a detailed analysis of the causes behind two specific\\nWASI performance anomalies. These analytical results will guide the\\noptimization of standalone runtimes and WASI implementations, enhancing their\\nefficiency.\",\"PeriodicalId\":501278,\"journal\":{\"name\":\"arXiv - CS - Software Engineering\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-09-16\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - CS - Software Engineering\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2409.10252\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Software Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2409.10252","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
eWAPA: An eBPF-based WASI Performance Analysis Framework for WebAssembly Runtimes
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.