All Projects → kruize → autotune

kruize / autotune

Licence: Apache-2.0 license
Autonomous Performance Tuning for Kubernetes !

Programming Languages

java
68154 projects - #9 most used programming language
shell
77523 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to autotune

optuna-dashboard
Real-time Web Dashboard for Optuna.
Stars: ✭ 240 (+185.71%)
Mutual labels:  hyperparameter-optimization
randopt
Streamlined machine learning experiment management.
Stars: ✭ 108 (+28.57%)
Mutual labels:  hyperparameter-optimization
mltb
Machine Learning Tool Box
Stars: ✭ 25 (-70.24%)
Mutual labels:  hyperparameter-optimization
smartsla-backend
Backend module for SmartSLA
Stars: ✭ 22 (-73.81%)
Mutual labels:  sla
maggy
Distribution transparent Machine Learning experiments on Apache Spark
Stars: ✭ 83 (-1.19%)
Mutual labels:  hyperparameter-optimization
textlearnR
A simple collection of well working NLP models (Keras, H2O, StarSpace) tuned and benchmarked on a variety of datasets.
Stars: ✭ 16 (-80.95%)
Mutual labels:  hyperparameter-optimization
shadho
Scalable, structured, dynamically-scheduled hyperparameter optimization.
Stars: ✭ 17 (-79.76%)
Mutual labels:  hyperparameter-optimization
ui
nanoDLP user interface
Stars: ✭ 21 (-75%)
Mutual labels:  sla
ml-pipeline
Using Kafka-Python to illustrate a ML production pipeline
Stars: ✭ 90 (+7.14%)
Mutual labels:  hyperparameter-optimization
NaiveNASflux.jl
Your local Flux surgeon
Stars: ✭ 20 (-76.19%)
Mutual labels:  hyperparameter-optimization
bbai
Set model hyperparameters using deterministic, exact algorithms.
Stars: ✭ 19 (-77.38%)
Mutual labels:  hyperparameter-optimization
differential-privacy-bayesian-optimization
This repo contains the underlying code for all the experiments from the paper: "Automatic Discovery of Privacy-Utility Pareto Fronts"
Stars: ✭ 22 (-73.81%)
Mutual labels:  hyperparameter-optimization
keras-hypetune
A friendly python package for Keras Hyperparameters Tuning based only on NumPy and hyperopt.
Stars: ✭ 47 (-44.05%)
Mutual labels:  hyperparameter-optimization
cli
Polyaxon Core Client & CLI to streamline MLOps
Stars: ✭ 18 (-78.57%)
Mutual labels:  hyperparameter-optimization
optuna-examples
Examples for https://github.com/optuna/optuna
Stars: ✭ 238 (+183.33%)
Mutual labels:  hyperparameter-optimization
mango
Parallel Hyperparameter Tuning in Python
Stars: ✭ 241 (+186.9%)
Mutual labels:  hyperparameter-optimization
ProxGradPytorch
PyTorch implementation of Proximal Gradient Algorithms a la Parikh and Boyd (2014). Useful for Auto-Sizing (Murray and Chiang 2015, Murray et al. 2019).
Stars: ✭ 28 (-66.67%)
Mutual labels:  hyperparameter-optimization
allennlp-optuna
⚡️ AllenNLP plugin for adding subcommands to use Optuna, making hyperparameter optimization easy
Stars: ✭ 33 (-60.71%)
Mutual labels:  hyperparameter-optimization
hone
A shell-friendly hyperparameter search tool inspired by Optuna
Stars: ✭ 17 (-79.76%)
Mutual labels:  hyperparameter-optimization
AMD-APU-Tuning-Utility
Unlock the full potential of your Zen-based APU with AMD APU Tuning Utility!
Stars: ✭ 299 (+255.95%)
Mutual labels:  performance-tuning

Kruize Autotune - Autonomous Performance Tuning for Kubernetes !

What is Kruize Autotune ?

Kruize Autotune is an Autonomous Performance Tuning Tool for Kubernetes. Autotune accepts a user provided "slo" goal to optimize application performance. It uses Prometheus to identify "layers" of an application that it is monitoring and matches tunables from those layers to the user provided slo. It then runs experiments with the help of a hyperparameter optimization framework to arrive at the most optimal values for the identified set of tunables to get a better result for the user provided slo.

Autotune can take an arbitrarily large set of tunables and run experiments to continually optimize the user provided slo in incremental steps. For this reason, it does not necessarily have a "best" value for a set of tunables, only a "better" one than what is currently deployed.

Motivation

Docker and Kubernetes have become more than buzzwords and are now the defacto building block for any cloud. We are now seeing a major transformation in the industry as every product/solution/offering is being containerized as well as being made kubernetes ready (Hello YAML!). This is throwing up a new set of challenges that are unique to this changing environment.

Kubernetes Performance Requirement

Consider an Flight Booking Application as shown in the figure. It consists of a number of microservices which are polyglot in nature and are running in a Kubernetes cluster. Consider a scenario where the user doing a booking is getting a very slow response time. The IT Admin is now tasked to reduce the overall response time for the booking URI.

Tracking down performance issues in a dynamic microservices environment can be challenging and more often than not, stack or runtime specific optimizations are written off as too complex. This is because runtime optimization is a very involved effort and requires deep expertise. Common fixes are mostly limited to increasing pod resources, fixing application logic to make it more optimal or increasing horizontal pod auto-scaling.

How do I start ?

Autotune helps to capture your performance tuning needs in a comprehensive way and runs experiments to provide recommendations that help achieve your slo goals. So how does it do it ? We recommend you check out the kruize-demos repo for a quick start !

Installation

See the Autotune Installation for more details on the installation.

REST API

See the API README for more details on the Autotune REST API.

Autotune Architecture

See the Autotune Architecture for more details on the architecture.

Contributing

We welcome your contributions! See CONTRIBUTING.md for more details.

License

Apache License 2.0, see LICENSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].