Управление ресурсами с помощью планировщика потоков

Управление различными аспектами потребления ресурсов системы с использованием принципов адаптивного партиционирования

Обзор

Планировщик потоков является компонентом адаптивного партиционирования ЗОСРВ «Нейтрино», который управляет потреблением ресурсов системы. Управление потреблением ресурсов позволяет:

Нюансы управления ресурсом в значительной степени зависят от самого ресурса; для управления планированием в ЗОСРВ «Нейтрино» применяются временные партиции.

Вопрос Ответ
Когда становится доступным большее количество ресурса? Когда появляется свободное время.
Какова длительность интервала сбора статистики потребления ресурса, который используется системой адаптивного партиционирования для принятия решений? Длительность скользящего окна составляет 100 миллисекунд. Это значение можно изменять, однако обычно используется короткое скользящее окно.
Иерархия партиций: ограничивает ли размер родительской партиции размеры дочерних партиций? Да. Дочерняя партиция никогда не получает больше ресурсов CPU, чем родительская. При создании дочерней партиции ее бюджет (размер партиции) вычитается из бюджета родительской партиции, поэтому дочерняя партиция работает независимо.

Почему: Учет потребления дочерних партиций в иерархической структуре очень трудоемок, поскольку планирование выполняется непрерывно с интенсивностью несколько тысяч раз в секунду.
Существует ли максимальное количество партиций в системе? Да. Планировщик позволяет создавать не более восьми партиций.

Почему: Планировщик потоков анализирует все партиции перед тем, как выбрать поток для выполнения. Поскольку даже на маломощном компьютере x86 с тактовой частотой 700 МГц планирование может выполняться до 50 000 раз в секунду, важно минимизировать трудоемкость планирования, ограничивая количество партиций.
Отражается ли иерархия партиций в пространстве путевых имен? Нет. Имена партиций хранятся в небольшом внутреннем пространстве планировщика потоков.
В каких единицах измеряется размер партиций? В процентах времени CPU.
Что означают термины «гарантированный размер», «минимальный размер» и «максимальный размер» партиций? Размер или бюджет партиции — это гарантированное минимальное процессорное время, которое предоставляется ее потокам для выполнения в ближайшем скользящем окне длительностью 100 мс. У партиций отсутствует максимальный размер (количество использованного процессорного времени, при котором планировщик прекращает выполнять потоки). Напротив, планировщик дает партиции возможность работать сверх ее бюджета, если другие партиции не используют гарантированные им минимальные ресурсы. Этот принцип планирования обеспечивает максимально эффективное использование CPU в любой момент времени (т.е. CPU работает, если в системе имеется хотя бы один готовый к выполнению поток).
Какой механизм реализует правила потребления ресурсов партициями?

Когда применяются эти правила?
При каждом прерывании таймера (как правило, с интервалом в 1 миллисекунду), операции send, receive и reply с сообщением/импульсом, отправке сигнала, операции с мьютексом, ошибке стека и многих операциях менеджера процессов (создании/уничтожении процессов и потоков, операциях open() над компонентами файловых путей).

Механизм применения: если поток готов к выполнению, но бюджет его партиции исчерпан (расход времени CPU за последние 100 мс превышает размер партиции, при этом другие партиции требуют доступ к процессору), планировщик передает управление другому потоку. Первый поток запускается лишь после того, как доля времени CPU, израсходованного его партицией за последние 100 миллисекунд, становится меньше размера партиции. Тем не менее, в конечном счете потоку гарантируется возможность выполнения.
Можно ли говорить, что у партиции есть участники?

Что понимается под термином «участник»?
Да — участниками партиции являются потоки, которые выполняются в ней. Тем не менее, механизм предотвращения инверсии приоритетов может временно перемещать потоки в другие партиции. Потоки одного процесса могут находиться в разных партициях.
Какие утилиты используются для настройки партиций? Параметры партиций задаются только с помощью утилиты aps.




Предыдущий раздел: перейти