Представлен новый планировщик для Linux, способный повысить производительность процессора до 50%

Представлен новый планировщик для Linux, способный повысить производительность процессора до 50%

Цель планировщика Nest — удерживать задачи на сильно нагруженных ядрах с наименьшей задержкой.

В последнее время предпринято достаточно усилий по совершенствованию планировщика ядра Linux для лучшей адаптации к современным аппаратным архитектурам, будь то гибридные процессоры Intel, адаптация к новым конфигурациям кэша процессора или просто лучшее масштабирование с учетом постоянно растущего количества ядер.

На этой неделе был представлен планировщик Nest , цель которого — удерживать задачи на сильно нагруженных ядрах с наименьшей задержкой. Задержка возникает, когда ядра уже находятся в высоких состояниях тактовой частоты (производительности) или работают на оптимальной частоте Turbo Boost.

Разработчики Nest обнаружили, что их планировщик повышает производительность до 50% и может снизить энергопотребление на современном оборудовании.

Эксперт Джулия Лавалл из Национального исследовательского института во Франции (INRIA) представила планировщик Nest на конференции Linux Plumbers Conference (LPC 2022) на прошлой неделе в Дублине. Над Nest также работали в сотрудничестве с Oracle Labs и Сиднейским университетом.

В то время как существующее поведение планировщика Linux CFS заключается в распределении задач по доступным ядрам ЦП, Nest использует другой подход, учитывая современные характеристики процессора.

Распределение работы может быть полезным, но включение долго бездействующих ядер ЦП может привести к задержке до тех пор, пока эти ядра не будут переведены в состояние более высокой производительности (более высокая частота). Также это может негативно повлиять на мощность работающих в данный момент ядер.

Nest старается сначала удерживать задачи на наборе активных ядер, которые уже работают с максимальной производительностью, прежде чем запускать бездействующие ядра.

Nest также учитывает родительское ядро ​​в своем решении по планированию, чтобы попытаться улучшить локальность в случае многоядерных процессоров.


Разработчики использовали open source инструмент Phoronix Test Suite для сравнительного анализа и оценки влияния своих решений по планированию на широкий спектр рабочих нагрузок.

Планировщик задач Nest может повысить производительность от 10% до 50% при легких или умеренных рабочих нагрузках на серверах Intel с 1/2/4 ядрами, а также на серверах и настольных компьютерах с AMD.

Очевидно, что для требовательных многопоточных рабочих нагрузок, которые уже используют ЦП на полную мощность, особой разницы нет, но для легких и умеренных рабочих нагрузок подход Nest оказывается очень полезным с современными высокопроизводительными процессорами.

Домашний Wi-Fi – ваша крепость или картонный домик?

Узнайте, как построить неприступную стену