Операционная система Redox OS на базе Rust готовится к выпуску нового планировщика задач для центрального процессора. Изменения были сделаны благодаря работе разработчика Акшита Гаура (Akshit Gaur) по модернизации простого алгоритма Round Robin, который используется в системе в настоящий момент.
Алгоритм с циклическим переключением действительно простой. Представьте, что вы сидите в баре. Сегодня в баре все напитки бесплатные, но барменов значительно меньше, чем посетителей. Бармены начинают с левого края, обслуживают клиентов и продвигаются вправо.
Некоторые посетители пьют медленно и не допивают свой напиток к тому моменту, когда бармен возвращается. В результате, несмотря на то, что не всем каждый раз нужен новый напиток, барменам все равно приходится спрашивать у них, что они хотят, и это снижает эффективность системы.
Deficit Weighted Round Robin Scheduler (DWRR) — это новая реализация планировщика. Теперь каждому посетителю в баре назначается один из трёх «весов» продолжительности запроса. Более быстрые и требовательные клиенты будут получать больше внимания, чем медленные.
Ключевой вывод для конечных пользователей заключается в значительном повышении производительности, возможности повысить приоритет интерактивных рабочих нагрузок, что позволяет увеличить скорость отклика приложений примерно на 15 %, а скорости выполнения тяжелых нагрузок в полтора раза.