基准分析工具:追踪Valida zkVM中的性能

  • 0xlita
  • 发布于 2025-05-28 19:35
  • 阅读 5

本文介绍了Valida zkVM的性能基准分析工具,该工具用于持续监控Valida zkVM的性能,通过分析CI pipeline的基准测试结果,检测性能衰退、量化优化效果和分析Valida的执行时间和内存使用情况的缩放行为。文章还介绍了该工具的工作原理、分析步骤以及未来的增强计划,旨在为开发者和用户提供对实际性能特征的可见性。

2025年5月27日

性能跟踪对于 zkVM 来说绝对至关重要,因为执行时间和内存使用直接决定了证明对于实际应用是否仍然实用。即使看似微小的回归,在扩展到生产工作负载时,也可能像滚雪球一样变成巨大的开销。我们的基准分析工具通过在检测到回归或优化机会时,能够有针对性地进行改进和快速修复,从而确保 Valida 保持可预测的、优化的性能。

通过持续监控这些关键指标,我们防止小的低效率累积成主要的瓶颈,从而使 zkVM 在其整个运行范围内保持高性能。这种严格的性能管理方法使我们能够在保持实现新功能和优化的灵活性的同时,提供一致的证明生成时间。

为了系统地监控 Valida zkVM 的性能,我们开发了一个基准分析工具,这是一个 Nim 程序,用于处理来自我们的 CI 流水线的基准测试结果。

这个工具有助于我们:

  • 检测 pull request 中的性能回归
  • 量化优化的影响
  • 分析 Valida 的执行时间和内存使用量的扩展行为

基准分析工具的工作原理

该分析器使用了 Sebastian 在攻读博士学位期间编写的许多 Nim 库,这些库涉及大量的绘图、数据帧、曲线拟合等等。

输入:来自 CI 的基准数据

我们的基准 CI 在每个 pull request 上运行,在 Valida zkVM 上执行一套程序(用 C 和 Rust 编写)。这些包括:

  • 斐波那契数列变体(串行/并行,迭代/递归)
  • 哈希函数 (SHA256, Keccak)

每个基准测试运行多次(默认:30 次迭代,对于长时间运行的程序则较少),并且 CI 输出一个 CSV 文件,其中包含每次运行的执行时间和内存使用情况:

此外,我们还记录 trace size (zkVM 性能分析的关键)。

分析步骤

  1. 聚合统计

  2. 计算最小值/最大值、平均值/中位数、标准差

  3. 检测异常值(默认:>3σ 偏离平均值)以标记异常情况(例如,云资源争用)

  4. 缩放分析

  5. 绘制执行时间/内存与 trace size 的关系图

  6. 拟合对数线性函数 (f(x) = a·x·ln(x) + b·x + c) 以模拟 Valida 的性能缩放:

    1. 来自 VM 执行的线性项 (b·x)
    2. 来自证明的对数线性项 (a·x·ln(x))(例如,ZK 证明中的 FFT)
  7. 运行间比较

  8. 比较两个基准测试结果(例如,PR 与主分支)

  9. 高亮显示平均值/中位数性能和异常值的变化:

为什么这很重要

  • 主动优化:在合并之前发现回归。
  • 可量化的改进:衡量更改的影响(例如,Keccak 中的 4.4% 加速)。
  • 透明度:未来计划包括公共基准跟踪。

示例输出

单个拟合结果的示例(对数线性函数):

单个指标的所有跟踪的组合网格图的示例(对数线性函数):

随着我们不断发展我们的基准测试系统,我们计划进行几项关键增强,以便更深入地了解 Valida 的性能特征:

计划的指标和功能:

  • 并行缩放分析
  • 衡量核心利用效率
  • 量化从串行到并行执行的加速
  • 计算缩放因子(理想与实际)
  • 更详细的拟合结果报告(协方差矩阵)

→ 揭示添加更多计算资源是否如预期的那样实际减少了运行时间

硬件标准化指标:

  • 记录 CI 中使用的确切 CPU 规范
  • 开发 FLOPs 等效效率数字
  • 创建硬件调整后的性能指标

→ 能够与其他 zkVM 进行 apples-to-apples 的比较

能效指标

  • 集成功耗测量
  • 计算每次证明的焦耳数指标
  • 估算云计算成本

→ 为大规模部署提供真实的运营成本洞察

公共基准仪表板

  • 自动结果发布
  • 历史性能跟踪
  • 交互式缩放可视化

→ 为我们的客户和社区提供透明的性能跟踪

这些增强功能将使 Valida 拥有 zkVM 领域最全面的基准测试系统之一,为开发人员和用户提供对实际性能特性的无与伦比的可见性。这些数据不仅有助于优化 Valida 本身,还有助于为整个 zkVM 生态系统建立有意义的基准测试工具和标准。

尝试一下

该工具是开源的:github.com/lita-xyz/benchmark-analyzer。欢迎投稿!

  • 原文链接: lita.foundation/blog/ben...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
0xlita
0xlita
江湖只有他的大名,没有他的介绍。