Автор BFS представил новый планировщик задач MuQSS для ядра Linux

Кон Коливас (Con Kolivas), автор планировщика задач BFS (Brain Fuck Scheduler), ориентированного на обеспечение оптимальной отзывчивости приложений на рабочем столе.

Представил первый публичный выпуск нового планировщика MuQSS (Multiple Queue Skiplist Scheduler), который позиционируется как следующий шаг в развитии BFS, адаптированный для современных реалий. MuQSS может выступать в качестве прозрачной замены BFS и также нацелен на повышение отзывчивости и интерактивности обычных пользовательских задач.

MuQSS изначально ориентирован на обработку заданий в нескольких очередях и устраняет ограничения BFS, связанные с масштабируемостью на многоядерных системах. В MuQSS продолжено использование алгоритмов и упрощённой архитектуры BFS, которые переработаны для масштабирования на оборудовании с любым числом процессорных ядер и систем с любым числом активных процессов. Если в BFS использовалась единая очередь ожидающих выполнения заданий, то в MuQSS применена схема с раздельными очередями для каждого ядра CPU, что позволило добиться более равномерного распределения нагрузки по ядрам CPU и избавиться от блокировок, охватывающих сразу все ядра CPU.

При этом удалось обойтись без сложных схем балансировки заданий между очередями, благодаря задействованию не требующего установки блокировок метода опроса очередей и применению списков с пропусками вместо ранее используемых связанных списков. В процессе обработки очереди MuQSS оценивает наличие в других очередях заданий с истекающим deadline и на лету принимает решение о выполнении, если это требуется для минимизации задержек или балансировки нагрузки на CPU.

MuQSS не претендует на роль полнофункциональной замены основного планировщика ядра Linux, ориентируясь только только на работу при выполнении специфичных для настольных систем задач. Например, не MuQSS отягощён поддержкой cgroups, справедливого распределения приоритетов и точного учёта крайнего расчётного времени (deadline), но демонстрирует более высокую отзывчивость в тестах, оценивающих работу в интерактивных приложениях, при параллельном выполнении в системе ресурсоёмких задач, таких как компиляция кода, обработка видео или распаковка архивов.

Источники:

lkml.org
opennet.ru

Присоединяйтесь к нам в Twitter, ВКонтакте, Facebook, Google+ или через RSS, чтобы быть в курсе последних новостей из мира ITишников!



(Visited 40 times, 1 visits today)

Добавить комментарий

Войти с помощью: