Буст производительности для старых систем
Ключевым нововведением стала серия патчей от инженера Intel Питера Зильстра, направленная на улучшение работы с cgroup (контрольными группами). Ранее сложная логика распределения ресурсов приводила к ошибкам, например, некорректной обработке задач с измененным приоритетом (reniced). Новая стратегия "flatten the pick" упрощает выбор задач и переводит планирование cgroup на единую очередь выполнения (single runqueue). Тестирование на связке Intel Sandy Bridge и AMD Radeon RX 580 показало значимый прирост отзывчивости системы.
Снижение задержек для коротких задач
Разработчик Винсент Гитто (Vincent Guittot) внедрил улучшения, снижающие латентность планировщика для задач с короткими временными срезами. Это особенно важно для интерактивных приложений и игровых движков, где важна мгновенная реакция. Результаты тестов в cyclictest продемонстрировали существенное сокращение пиковых задержек, что делает отклик системы более предсказуемым.
Исправление гибридных CPU Intel
Важным исправлением стала коррекция кластерного планирования для процессоров с асимметричной производительностью (Intel Hybrid Architecture, P-cores и E-cores). Ранее возникали проблемы с балансировкой нагрузки между ядрами разного типа. Теперь планировщик более эффективно распределяет задачи, избегая перегрузки энергоэффективных ядер тяжелыми процессами.
Новые параметры cgroup_mode
Для тонкой настройки распределения ресурсов введены новые методы распределения веса через параметр cgroup_mode. По умолчанию используется режим 'concur', обеспечивающий наибольшую точность, но требующий больше вычислительных ресурсов. Пользователи могут выбрать другие режимы в зависимости от задач:
| Режим | Описание | Применение |
|---|---|---|
| concur (по умолчанию) | Наиболее точное распределение | Высокая точность, высокая нагрузка на CPU |
| up | Иерархическое распределение | Структурированные среды |
| max | Максимизация пропускной способности | Поточная обработка данных |
| tasks | Балансировка по количеству задач | Массовые легкие процессы |
Оптимизация NOHZ
Для улучшения балансировки нагрузки система теперь предпочитает полностью простаивающие ядра для обработки событий NOHZ (No-Hz). Это позволяет эффективнее использовать ресурсы простоя, снижая энергопотребление и улучшая общую стабильность системы при высокой нагрузке.
Источник: Phoronix ↗
