Tuesday, September 27, 2016

Automated Tuning of the JVM with Bayesian Optimization

Cplex and Gurobi have tuning options to find some good options settings for their LP/MIP solvers so your models solver faster. Basically we need some help as the number of options we can tune is just too large to select good options by hand. These automatic tuning approaches are based on some heuristics. Here is an application of Bayesian Optimization to do the same for the Java Virtual Machine in a complex production environment at Twitter. The JVM has a lot of tuning parameters and a more formal optimization approach is used here to find a good set of settings.

The video below is a presentation at JavaOne 2016.


  1. Jonas Mockus, Bayesian Approach to Global Optimization: Theory and Applications, Springer, 1989.
  2. Bobak Shahriari, Kevin Swersky, Ziyu Wang, Ryan P. Adams and Nando de Freitas, "Taking the Human Out of the Loop: A Review of Bayesian Optimization", Proceedings of the IEEE, Volume 104, Issue 1, Jan 2016.