Мета недавно поделился на конференции Linux Plumbers, что:Когда Meta искала более эффективный планировщик ЦП для крупных центров обработки данных Facebook, в конечном итоге она остановила свой выбор на планировщике ЦП, разработанном для Steam Deck.Планировщик ЦП — это ключевой компонент компьютерной системы, который определяет, какие программы будут запускаться на каких ядрах ЦП и когда.

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

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

Мета-инженеры Дэвид Дай и Ран Ньютон сообщили, что в кластере серверов Facebook в настоящее время в больших масштабах развертывается планировщик под названием «SCX-LAVD».

Этот планировщик был первоначально разработан Igalia по заказу Valve для решения проблем потери кадров, заиканий и задержки ввода, которые могут возникнуть, когда Steam Deck запускает шедевры AAA.

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

После многих реальных тестов Meta обнаружила, что стремление к характеристикам «чрезвычайно низкой задержки» неожиданно хорошо соответствует потребностям управления массовыми веб-запросами Facebook, серверными сообщениями и службами кэширования.

В конце концов Meta перенесла этот «специфичный для игры» планировщик на серверную часть, оптимизировала его для многоядерной топологии многоуровневого кэша сервера и добавила собственную бизнес-логику.