Skip to main content
QUICK REVIEW

[论文解读] Robust benchmarking in noisy environments

Jiahao Chen, Jarrett Revels|arXiv (Cornell University)|Aug 15, 2016
Parallel Computing and Optimization Techniques参考文献 24被引用 67
一句话总结

本文提出了一种稳健的基准测试方法,通过多次运行中的最小执行时间作为真实性能的可靠估计,即使在存在计时器误差、操作系统抖动和非独立同分布(non-i.i.d.)时间分布的情况下依然有效。该方法基于解释非正态时间统计特性的延迟模型,并已实现在BenchmarkTools Julia包中,自2016年以来成功在Julia的CI流水线中防止了30多个严重的性能回归。

ABSTRACT

We propose a benchmarking strategy that is robust in the presence of timer error, OS jitter and other environmental fluctuations, and is insensitive to the highly nonideal statistics produced by timing measurements. We construct a model that explains how these strongly nonideal statistics can arise from environmental fluctuations, and also justifies our proposed strategy. We implement this strategy in the BenchmarkTools Julia package, where it is used in production continuous integration (CI) pipelines for developing the Julia language and its ecosystem.

研究动机与目标

  • 解决由于缺乏统计严谨性而导致的临时性基准测试实践所引发的误导性性能结论。
  • 开发一种与语言和平台无关的基准测试方法,适用于持续集成和交互式使用。
  • 克服传统统计方法(如均值、中位数、t检验)在非独立同分布、重尾时间测量上的局限性。
  • 提供一种对环境波动和时间测量误差不敏感的实用、自动化解决方案。

提出的方法

  • 将时间波动建模为串行指令流水线中的一系列随机延迟,以解释经验分布中的偏度、双峰性和漂移现象。
  • 提出使用多次运行中观测到的最小执行时间作为真实性能的稳健估计,其合理性源于外部延迟不会导致时间减少。
  • 设计一种算法(算法1),用于确定每次测量所需的最少运行次数,以使计时器不准确的影响低于目标阈值。
  • 在BenchmarkTools Julia包中实现该策略,支持在Julia的CI流水线中实现自动化、生产级别的性能回归检测。
  • 利用真实Julia基准测试的实证数据验证模型和估计器的性能。
  • 引入查表法和参数化模型(公式11),用于估计延迟的累积分布函数,其参数根据观测到的时间特性进行调优。

实验结果

研究问题

  • RQ1为何在高性能应用中,即使代码简单,时间测量仍表现出非独立同分布、重尾和多峰分布?
  • RQ2在存在环境噪声和计时器不准确的情况下,多次运行中的最小执行时间能否作为真实性能的稳健且准确的估计?
  • RQ3如何设计一种基准测试策略,使其对操作系统抖动、CPU频率调节等系统级波动不敏感,且无需特权访问或环境加固?
  • RQ4每次测量所需的最少运行次数是多少,才能确保计时器不准确不会主导性能估计结果?
  • RQ5与传统方法(如均值、中位数或参数化异常值剔除)相比,该方法在检测真实性能回归方面表现如何?

主要发现

  • 在非独立同分布和重尾时间分布下,多次运行中的最小执行时间比均值或中位数更能稳健、准确地估计真实性能。
  • 该模型能够解释观测到的时间行为(如偏度、双峰性、漂移),其成因是缓存未命中和上下文切换等系统级事件导致的累积延迟。
  • 多次运行基准测试可有效摊销计时器不准确的影响,即使使用低精度计时器,也能显著降低其对性能估计的影响。
  • 自2016年以来,该方法通过自动化CI测试成功检测并防止了30多个严重性能回归(定义为最小时间增加≥30%)在Julia标准库中的发生。
  • 在BenchmarkTools中的实现使得在Julia生态系统的1,300多个基准测试中实现了完全自动化、生产级别的性能回归检测。
  • 使用经验调优参数的参数化模型(公式11)与观测到的延迟分布高度吻合,支持了底层延迟模型的有效性。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。