five

Wasm-R3-Bench

收藏
arXiv2024-09-01 更新2024-09-06 收录
下载链接:
https://github.com/sola-st/wasm-r3
下载链接
链接失效反馈
官方服务:
资源简介:
Wasm-R3-Bench是由韩国科学技术院和德国斯图加特大学联合创建的WebAssembly基准测试数据集,包含27个真实世界的WebAssembly应用程序。该数据集通过记录和重放技术生成,确保了基准测试的真实性和独立性。数据集的创建过程包括记录执行轨迹、优化轨迹和生成可独立运行的重放模块。Wasm-R3-Bench旨在为WebAssembly引擎的调优提供代表性的基准测试,解决现有基准测试不具代表性的问题。

Wasm-R3-Bench is a WebAssembly benchmark dataset jointly created by the Korea Advanced Institute of Science and Technology (KAIST) and the University of Stuttgart, Germany. It includes 27 real-world WebAssembly applications. This dataset is generated via recording and replay techniques, ensuring the authenticity and independence of the benchmark suite. The dataset creation process involves recording execution traces, optimizing traces, and generating independently runnable replay modules. Wasm-R3-Bench aims to provide representative benchmarks for WebAssembly engine tuning, addressing the problem that existing benchmarks lack representativeness.
提供机构:
韩国科学技术院
创建时间:
2024-09-01
搜集汇总
数据集介绍
main_image_url
构建方式
Wasm-R3-Bench 数据集通过记录、减少和重放三个阶段构建。首先,Wasm-R3 工具将记录逻辑注入 Wasm 模块,记录所有与环境的交互。其次,通过影子内存优化和调用栈优化等技术减少记录的执行轨迹。最后,Wasm-R3 生成一个可执行的独立重放基准,包含原始 Wasm 模块的未修改代码和重放机制。
特点
Wasm-R3-Bench 数据集具有以下特点:1)真实,因为它记录了真实世界的 Web 应用程序;2)忠实于原始执行,因为重放基准包含未修改的原始代码,只添加了主机交互的模拟;3)独立,因为重放基准可以在任何引擎上运行,无需任何主机环境。
使用方法
Wasm-R3-Bench 数据集的使用方法如下:1)选择一个 WebAssembly 应用程序作为输入;2)使用 Wasm-R3 工具进行记录、减少和重放操作;3)生成一个可执行的独立重放基准;4)在 Web 浏览器或独立 WebAssembly 运行时中运行重放基准。
背景与挑战
背景概述
WebAssembly(简称Wasm)作为一种可移植、紧凑的二进制代码格式,以其高性能和强大的沙盒特性,为网络、边缘计算、物联网和嵌入式系统带来了新的能力。随着Wasm应用规模和重要性的增长,不同Wasm引擎的复杂性能特性要求有强大、代表性的基准测试套件来进行适当的调整。现有的基准测试套件如PolyBenchC和libsodium,虽然在文献中仍被广泛使用,但已知的代表性不足。由于Wasm缺乏许多系统API,从网络上提取真实世界的Wasm基准测试也因复杂的宿主交互而变得困难。为了应对这一挑战,研究人员引入了Wasm-R3,这是第一个记录和重放技术,用于创建真实世界WebAssembly基准测试。该技术通过向Wasm模块中透明地注入仪器来记录执行跟踪,然后通过多种优化技术减少执行跟踪,并最终产生一个无需任何宿主环境即可独立执行的回放模块。Wasm-R3创建的基准测试是真实的,因为它们记录了真实世界的Web应用程序;它们忠于原始执行,因为回放基准测试包括未经修改的原始代码,并仅添加了宿主交互的模拟;它们是独立的,因为回放基准测试在任何引擎上都能运行。Wasm-R3在野外应用于基于Web的Wasm应用程序,证明了我们方法的正确性以及我们的优化技术的有效性,这些优化技术将记录的跟踪减少了99.53%,并将回放基准测试的大小减少了9.98%。我们发布了由27个应用程序组成的基准测试套件,称为Wasm-R3-Bench,供社区使用,以激发新一代真实和独立的Wasm基准测试。
当前挑战
Wasm-R3所面临的挑战主要在于如何创建真实、忠实和独立的基准测试。首先,现有的基准测试套件如PolyBenchC和libsodium在真实世界中的应用代表性不足。其次,Wasm缺乏许多系统API,使得从网络上提取真实世界的Wasm基准测试变得困难。此外,Wasm应用程序通常包含Wasm模块和宿主环境,这使得从真实世界的Web应用程序中创建基准测试套件变得复杂。为了解决这些挑战,Wasm-R3采用了记录、减少和重放的技术,通过记录真实世界的Web应用程序的执行跟踪,减少执行跟踪的冗余信息,并生成一个无需宿主环境即可独立执行的回放模块。此外,Wasm-R3还采用了多种优化技术,如内存写入合并和函数拆分,以减少重放模块的大小和提高执行效率。
常用场景
经典使用场景
Wasm-R3-Bench数据集主要用于WebAssembly (Wasm) 的基准测试,通过记录、减少和回放真实世界WebAssembly应用程序的执行,以创建现实、忠实且独立的基准。这些基准可以用于评估和调整Wasm引擎的性能,尤其是在多级引擎中,其中启动速度和峰值性能需要通过在真实应用程序上进行调优来实现。Wasm-R3-Bench数据集通过提供一个可移植、紧凑且高效的基准测试套件,帮助研究人员和开发者更好地理解Wasm引擎的复杂性能特性,并为其优化提供指导。
解决学术问题
Wasm-R3-Bench数据集解决了Wasm基准测试中存在的两个主要问题。首先,它提供了一个记录和回放技术,使得从真实世界WebAssembly应用程序中提取基准变得可行。其次,它通过一系列优化技术,如影子内存优化和调用堆栈优化,减少了记录的跟踪大小和回放基准的大小,从而使得基准测试更加高效和实用。此外,Wasm-R3-Bench数据集还提供了独立于主机环境的回放模块,可以在任何Wasm引擎上运行,这使得基准测试更加通用和灵活。
衍生相关工作
Wasm-R3-Bench数据集的发布为WebAssembly基准测试领域带来了新的突破,并衍生了一系列相关工作。这些相关工作包括对Wasm-R3技术的改进和扩展,以及对Wasm-R3-Bench数据集的应用和评估。例如,一些研究工作专注于提高Wasm-R3记录和回放技术的效率和准确性,而另一些研究工作则关注如何将Wasm-R3-Bench数据集应用于特定类型的Wasm应用程序的性能评估和优化。此外,还有一些研究工作专注于将Wasm-R3-Bench数据集与其他基准测试技术进行比较,并评估其优缺点。这些相关工作不仅推动了WebAssembly基准测试领域的发展,也为WebAssembly技术的进一步研究和应用提供了重要的参考和指导。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作