Thesis Details

Performance Testing of Linux Kernel Scheduler

Bachelor's Thesis Student: Vozár Jiří Academic Year: 2018/2019 Supervisor: Malík Viktor, Ing.
Czech title
Výkonnostní testování plánovače linuxového kernelu

Performance of process scheduler in a kernel of an operating system significantly influences throughput and latency of all applications running above it. Any performance drop can have critical consequences on the applications. With the arrival of every new technology (e.g. symetric multiprocesing) the code of the scheduler evolves and grows. This requires not only functional, but also performance regression testing. This work presents methods of performance testing used in the Red Hat, Inc. company. It describes how one can measure performance of the Linux process scheduler in the Linux kernel, collect statistics about its behavior, store the collected data, and visualize them. The goal of this work is to design and implement a new technique of visualization of long-term measurements and utilization of machine learning for automatic classification of performance degradation between different results.


Linux, kernel, task scheduler, CFS, testing, performance measurement, visualization, machine learning

Degree Programme
Information Technology
defended, grade B
10 June 2019
Vojnar Tomáš, prof. Ing., Ph.D. (DITS FIT BUT), předseda
Grézl František, Ing., Ph.D. (DCGM FIT BUT), člen
Honzík Jan M., prof. Ing., CSc. (DIFS FIT BUT), člen
Kořenek Jan, doc. Ing., Ph.D. (DCSY FIT BUT), člen
Smrčka Aleš, Ing., Ph.D. (DITS FIT BUT), člen
VOZÁR, Jiří. Performance Testing of Linux Kernel Scheduler. Brno, 2019. Bachelor's Thesis. Brno University of Technology, Faculty of Information Technology. 2019-06-10. Supervised by Malík Viktor. Available from:
    author = "Ji\v{r}\'{i} Voz\'{a}r",
    type = "Bachelor's thesis",
    title = "Performance Testing of Linux Kernel Scheduler",
    school = "Brno University of Technology, Faculty of Information Technology",
    year = 2019,
    location = "Brno, CZ",
    language = "english",
    url = ""
Back to top