Contributor
Prakalp23

Using Bayesian Optimization to tune Kubernetes application


Mentors
Dinakar Guniguntala, Sanjay Arora
Organization
JBoss Community
Technologies
python, java, machine learning
Topics
machine learning, kubernetes, bayesian optimization, autotune, prometheus
Description:Kruize Autotune is a Performance Tuning Tool for Kubernetes. . It uses Hyper Parameter Optimization to tune the language runtime layers of a given application. System component metrics can give a better look into what is happening inside them. Metrics are particularly useful for building dashboards and alerts. Kubernetes components emit metrics in Prometheus format. This format is structured plain text, designed so that people and machines can both read it.Following are four common methods of hyperparameter optimization for machine learning in order of increasing efficiency: 1.Manual 2.Grid search 3.Random search 4.Bayesian model-based optimization The aim of Bayesian reasoning is to become “less wrong” with more data which these approaches do by continually updating the surrogate probability model after each evaluation of the objective function. At a high-level, Bayesian optimization methods are efficient because they choose the next hyperparameters in an informed manner. The basic idea is: spend a little more time selecting the next hyperparameters in order to make fewer calls to the objective function. In practice, the time spent selecting the next hyperparameters is inconsequential compared to the time spent in the objective function. By evaluating hyperparameters that appear more promising from past results, Bayesian methods can find better model settings than random search in fewer iterations.So,this project aims at tuning kubernetes applications using bayesian optimization.