Meta a récemment partagé lors de la conférence Linux Plumbers que,Lorsque Meta recherchait un planificateur de processeur plus efficace pour les grands centres de données de Facebook, elle a finalement choisi le planificateur de processeur développé pour Steam Deck.Le planificateur de processeur est un composant clé d'un système informatique qui détermine quels programmes s'exécuteront sur quels cœurs de processeur et à quel moment.
Étant donné que les systèmes Linux sont largement utilisés dans divers appareils, des téléphones mobiles aux serveurs, la conception par défaut du planificateur de processeur est relativement conservatrice et difficile à répondre aux exigences de faible latence sous une charge élevée.
Meta a testé diverses distributions Linux d'entreprise tout en recherchant un meilleur planificateur pour ses centres de données, mais a finalement trouvé sa réponse dans le domaine des jeux.
Les méta-ingénieurs David Dai et Ran Newton ont révélé que le cluster de serveurs de Facebook déploie actuellement à grande échelle un planificateur appelé « SCX-LAVD ».
Ce planificateur a été initialement développé par Igalia à la demande de Valve pour résoudre les problèmes de perte d'image, de bégaiement et de décalage d'entrée qui peuvent survenir lorsque Steam Deck exécute des chefs-d'œuvre AAA.
Son principal avantage réside dans sa gestion dynamique des tâches. En observant en permanence le comportement des tâches, il estime automatiquement quelles tâches sont les plus sensibles aux retards et attribue des « délais virtuels » plus précoces à ces tâches pour garantir qu'elles peuvent s'exécuter à temps même lorsque le système est occupé.
Après de nombreux tests réels, Meta a constaté que cette recherche de caractéristiques de « latence extrêmement faible » est étonnamment très cohérente avec les besoins de gestion des requêtes Web massives, des messages back-end et des services de mise en cache de Facebook.
Meta a finalement transplanté ce planificateur « spécifique au jeu » côté serveur, l'a optimisé pour la topologie de cache multicœur et multiniveau du serveur et a ajouté sa propre logique métier.
