Linus Torvalds refuse que le planificateur de tâches Linux ait des problèmes de port Stadia

couverture-google-stadia

malte skarupke un développeur de jeuxJ'ai publié une comparaison des performances des verrous basés sur Mutex et Spinlock en utilisant divers planificateurs de tâches. Les tests ont montré des retards anormaux longueurs lors de l'utilisation de Spinlock avec le planificateur de tâches par défaut sous Linux.

L'auteur des tests a conclu que le planificateur de tâches Linux avait des problèmes qui affectent négativement le travail de jeux créés pour le service Google Stadia, où les jeux s'exécutent sur le GPU dans un environnement cloud et le client ne diffuse que le contenu de l'écran jusqu'à 60 images par seconde.

Dans de telles conditions, il est nécessaire d'assurer l'affichage opportun des trames sur l'écran, et des retards de plus d'une milliseconde sont constatés.

Linus Torvalds s'est joint à la discussion sur les preuves, les qualifiant de «pure poubelle». et un exemple de la façon d'obtenir des indicateurs qui ne reflètent pas la réalité réelle sans bien comprendre le sujet.

Torvalds a écrit:

L'ensemble du message semble être faux et mesure quelque chose de complètement différent de ce que l'auteur pense et prétend mesurer.

Tout d'abord, les verrous spin ne peuvent être utilisés que si vous savez vraiment que vous n'êtes pas programmé lors de leur utilisation ... Fondamentalement, il lit l'heure avant de libérer le verrou, puis il le lit après avoir réacquis le verrou, et déclare qu'il est la différence est le moment où le verrou n'a pas été maintenu. Ce qui est stupide et inutile et complètement faux.

C'est de la pure merde.

Spinlock est une primitive de bas niveau qui doit être utilisée dans l'espace utilisateur avec beaucoup de soin et comprendre parfaitement les détails; sinon, vous pouvez obtenir ce que le testeur a démontré.

Linus a conseillé aux développeurs de jeux de ne pas utiliser spinlock et qu'ils n'essaient pas de bloquer leurs propres systèmes de blocage basés sur cela, utiliser plutôt les mécanismes éprouvés existants pour informer le système qu'ils attendent que le verrou soit libéré pour éliminer l'influence du programmeur.

Les plugins basés sur Spinlock ne peuvent être utilisés qu'en toute confiance que le programmeur n'interrompra pas leur exécution. Les verrous basés sur les verrous tournants utilisés dans les tests sont implémentés via une liaison maison qui fonctionne dans l'espace utilisateur.

Le planificateur de tâches peut prendre le contrôle à tout moment pendant l'exécution de ce lien et basculer vers une autre tâche.

Compte tenu de quoiLa mesure des performances est basée sur des valeurs absolues de minuterie, délais définis dans les tests, ils couvrent non seulement les retards dans le contrôleur blocage, mais également le code qui a été exécuté dans un contexte différent, c'est-à-dire.

Il mesure non seulement ce que le testeur a essayé de mesurer, mais également le «bruit» provenant d'autres calculs du système.

Le problème est que les développeurs n'auraient pas dû utiliser les verrous rotatifs en premier lieur, aussi loin que, Ce n'était pas le programmeur Linux à blâmer, mais les approches des développeurs pour l'utiliser.

L'auteur du test a tenté de s'opposer à Linus, soulignant que l'utilisation de systèmes de verrouillage propriétaires basés sur des verrous rotatifs est souvent utilisée dans la pratique dans les jeux, car lors de l'utilisation de programmeurs plus simples que sur Linux, les tests montrent de meilleures performances.

Linus a mentionné que le planificateur Linux est universel, raffiné depuis des décennies et optimisé non seulement pour le bureau et les jeux, mais aussi pour d'autres types de charges travail, par exemple, les systèmes de serveur et prend donc en compte de nombreuses nuances lors de la planification des tâches.

Ajoutez des optimisations spécifiques qui réduiront la latence dans les jeux Google Stadia peut augmenter la réactivité dans un cas particulier, mais il est susceptible de réduire les performances globales du programmeur.

Par exemple, Windows Scheduler fonctionne mieux dans les tests en cours de discussion car il est beaucoup plus simple que Linux Scheduler et est principalement optimisé pour des tâches de bureau spécifiques.

source: https://probablydance.com/


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.