Tuning the Linux kernel

The Linux kernel is a complicated piece of software with multiple components interacting with each other in complex ways. The performance and resource consumption of a particular application depends, among many things, on configuration/tuning parameters and policies governing them. Changing these parameters can have a major impact as shown in https://arxiv.org/abs/2112.07010.

The goal of this project is to utilize recent advances in scalable Bayesian Optimization to build a tool that can be used to tune Linux applications. This includes a framework for setting up careful and controlled experiments, selecting appropriate benchmarks, identifying/listing relevant tuning parameters, implementing flexible Bayesian Optimization procedures, and lastly, generalizing to unseen applications/benchmarks using code2vec-like tools.


Research Area(s)

Project Resources