Ouvrir le menu principal

MacGeneration

Recherche

Les serveurs de Meta récupèrent une technologie pensée pour le Steam Deck de Valve

Pierre Dandumont

mercredi 24 décembre 2025 à 13:10 • 2

Ailleurs

Le Steam Deck, la console portable sous GNU/Linux de Valve, se retrouve partout… ou presque. En effet une technologie développée par Valve pour son petit ordinateur est maintenant employée dans certains serveurs de chez Meta. Il s'agit du scheduler (l'agenceur en français) SCX-LAVD. Un scheduler, de façon schématique, est le composant logiciel qui va définir sur quel cœur d'un processeur un programme va s'exécuter, et qui va aussi choisir la priorité de certaines tâches face à d'autres.

Image Phoronix.

Le choix d'un cœur n'est absolument pas anodin dans un système moderne, qui peut combiner des cœurs basse consommation (avec des performances très faibles sur certaines tâches), des cœurs performants et des cœurs virtuels (Hyper-Threading). De même, dans beaucoup de processeurs modernes, tous les cœurs performants ne sont pas égaux : la mémoire cache de niveau 3 est souvent liée à un groupe de cœurs, avec une liaison entre les groupes qui peut être plus lente. Prenons un processeur AMD avec seize cœurs : il est composé en réalité de deux groupes de huit cœurs qui ont accès à une partie de la mémoire cache de niveau 3. Si vous exécutez un programme en assignant un cœur d'un groupe et un cœur d'un autre groupe, vous perdrez un peu en performances à cause de la liaison entre les deux zones de mémoires, par exemple. Le but d'un bon scheduler est donc de choisir les bons cœurs, en adaptant les choix à l'architecture du processeur.

Apple doit prendre en compte ce genre de contraintes dans ses puces, étant donné que le nombre de cœurs basse consommation varie en fonction des systèmes sur puce, et que les puces Ultra ont un lien entre deux groupes de cœurs qui est certes rapide, mais pas autant que l'accès direct à la mémoire cache.

Image Meta.

Pour la priorité, c'est un peu différent, mais l'idée est la même : le Scheduler natif sous GNU/Linux est prévu pour prendre en charge de nombreux types d'appareils, qui n'ont pas tous les mêmes besoins. Il est donc plutôt conservateur sur certains choix et suffisant pour tous les usages, sans être le meilleur. Le scheduler de Valve, a contrario, a été pensé pour une machine destinée aux joueurs : certaines tâches ne peuvent pas être placées dans une file d'attente (globalement tout ce qui est lié aux jeux) parce qu'une mise à jour du système est en attente (c'est une explication avec de gros traits).

Des serveurs avec les mêmes besoins… dans un sens

Ce qui est intéressant, c'est que ce sont des choix pratiques pour des serveurs. Il y a pas mal de détails dans la présentation de Meta pour ceux que le côté (très) technique intéresse, avec les modifications effectuées par les développeurs pour bien adapter le scheduler à cet usage précis. Mais dans l'ensemble, il est assez bien adapté pour un serveur, car le principe de base reste le même : il faut une latence très faible pour la fonction primaire, qui est ici de servir des données (et pas d'exécuter un jeu de la façon la plus fluide possible1) et une bonne optimisation pour le choix des bons cœurs, en fonction des usages. le but n'est pas de faire ce qu'on appelle du temps réel, ce qui demande des réglages particuliers, mais de réduire la latence pour des tâches précises, et pour cet usage, le scheduler du Steam Deck est donc un bon choix, meilleur que le scheduler natif.


  1. Bon, dans le cas du Steam Deck, c'est plutôt « avec le moins de saccades possibles ».  ↩︎

Source :

illustration ulule

Pour les 50 ans d’Apple, MacGeneration publie un livre événement

Précommandez-le dès maintenant et profitez-en pour découvrir nos nouveaux goodies, ou prolonger votre abonnement au Club iGen à tarif réduit.

Découvrez nos offres

Précommandez le livre et rejoignez la fête

Un livre pour raconter 50 ans d'Apple, une journée à Lyon pour les célébrer ensemble.

Participez sur Ulule