A machine learning approach for load balancing in the Linux kernel
Chen, Jingde
This item is only available for download by members of the University of Illinois community. Students, faculty, and staff at the U of I may log in with your NetID and password to view the item. If you are trying to access an Illinois-restricted dissertation or thesis, you can request a copy through your library's Inter-Library Loan office or purchase a copy directly from ProQuest.
Permalink
https://hdl.handle.net/2142/107283
Description
Title
A machine learning approach for load balancing in the Linux kernel
Author(s)
Chen, Jingde
Contributor(s)
Iyer, Ravishankar
Issue Date
2020-05
Keyword(s)
Linux kernel
Completely fair scheduler
Operating system
Load balancing
Machine learning
Abstract
The default scheduler in the Linux Kernel - Completely Fair Scheduler (CFS) aims to provide
fairness and maximized utilization of the processing time. It performs load balancing between cores
by looking at the cache locality and CPU utilization of individual processes. However, memory cache
and processing time are not the only critical hardware resources shared by processes. Contention
due to imbalanced needs for other shared computing resources including memory bandwidth, IO
bandwidth, arithmetic operations, etc. may still hinder the overall performance. Traditional logical
approaches bear limitations in solving this problem due to complex relationships between resources
and performance, especially when resources are shared on different levels on the NUMA and
chip multiprocessor (CMP) architectures. This thesis explores the possibility of applying Machine
Learning (ML) to implement resource-aware load balancing in the Linux kernel. We propose
an approach of applying machine learning to a part of the Linux CFS load balancer by imitation
learning. Dynamic tracing of kernel functions with eBPF and kprobes was used for runtime data
collection of the system. A Multi-Layer Perceptron (MLP) model was then trained to emulate existing
kernel load balancing decisions. We present both floating-point and fixed-point implementations of
the model inside the kernel and evaluate their performance. Integration of processors’ Hardware Performance Counters (HPCs) for usages inside the kernel via the Perf Subsystem is studied as a
support for future works in implementing resource-aware load balancing.
Use this login method if you
don't
have an
@illinois.edu
email address.
(Oops, I do have one)
IDEALS migrated to a new platform on June 23, 2022. If you created
your account prior to this date, you will have to reset your password
using the forgot-password link below.