Linux: опять обещают починить планировщик⁠⁠

Серия Кудахтеры: Linux

Для ЛЛ: спустя 30 лет и 3 года коммерческий ИИ продолжает исправлять проблемы СПО, существование которых СПО сектанты принципиально отрицали.

Недавно я писал о концептуальном – невнятных проблемах с планировщиком задач в Linux. Проблема простая: под Linux, по метрикам CPU \ wait, система явно работает не во всю силу.
Нет балансировки нагрузки на CPU, и при этом планировщик постоянно пытается таскать задачи между ядрами, даже если ядер хватает, чтобы так не делать. С последствиями в виде тормозов.
Видно это плохо, нужно специально читать разные душные статьи про то, как настроить не только производительность в BIOS, или что делать с NUMA, или какие C-state бывают, но и про то, как это мониторить. Особенно в Linux, где со средствами мониторинга все очень неоднозначно (местами - просто плохо). Какие-то базовые вещи есть, чуть начинаешь искать что-то серьезнее – нет. Просто, «нет». И механизмов нет. И ты смотришь на сервер с 2 сокетами под EPYC на физических 80 ядер на сокет, и пытаешься понять, что ж так тормозно то.

Возможно, в 7.3 это починят (или уже починили)

Прежде всего, в обновлении планировщика (scheduler merge) содержатся изменения, призванные повысить игровую производительность на устаревшем «слабом» («картофельном») оборудовании. Этот набор патчей от инженера Intel Питера Зейлстры (Peter Zijlstra) оптимизирует планирование задач в рамках cgroup; его эффективность была подтверждена в ходе тестирования на системе с процессором Intel Sandy Bridge и видеокартой AMD Radeon RX 580 (архитектура Polaris). Данная серия патчей, направленная на упрощение механизма выбора задач («flatten the pick»), демонстрирует весьма многообещающие результаты
Кроме того, в код планировщика были внесены изменения, направленные на снижение задержки планирования для задач с короткими квантами времени. Винсент Гитто (Vincent Guittot) продемонстрировал весьма значительные улучшения показателей в тесте cyclictest, достигнутые благодаря этой работе:
Полный оригинал: https://www.phoronix.com/news/Linux-7.3-Scheduler

Кроме того, работа инженера Bytedance Чуи Чжоу (Chuyi Zhou) в области SMP сокращает время, в течение которого прерывания запрещены (preemption-disabled time), при ожидании завершения межпроцессорных прерываний (IPI). На 16-ядерном сервере, используемом в рабочей среде, максимальное время (на уровне 99-го перцентиля) нахождения системы в состоянии с запрещенными прерываниями снизилось с пиковых значений 16–17 мс до примерно 1,5 мс. Это изменение должно быть особенно заметно пользователям DPDK. Дэйв Хансен из Intel отметил, что за этим участком кода стоит следить на предмет возможных регрессий.

https://daily.dev/posts/what-s-coming-in-linux-7-3-scheduler-overhaul-hybrid-cpu-fixes-and-broad-hardware-support-ydm5cfa6m

И так далее.

Заключение

Будет много работы по тестированию этого добра на наших физических средах, и на физических средах коллег.

В прошлые разы оптимизация настроек и прочие мелкие радости позволили коллегам сэкономить на закупке – отложить на год закупку 20 серверов. Недорогих, конечно, по $ 15 тысяч они тогда стоили. В этот раз при текущих ценах на память и сроках поставки – может, получится подержать в работе старичков из 2015 – 2020 годов еще год, или сэкономить на объемах закупок.
Для меня это достаточно практичный вопрос – часть сэкономленных денег пойдет на премии, мою и соседнего отдела. Плохо чтоли? Хорошо.

Литература

Повторю отсюда
Переход на Proxmox (Austria) с Hyper-V by Microsoft и VMware by Broadcom Часть 12. Немного про Cpu и кластер

И отсюда
Виртуализация 2026 или немного о концептуальном

Старая (2010) статья Multi-Core Scaling In A KVM Virtualized Environment
What is a vCPU and How Do You Calculate vCPU to CPU?
Hyper-V NUMA affinity and hyperthreading
VMware response to ‘L1 Terminal Fault - VMM’ (L1TF - VMM) Speculative-Execution vulnerability in Intel processors for vSphere: CVE-2018-3646 (55806)
Mitigation Instructions for CVE-2022-21123, CVE-2022-21125, and CVE-2022-21166 (VMSA-2022-0016) (88632)
Guidance for mitigating L1 Terminal Fault in Azure Stack
Microsoft Guidance to mitigate L1TF variant
Which process scheduler is my linux system using?
Completely Fair Scheduler and its tuning
Linux schedulers – overview
The Linux Scheduler a Decade of Wasted Cores
New EEVDF Linux Scheduler Patches Make It Functionally "Complete"
What Are CPU Cores vs Threads?
CPU oversubscription and new CPU jitter counters in Windows Server 2025

Лига Сисадминов

2.8K пост19.2K подписчиков

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.

3
Автор поста оценил этот комментарий

Смысл поста какой-то неуловимый. Или "сижу недовольный, что медленное исправление халявного софта не дает оставить прод висеть на 10-летнем железе, срубить за это премию и свалить, пока все не посыпалось" - это он и есть?

раскрыть ветку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества