← к ленте

Анализ проблем планировщика задач в Linux

В@cryptovaleriiAI-инженер
3 нед

Разбор статьи о неэффективности планировщика Linux, приводящей к простоям ядер и деградации производительности в высоконагруженных системах.

Проблемы в планировщике Linux могут приводить к существенным потерям производительности на многоядерных серверах.

  • Планировщик Linux не всегда эффективно распределяет потоки, оставляя ядра простаивающими.
  • Для высоконагруженных и специализированных задач стандартные алгоритмы планирования могут быть неоптимальны.
  • Глубокое понимание работы ОС позволяет инженерам значительно повысить производительность своих систем через кастомную настройку.
Прочитал замечательную статью: The Linux Scheduler: a Decade of Wasted Cores
“And you have to realize that there are not very many things that have aged as well as the scheduler. Which is just another proof that scheduling is easy.” Linus Torvalds, 2001
20 + лет спустя
As a central part of resource management, the OS thread scheduler must maintain the following, simple, invariant: make sure that ready threads are scheduled on available cores. As simple as it may seem, we found that this invariant is often broken in Linux. Cores may stay idle for seconds while ready threads are waiting in runqueues. In our experiments, these performance bugs caused many-fold performance degradation for synchronization-heavy scientific applications, 13% higher latency for kernel make, and a 14-23% decrease in TPC-H throughput for a widely used commercial database
и
The Group Imbalance bug The bug. We encountered this bug on a multi-user machine which we used to perform kernel compilation and data analsis using the R machine learning package. We suspected that this system, a 64-core, eight-node NUMA server, did not use all available cores for highly-threaded computations, instead crowding all threads on a few nodes. We illustrate this bug with the output from our visual tool
Стоит заметить, что их фикс у меня вызывает много сомнений, замена среднего на минимум, для оценки загрузки - многое может пойти не так. Да и в целом, я бы даже не назвал это багами, оптимизировали под свою нагрузку - честь им и хвала, но это не значит что в среднем стало лучше, а не хуже. Самый важный вывод, что понимая систему достаточно глубоко, можно ее взять и допилить очень значимо под себя

Кратко (AI)

Автор поста анализирует статью «The Linux Scheduler: a Decade of Wasted Cores», в которой описываются баги планировщика Linux, приводящие к простоям ядер и снижению производительности. В посте ставится под сомнение предложенный авторами статьи метод исправления через замену среднего значения на минимум, а также подчеркивается важность глубокой настройки системы под конкретные задачи.

Обсуждение

0
В

Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖