Virtual machine warmup blows hot and cold

Virtual machine warmup blows hot and cold
复制标题

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
中科院分区:
--
文献类型:
--
作者:
Edd Barrett;Carl Friedrich Bolz-Tereick;Rebecca Killick;S. Mount;L. Tratt

文献摘要

被引文献

相似文献

传统上认为,具有恰当时间(JIT)编译器的虚拟机(VM)在两个阶段中执行程序:初始热身阶段确定程序的哪些部分最大地从动态编译中受益,然后将这些零件编译为机器代码;随后,该程序被认为处于峰值性能的稳定状态。测量方法几乎总是丢弃在热身阶段收集的数据,以使报告的测量完全集中在峰值性能上。我们基于变更点分析引入了完全自动化的统计方法,这使我们能够确定程序是否已达到稳态状态,如果是,是否代表峰值性能。使用此情况,我们表明,即使在最受欢迎的情况下运行时,小型,确定性,研究的微型计算测量值也通常无法达到各种常见VM上的峰值性能稳定状态。在3台不同的机器上重复我们的实验,我们发现最多43.5%的对始终达到峰值性能的稳态状态。
Virtual Machines (VMs) with Just-In-Time (JIT) compilers are traditionally thought to execute programs in two phases: the initial warmup phase determines which parts of a program would most benefit from dynamic compilation, before JIT compiling those parts into machine code; subsequently the program is said to be at a steady state of peak performance. Measurement methodologies almost always discard data collected during the warmup phase such that reported measurements focus entirely on peak performance. We introduce a fully automated statistical approach, based on changepoint analysis, which allows us to determine if a program has reached a steady state and, if so, whether that represents peak performance or not. Using this, we show that even when run in the most controlled of circumstances, small, deterministic, widely studied microbenchmarks often fail to reach a steady state of peak performance on a variety of common VMs. Repeating our experiment on 3 different machines, we found that at most 43.5% of pairs consistently reach a steady state of peak performance.