Machine Learning for Load Balancing in the Linux Kernel

Jingde Chen, Subho S. Banerjee, Zbigniew T. Kalbarczyk, and Ravishankar K. Iyer

ApSys 2020



Abstract

The OS load balancing algorithm governs the performance gains provided by a multiprocessor computer system. The Linux’s Completely Fair Scheduler (CFS) scheduler tracks process loads by average CPU utilization to balance workload between processor cores. That approach maximizes the utilization of processing time but overlooks the contention for lower-level hardware resources. In servers running compute-intensive workloads, an imbalanced need for limited computing resources hinders execution performance. This paper solves the above problem using a machine learning (ML)-based resource-aware load balancer. We describe (1) low-overhead methods for collecting training data; (2) an ML model based on a multi-layer perceptron model that imitates the CFS load balancer based on the collected training data; and (3) an in-kernel implementation of inference on the model. Our experiments demonstrate that the proposed model has an accuracy of 99% in making migration decisions and while only increasing the latency by 1.9 μs.

Citation

@inproceedings{Chen2020,
  author = {Chen, Jingde and Banerjee, Subho S. and Kalbarczyk, Zbigniew T. and Iyer, Ravishankar K.},
  title = {Machine Learning for Load Balancing in the Linux Kernel},
  year = {2020},
  isbn = {9781450380690},
  publisher = {Association for Computing Machinery},
  address = {New York, NY, USA},
  url = {https://doi.org/10.1145/3409963.3410492},
  doi = {10.1145/3409963.3410492},
  booktitle = {Proceedings of the 11th ACM SIGOPS Asia-Pacific Workshop on Systems},
  pages = {67–74},
  numpages = {8},
  location = {Tsukuba, Japan},
  series = {APSys '20}
} 

Related Projects

  • Powered by Hugo
  • Last updated 10/21/2021
  • Feed