A Study of Java Microbenchmark Tail Latencies

A Study of Java Microbenchmark Tail Latencies
复制标题

Java Microbenchmark 尾部延迟的研究

DOI:
10.1145/3578245.3584690
复制
发表时间:
2023
期刊:
Companion of the 2023 ACM/SPEC International Conference on Performance Engineering
影响因子:
--
通讯作者:
Wang, Wei
Wang, Wei
中科院分区:
--
文献类型:
--
作者:
He, Sen;Kim, In Kee;Wang, Wei

文献摘要

参考文献

相似文献

由于Java微基准测试非常擅长分析基本代码元素的性能,因此它们被广泛用于Java性能测试。使用Java微基准的性能测试由两个阶段组成:预热阶段和稳定阶段。通常,由于Java虚拟机优化导致的性能波动很大,因此会丢弃预热阶段的测试结果。在稳定阶段收集的性能结果用于性能评估,因为它们被认为是更稳定的。然而,根据我们的研究,在稳定阶段也会出现严重的性能波动,从而导致长尾延迟。长尾延迟在现代Java系统(当然还有其他系统和应用程序)中构成了一个大问题,因为它们通过延长总体执行时间而损害了用户体验。在本文中,我们广泛地评估了来自30个Java系统的586个Java微基准的长尾性能。评估结果表明,对于处于稳定阶段的38%的基准,它们的99%tile执行时间比它们的中位数执行时间高出30%以上。在最坏的情况下,99%的性能比中位数性能高659倍。此外,95%阶段的执行时间比11%的稳定阶段基准的中位数执行时间高出30%以上。
As Java microbenchmarks are great at profiling the performance of essential code elements, they are widely adopted for Java performance testing. Performance testing using Java microbenchmarks is composed of two phases: the warmup phase and the steady phase. Usually, testing results from the warmup phase are discarded because of the highly fluctuating performance caused by the optimization of Java Virtual Machine. The performance results collected during the steady phase are used for performance evaluation as they are assumed to be more stable. However, according to our study, severe performance fluctuations also occur during the steady phase, which leads to long tail latencies. Long tail latencies constitute a big problem in modern Java systems (of course, other systems and applications) as they hurt the user experience by prolonging the overall execution time.In this paper, we extensively evaluated the long tail performance of 586 Java microbenchmarks from 30 Java systems. The evaluation results show that, for 38% of the benchmarks in steady phase, their 99%tile execution times are over 30% higher than their median execution times. In the worst-case scenario, the 99%ile performance is 659 times higher than the median performance. Furthermore, the 95%ile execution times are above 30% higher than the median execution times for 11% of the steady phase benchmarks.
动态重新配置软件微基准:在不牺牲结果质量的情况下减少执行时间
DOI: 10.1145/3368089.3409683
发表时间: 2020
期刊: Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
影响因子: --
作者:
Christoph Laaber;Stefan Würsten;H. Gall;P. Leitner
通讯作者: P. Leitner
DOI: 10.1145/3133876
发表时间: 2016-02
影响因子: --
作者:
Edd Barrett;Carl Friedrich Bolz-Tereick;Rebecca Killick;S. Mount;L. Tratt
通讯作者: Edd Barrett;Carl Friedrich Bolz-Tereick;Rebecca Killick;S. Mount;L. Tratt
DOI: 10.1145/2464157.2464160
发表时间: 2013-06
期刊: --
影响因子: --
作者:
T. Kalibera;Richard E. Jones
通讯作者: T. Kalibera;Richard E. Jones
基于 Java 的开源项目性能测试实践现状的探索性研究
DOI: 10.1145/3030207.3030213
发表时间: 2017
期刊: Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering
影响因子: --
作者:
P. Leitner;C. Bezemer
通讯作者: C. Bezemer
DOI: 10.1007/s10664-022-10247-x
发表时间: 2022
影响因子: 4.1
作者:
L. Traini;V. Cortellessa;Daniele Di Pompeo;Michele Tucci
通讯作者: Michele Tucci