Meta compartilhou recentemente na conferência Linux Plumbers que,Quando a Meta procurava um agendador de CPU mais eficiente para os grandes data centers do Facebook, acabou escolhendo o agendador de CPU desenvolvido para Steam Deck.O agendador de CPU é um componente chave em um sistema de computador que determina quais programas serão executados em quais núcleos de CPU e quando.

Como os sistemas Linux são amplamente utilizados em vários dispositivos, de telefones celulares a servidores, seu design de agendador de CPU padrão é relativamente conservador e difícil de atender aos requisitos de baixa latência sob alta carga.

A Meta testou uma variedade de distribuições Linux empresariais enquanto procurava um agendador melhor para seus data centers, mas finalmente encontrou sua resposta no espaço de jogos.

Os meta-engenheiros David Dai e Ran Newton revelaram que o cluster de servidores do Facebook está atualmente implantando um agendador chamado “SCX-LAVD” em larga escala.

Este agendador foi originalmente desenvolvido por Igalia encomendado pela Valve para resolver os problemas de perda de quadros, travamentos e atraso de entrada que podem ocorrer quando o Steam Deck está executando obras-primas AAA.

Sua principal vantagem reside no gerenciamento dinâmico de tarefas. Ao observar continuamente o comportamento das tarefas, ele estima automaticamente quais tarefas são mais sensíveis a atrasos e atribui "prazos virtuais" anteriores a essas tarefas para garantir que elas possam ser executadas a tempo mesmo quando o sistema estiver ocupado.

Depois de muitos testes reais, a Meta descobriu que essa busca por características de “latência extremamente baixa” é inesperadamente altamente consistente com as necessidades de gerenciamento das enormes solicitações da web, mensagens de back-end e serviços de cache do Facebook.

Meta finalmente transplantou esse agendador “específico do jogo” para o lado do servidor, otimizou-o para a topologia de cache multinúcleo e multinível do servidor e adicionou sua própria lógica de negócios.