IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Juin 2023
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2023
    Messages : 1 099
    Par défaut La modification du noyau Linux va réduire la consommation d'énergie des centres de données, selon une étude
    Un nouveau code Linux pourrait-il réduire de 30 % la consommation d'énergie des centres de données ? Une étude suggère que la modification d'une trentaine de lignes de code dans le noyau Linux

    Une étude suggère que la modification d'une trentaine de lignes de code dans le noyau Linux pourrait réduire de 30 % la consommation d'énergie des centres de données. Plus précisément, elle propose de modifier la manière dont les serveurs traitent le trafic réseau entrant, ce qui améliorerait leurs performances et leur efficacité énergétique. Presque toutes les demandes de service sur Internet pourraient en être affectées positivement. Mais les 30 % annoncés sont obtenus dans des conditions de test idéales et certains critiques sceptiques affirment que « personne n'est susceptible de voir quelque chose de semblable dans des scénarios réels ».

    Le matériel devient de plus en en plus rapide, mais il n'est pas inutile de prendre régulièrement du recul et de revoir votre code. Il se peut que vous découvriez une petite modification qui vous permettra d'obtenir plus d'efficacité ou de débit que vous ne l'auriez imaginé. C'est ce que les chercheurs de la Cheriton School of Computer Science de l'université de Waterloo ont réussi à faire. Ils ont trouvé un moyen d'améliorer l'efficacité énergétique des serveurs Linux.

    Grâce à leurs recherches, Martin Karsten, professeur d'informatique à la faculté de mathématiques de l'université de Waterloo, et Peter Cai, étudiant diplômé en informatique, ont découvert que la manière dont les centres de données traitaient les paquets de trafic réseau était inefficace.

    Ils ont conçu une petite modification pour la rendre plus efficace. « Le projet est né du désir d'expliquer comment il était possible que les approches de mise en réseau au niveau de l'utilisateur puissent atteindre des performances aussi grandioses par rapport aux approches au niveau du noyau », explique Martin Karsten.

    Réduire le nombre de demandes d'interruption qui surcharge les serveurs

    Leur découverte provient de la suspension des demandes d'interruption (IRQ), une technique qui optimise l'efficacité énergétique de l'unité centrale en réduisant les interruptions inutiles dans des conditions de trafic élevé. En général, lorsqu'un nouveau paquet de données entre dans le réseau, il déclenche une demande d'interruption, ce qui oblige le noyau du processeur à interrompre sa tâche en cours pour traiter les données, ce qui ralentit les choses.

    Ce système était adapté aux environnements dans lesquels plusieurs utilisateurs pouvaient exécuter des tâches simultanément. « Dans l'ancien système, le système d'exploitation facilitait les activités multi-utilisateurs. Vous avez un serveur ; vous avez beaucoup de personnes connectées qui font toutes sortes de petites choses ; et le système d'exploitation doit constamment s'occuper de tout le monde et établir l'équité », explique Martin Karsten.

    Beaucoup de choses ont changé depuis. De nombreuses charges de travail modernes axées sur le débit, comme les proxys inversés ou la mise en cache, peuvent consommer des ressources équivalentes à plusieurs systèmes traditionnels. Selon le professeur Martin Karsten, pour ce type d'applications, il peut être plus efficace pour l'application d'interroger le réseau lorsqu'elle est prête à prendre en charge plus de travail.

    Nom : Capture d'écran 2025-02-04 140453.png
Affichages : 22668
Taille : 260,8 Ko

    En réduisant le nombre de demandes d'interruption, le processeur hôte peut consacrer plus de temps à l'analyse des chiffres et moins à l'attente de paquets qui ne sont pas prêts à être traités. Le fait d'interroger constamment le réseau entraîne également des frais généraux. « Lorsque le trafic est faible, vous continuez à utiliser votre cœur, ce qui est extrêmement inefficace en matière de consommation d'énergie », explique le professeur Martin Karsten.

    Forte de ce constat, l'équipe est parvenue à un correctif du noyau introduisant l'interrogation adaptative. Pendant les périodes de trafic intense, cela a permis à l'hôte d'interroger le réseau pour obtenir un nouveau morceau de données dès qu'il avait fini de traiter le dernier.

    Si le trafic diminuait et qu'il n'y avait pas de nouveaux chiffres à traiter, le système pouvait alors revenir à une approche basée sur les interruptions, ce qui permettait d'économiser de l'énergie. Plus important encore, comme tout cela est géré dans le noyau, c'est essentiellement automatique.

    Cette petite modification a été intégrée dans la version 6.13 du noyau Linux

    En affinant la façon dont le noyau gère les demandes d'interruption, le débit des données s'améliore de 45 % tout en garantissant une faible latence. En d'autres termes, le système peut gérer plus de trafic sans retard pour les opérations les plus sensibles au temps. L'équipe a démontré pour la première fois une mise en œuvre rudimentaire de cette capacité dans un article publié en 2023. Elle a alors entrepris des travaux pour l'intégrer au noyau Linux.

    Martin Karsten s'est associé à Joe Damato, ingénieur distingué de la société de cloud computing Fastly, spécialisée dans les réseaux de diffusion de contenu, pour développer une petite section de code (environ 30 lignes) qui améliorerait le traitement du trafic réseau de Linux. Selon les chercheurs, si elle cette nouvelle approche est adoptée, elle pourrait réduire de 30 % la consommation d'énergie des opérations importantes des centres de données.

    La modification a été incorporée dans la version 6.13 du noyau Linux oubliée en janvier 2025. Le professeur Martin Karsten insiste sur le fait que son équipe n'a rien ajouté de nouveau. « Nous n'avons rien ajouté. Nous avons simplement réorganisé ce qui est fait et à quel moment », a-t-il déclaré.

    « Cela a conduit à une bien meilleure utilisation des caches de l'unité centrale du centre de données. C'est un peu comme si l'on réorganisait le pipeline d'une usine de fabrication, de sorte qu'il n'y ait pas de gens qui courent dans tous les sens », a ajouté le professeur Martin Karsten.

    L'université de Waterloo construit une salle de serveurs informatiques écologiques dans le cadre de son nouveau bâtiment de mathématiques, et Martin Karsten estime que la recherche sur le développement durable doit être une priorité pour les informaticiens afin de construire « un avenir plus vert ».

    Analyse critique des résultats de l'étude

    Comme souligné ci-dessus, les implications de ce correctif en matière de performances pourraient être très importantes. Les premiers tests ont montré qu'il pouvait augmenter le débit jusqu'à 45 % sans compromettre le temps de latence. Par ailleurs, pour la même charge, l'équipe a déclaré que la réduction des ressources précédemment gaspillées pour l'interruption des charges lourdes du réseau pourrait réduire la consommation d'énergie d'environ 30 %.

    Cependant, il s'agit là de scénarios optimaux. Toutes les applications ne bénéficieront pas d'un tel niveau d'amélioration des performances. Martin Karsten a déclaré que ce sont les applications gourmandes en débit qui devraient en bénéficier le plus. « Il existe des applications telles que Memcached qui ne font pas grand-chose d'autre que de la communication réseau », a-t-il déclaré. De nombreux commentateurs ont également mis en lumière cet aspect.

    Un critique affirme : « les 30 % annoncés ont été obtenus dans des conditions de test idéales. Personne n'est susceptible de voir quelque chose de semblable dans des scénarios réels, au point que dans toute application qui n'est pas un appareil de réseau, je doute que la différence de vitesse soit perceptible ».

    Même si les économies sont beaucoup plus faibles en moyenne, Martin Karsten a déclaré que cela représente toujours une quantité considérable d'énergie pour toutes les boîtes Linux dans la nature. À ce propos, ces économies ne seront pas réalisées du jour au lendemain, car il faudra peut-être un certain temps avant qu'un noyau comportant ces modifications ne soit intégré dans les versions de support à long terme (LTS) privilégiées par les entreprises.

    Mais il semble que même lorsque le noyau sera largement adopté dans les centres de données, il ne sera pas d'une grande utilité pour les clusters d'IA. En effet, dans les applications d'IA et de calcul intensif, une technologie appelée « Remote direct memory access » (RDMA) est depuis longtemps privilégiée.

    « Cette approche élimine le besoin de cycles CPU dans le traitement des données du réseau, ce qui constitue la base des technologies d'interconnexion haute performance », a déclaré Gilad Shainer, SVP of Networking chez Nvidia. Néanmoins, pour Martin Karsten, l'étude souligne l'importance de revoir les piles logicielles.

    Cela concerne non seulement le noyau ou l'application, mais aussi les intergiciels, les bibliothèques et tout le reste. Martin Karsten a déclaré que cette analyse devrait être pris à l'avenir. « Je pense qu'il y a tellement d'inefficacités que nous pouvons éradiquer et je pense que le moment est bientôt venu », a-t-il déclaré.

    « Personne n'a dépensé d'argent dans ce domaine par le passé, car pourquoi s'inquiéter si le matériel est deux fois plus rapide l'année prochaine ? Mais si la fête s'arrête un jour, nous ferons mieux de nous pencher sur les logiciels », a déclaré le professeur Martin Karsten.

    Sources : communiqué de presse, rapport de l'étude

    Et vous ?

    Quel est votre avis sur le sujet ?
    Que pensez-vous des résultats de cette étude ? Sont-elles pertinentes selon vous ?
    Cette modification du noyau Linux sera-t-elle réellement utile dans les scénarios réels ? Pourquoi ?

    Voir aussi

    Linux Kernel 6.13 est disponible : le noyau ajoute la prise en charge de la préemption paresseuse, poursuit l'intégration de Rust et apporte de nouvelles fonctionnalités pour l'optimisation du système

    Grâce à Nvidia, une nouvelle génération d'ordinateurs personnels arrive et ils tourneront sous Linux qui bénéficie d'un nouveau couloir de vente liée pour aller bousculer Windows sur le desktop

    Pourquoi la FSF est structurée comme elle l'est, les huit directeurs publient un article expliquant comment leur objectif et leurs principes sont protégés par la structure de gouvernance de l'organisation

  2. #2
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2
    Par défaut Réception des paquets
    La réception des paquets par interruption provoque un changement de contexte dans le noyau et un dans certaines circonstances un appel au "scheduler". La routine d'it doit remplir une file de messages qui sera traitée lors de la restitution du contexte. Si un autre paquet survient, le paquet ne peut être traité immédiatement à cause du nouveau changement de contexte. Il en résulte une perte d'efficacité dû aux changements de contextes incessants. La solution en cas de forts trafic et de traiter les paquets par "pooling" plutôt que par interruption.

  3. #3
    Membre Expert
    Avatar de Escapetiger
    Homme Profil pro
    Administrateur système Unix - Linux
    Inscrit en
    Juillet 2012
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur système Unix - Linux

    Informations forums :
    Inscription : Juillet 2012
    Messages : 1 537
    Par défaut
    Citation Envoyé par jeanbart Voir le message
    (.../...) La solution en cas de forts trafic et de traiter les paquets par "pooling" plutôt que par interruption.
    Un article avec des analogies de la vie courante compréhensibles par tout le monde, Ci-après dans le domaine de l'embarqué, valable dans le cadre de ce sujet:

    Le principe du Polling
    Le principe des interruptions
    (.../...)
    Polling vs Interruption
    Source: Différence entre le polling et l'interruption en embarqué - blog Collectif MatR

    Edit
    Pool (computer science), a set of initialized resources that are kept ready to use

    Pool (informatique), un ensemble de ressources initialisées qui sont maintenues prêtes à l'emploi

    https://en.wikipedia.org/wiki/Pool
    « Developpez.com est un groupe international de bénévoles dont la motivation est l'entraide au sens large » (incl. forums developpez.net)
    Club des professionnels en informatique

    Liste des balises BB

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2015
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2015
    Messages : 47
    Par défaut
    Ce n'est pas très nouveau, cela s'apparente fortement à ce qui se fait conceptuellement en trading haute fréquence où le kernel est écarté et le user land accède directement au matériel avec des algorithmes adaptés pour maximiser le débit et minimiser l'impact kernel, et le surchage des interruptions.

    Comme le noyau linux n'est adapté à aucun workload particulier si ce n'est celui que de partager le temps CPU entre différentes tâches et d'interfacer ces tâches avec le matériel, le design peut être souvent contre productif quand la workload souffre du travail du noyau, basé sur des choix assez anciens et ne correspondant plus aux réalités matérielles contemporaines.

Discussions similaires

  1. Valve propose des modifications du noyau Linux pour le rendre plus « game-friendly »
    Par Christian Olivier dans le forum Développement 2D, 3D et Jeux
    Réponses: 5
    Dernier message: 05/08/2019, 12h10
  2. Noyau Linux 2.6
    Par c-ve dans le forum Administration système
    Réponses: 3
    Dernier message: 21/12/2006, 00h09
  3. Un warning pendant la phase d execution du noyau linux
    Par Djo00 dans le forum Administration système
    Réponses: 9
    Dernier message: 15/07/2006, 02h57
  4. Problème d'execution du noyau linux sur 1 carte
    Par Djo00 dans le forum Administration système
    Réponses: 4
    Dernier message: 12/07/2006, 13h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo