Opening the Box: Diagnosing Operating-System Task-Scheduler Behavior on Highly Multicore Machines

QCon London 2024

Session Linux kernel

Opening the Box: Diagnosing Operating-System Task-Scheduler Behavior on Highly Multicore Machines

Monday Apr 8 / 11:45AM BST, Windsor (5th Fl.)

Abstract

An operating system task scheduler is responsible for placing tasks on cores and for selecting which task is allowed to run, at what time. As such, the scheduler is a critical component of any operating system and has a major impact on application performance. Still, scheduling decisions are buried deep within the operating system code, making it challenging to diagnose performance problems (or even performance improvements) to determine whether the scheduler is responsible and, if so, in what way. These challenges are compounded for highly multithreaded applications, running on large multicore machines, due to the huge amount of information available.

In this talk, we present some tools that we have developed for visualizing the behavior of the Linux kernel task scheduler, and illustrate how these tools can be used to help diagnose performance problems. The tools presented are freely available at https://gitlab.inria.fr/schedgraph/schedgraph

Interview

I work on improving the quality of low-level systems software. This includes the Coccinelle tool for automating software evolution to allow APIs to change flexibly without inducing developer pain, tools for analyzing software performance, considering the impact of the operating system level, and approaches to formal verification of systems code.

Modern operating systems are very complex. Still, it is possible to understand their impact on application performance. I want to encourage people to be aware that this impact exists, and at the same time that tools exist for monitoring the impact of the operating system on application behavior, and that it is possible to organize the information in a way that facilitates problem diagnosis.

Someone who is curious about operating systems; who would like to understand the performance impact of operating system policies.

Operating systems are not black boxes. It is possible to understand what they are doing and to anticipate problems.

Topics

Linux kernel scheduling visualization performance
76% senior dev or higher
1:11 speaker ratio
60+ practitioners

QCon London 2024 is a three day conference for senior software engineers, architects and team leads. An international program committee of working engineers selects every session. Patterns and practices, not products and pitches.

Share

From the same track

Monday 8 April

10:35 Mountbatten (6th Fl.) Session performance A Walk Along the Complexity-Performance Curve Richard Startin Senior Software Engineer @Datadog 11:45 Windsor (5th Fl.) Session Linux kernel Opening the Box: Diagnosing Operating-System Task-Scheduler Behavior on Highly Multicore Machines Julia Lawall Senior Scientist @INRIA 13:35 Windsor (5th Fl.) Session Pitfalls of Unified Memory Models in GPUs Joe Rowell Founding Engineer @poolside.ai, Low-Level Performance Engineer, Cryptographer and PhD Candidate @RHUL 14:45 Rutherford (4th Fl.) Unconference Unconference: Performance Engineering Unleashed 15:55 Windsor (5th Fl.) Session Practical Benchmarking: How To Detect Performance Changes in Noisy Results Matt Fleming CTO @Nyrkiö, Former Linux Kernel Maintainer @Intel and @SUSE 17:05 Windsor (5th Fl.) Session Panel: What Does the Future of Computing Look Like Julia Lawall, Matt Fleming, Joe Rowell