Новый планировщик для Linux

В будущем ядро ​​Linux может получить новый планировщик задач. На конференции была представлена ​​экспериментальная разработка программного обеспечения под названием Nest. линукс Сантехники 2022, действие которого происходит в Дублин (Ирландия), пишет Фороникс.

Разработка Гнездо задействован Жюли Лаваль (Джулия Лоуолл) и ее коллеги из Национального института исследований в области вычислительной техники и автоматизация (ИНРИЯ, Франция). Также участвуйте в проекте Оракул Лаборатории (ранее Sun Microsystems Labs) – исследовательское подразделение американский Корпорация Оракл.

Планировщик задач (планировщик процессов) — компонент многозадачной операционной системы, распределяющий процессорное время между запущенными процессами (потоками, программами) по заданному алгоритму.

Linux может работать на 10-100% быстрее в некоторых сценариях с помощью Nest Scheduler.

Ключевой особенностью Nest является его готовность отдавать приоритет «прогретым» ядрам ЦП, то есть недавно (по стандартам планировщика) использованным. Эти ядра, как показано Форониксвероятно, они уже работают на высокой тактовой частоте (в режиме Turbo/Boost), поэтому нет необходимости тратить больше времени на ожидание их «просыпания» и повышения частоты.

Благодаря такому подходу достигается увеличение отзывчивости системы и, по словам разработчиков, производительность в определенных сценариях при использовании Nest с ядром Linux 5.9 увеличивается на 10-100% и снижается энергопотребление.

Есть оттенки

Однако следует учитывать, что таких результатов можно добиться только при малых и средних вычислительных нагрузках, когда есть возможность выжать максимум (по тактовой частоте) из небольшого количества активных ядер, пока остальные простаивают. Когда процессор полностью загружен работой, такой подход не имеет смысла.

Производительность различного программного обеспечения во время использования Гнездо и “чистый” SFC

Разработчики отмечают, что Nest хорошо показывает себя при работе на линукс– серверы на базе современных процессоров Intel (в одно-, двух- и четырехпроцессорных конфигурациях), а также серверы AMD и настольные компьютеры.

ЧИТАТЬ   Киев выразил обеспокоенность по поводу гарантий безопасности, которые может дать G7

Кроме того, указывается, что влияние планировщика на производительность зависит, среди прочего, от подхода к управлению питанием, принятого в целевом объекте. ЮВ и «железо».

Как работает Нест

Текущим планировщиком задач по умолчанию в Linux с 2007 года является CFS (полностью честный планировщик). Алгоритм организации очереди процессов в CFS основан на механизме взвешенной справедливой организации очереди. Если говорить о подходе к балансировке нагрузки, то CFS стремится задействовать все доступные ядра ЦП, что вполне рационально при высоких нагрузках.

Nest хоть и работает, судя по документации, «поверх» CFS, но действует в этом плане принципиально иначе. Планировщик следит за активностью процессорных ядер (или процессоры) и разбивает их на два кластера или, в терминологии разработчиков, гнезда: основное гнездо и резервное гнездо. В первую входят используемые в настоящее время или недавно использовавшиеся ядра, которые планировщик предполагает использовать в самом ближайшем будущем — те самые «предварительно нагретые» ядра. Во втором находятся зерна, которые ранее находились в основном гнезде, но были выброшены из него в связи с собственной невостребованностью в течение некоторого времени. Кроме того, в пуле могут быть ядра, выбранные CFS, но еще не используемые в основном сокете.

Состав гнезд меняется автоматически в зависимости от условий. Например, если имеющиеся в основном гнезде не справляются с текущим уровнем заряда или справляются с этим эффективно, то на помощь будут отправлены ядра из резерва.

Nest может периодически обращаться к неактивным ядрам из основного гнезда, чтобы они не «засыпали».

Обратите внимание, что нечто подобное реализовано в Windows 10 и 11: если есть процессор AMD Райзен собственный планировщик ЮВ Майкрософт стремится отдавать приоритет конкретным физическим ядрам при относительно низкой нагрузке, отмечает снаряжение Тома. Однако, согласно документации Nest, новый планировщик Linux более гибкий.

ЧИТАТЬ   Как дело YouTube в Верховном суде США может повлиять на ChatGPT и AI

Linux и Алдер Лейк

До версии 5.18 в Linux не использовались новейшие APU наилучшим образом. Интел Семьи Ольхового озера (12 поколений).

Ключевая особенность этого семейства процессоров, подарок конце октября 2021 г., происходит разделение составляющих их ядер на продуктивные ядра (архитектура золотая бухта) и энергоэффективным (Грейсмонт).

По замыслу разработчиков, быстрые производительные ядра должны выполнять задачи с наивысшим приоритетом, а энергоэффективные, но медленные ядра — обслуживать фоновые процессы. За реализацию этой схемы отвечает технология Intel Thread Director, которая использует интерфейс Интерфейс аппаратной обратной связи (HFI) для обмена информацией о производительности отдельных ядер, который поддерживался только в Linux 5.18 в мае 2022 года. письмо CNews в его отсутствие Диспетчер задач Linux часто предпочитал быстрые ядра, оставляя энергосберегающие ядра без какой-либо полезной нагрузки.

Source

От admin