Virtual Machine Warm-up Blows Hot and Cold

Talk by Edd Barrett (King's College London)
Time: 15:45-16:15
Slides
More info

Abstract

Virtual Machines (VMs) with Just-In-Time (JIT) compilers are traditionally thought to execute programs in two phases: first the “warmup” phase determines which parts of a program would most benefit from dynamic compilation; after compilation has occurred the program is said to be at “peak performance”. When measuring the performance of JIT compiling VMs, data collected during the warmup phase is generally discarded, placing the focus on peak performance. In this talk we run a number of small, deterministic benchmarks on a variety of well known VMs. In our experiment, less than one quarter of the benchmark/VM pairs conform to the traditional notion of warmup, and none of the VMs we tested consistently warms up in the traditional notion. This raises a number of questions about VM benchmarking, which are of interest to both VM authors and end users.