Linux Kernel Autotuning - Cong Wang
Channel: Linux Plumbers Conference
Date: 29/11/2023

Linux kernel nowadays provides thousands of parameters to users. Tuning them for optimal performance becomes more and more difficult. Most often, different workloads require different tunings for different sets of Linux kernel parameters. In large-scale data centers like ByteDance's, it has become nearly impossible to tune Linux kernel parameters manually for hundreds of different workloads.

We came up with a solution to automate the entire Linux kernel parameter tuning process with minimal engineering efforts. We also noticed that memory management is one of the Linux kernel subsystems which has more needs for auto tuning. With machine learning algorithms, such as Bayesian optimization, we believe automated tuning could even beat most Linux kernel engineers. In this talk, we will present how our Linux kernel autotuning solution works and an overview of its design and architecture. We will also examine some specific cases of Linux kernel memory management to show our results as a proof-of-concept.

For future work, we would like to use this opportunity to propose and discuss an in-kernel machine learning framework which could take this project even further to optimize the Linux kernel fast-path entirely in the kernel-space.