Linux : 30 lignes de code pour améliorer les performances réseaux du kernel
Une équipe de chercheurs du Cheriton School of Computer Science a publié un travail sur le noyau Linux : 30 lignes de codes améliorent l'efficacité du noyau de 30 %. Cela signifie de meilleures performances, une consommation énergétique moindre. Ce travail se concentre sur l'efficacité du trafic réseau et commencer le noyau gère le réseau avec des applications serveur très exigeantes. L'amélioration de 30 % est à nuancer...Ce travail se concentre sur un réagencement des opérations réseaux dans le pile réseau de Linux : meilleure efficacité résau, un noyau moins chargé, des trafics réseaux plus fluides. Tout cela contribue à réduire la charge du noyau et donc les besoins en ressources. « Nous n’avons rien ajouté », a déclaré le professeur Karsten. « Nous avons simplement réorganisé ce qui doit être fait et quand, ce qui conduit à une bien meilleure utilisation des caches CPU du centre de données. C’est un peu comme réorganiser le pipeline d’une usine de fabrication, de sorte que les gens ne courent pas partout en permanence. » L'autre défi était de soumettre à la communauté ce "patch". Et il fallait passer de la théorie à la pratique. Karsten a travaillé avec Joe Damato, ingénieur chez Fastly, pour développer le code qui ne soient pas intrusives au noyau. Ce code a été publié dans la version 6.13. Au coeur de ce changement, il y a un travail autour de l'IRQ qui permet d'équilibrer les interruptions CPU non nécessaires. Ce mécanisme améliore la latence lorsque le trafic est réduit mais tout aussi efficace en cas de trafic réseau intense."Cette modification introduit un nouveau mécanisme, la suspension IRQ, qui permet aux applications réseau utilisant epoll de masquer les IRQ pendant les périodes de trafic élevé tout en réduisant la latence de queue (par rapport aux mécanismes existants) pendant les périodes de faible trafic. Ce faisant, cela équilibre la consommation du processeur avec l'efficacité du traitement du réseau." précise la note de soumission. Cheriton School évoque jusqu'à 30 % d'amélioration énergétique dans les datacenters mais sans réellement détaillé comment le calcul est fait. En réalité, cette amélioration permet d'améliorer les performances réseaux et donc de mieux exploiter l'infrastructure réseau (serveur, CPU, switch, etc.) et dans le même temps de moins chargé le noyau (et non les processeurs et les serveurs). Code complet de la modification avec les explications détaillées : https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=80b6f094756fCatégorie actualité: OS - HardwareLinux, kernelImage actualité AMP:
Une équipe de chercheurs du Cheriton School of Computer Science a publié un travail sur le noyau Linux : 30 lignes de codes améliorent l'efficacité du noyau de 30 %. Cela signifie de meilleures performances, une consommation énergétique moindre. Ce travail se concentre sur l'efficacité du trafic réseau et commencer le noyau gère le réseau avec des applications serveur très exigeantes. L'amélioration de 30 % est à nuancer...
Ce travail se concentre sur un réagencement des opérations réseaux dans le pile réseau de Linux : meilleure efficacité résau, un noyau moins chargé, des trafics réseaux plus fluides. Tout cela contribue à réduire la charge du noyau et donc les besoins en ressources. « Nous n’avons rien ajouté », a déclaré le professeur Karsten. « Nous avons simplement réorganisé ce qui doit être fait et quand, ce qui conduit à une bien meilleure utilisation des caches CPU du centre de données. C’est un peu comme réorganiser le pipeline d’une usine de fabrication, de sorte que les gens ne courent pas partout en permanence. »
L'autre défi était de soumettre à la communauté ce "patch". Et il fallait passer de la théorie à la pratique. Karsten a travaillé avec Joe Damato, ingénieur chez Fastly, pour développer le code qui ne soient pas intrusives au noyau. Ce code a été publié dans la version 6.13.
Au coeur de ce changement, il y a un travail autour de l'IRQ qui permet d'équilibrer les interruptions CPU non nécessaires. Ce mécanisme améliore la latence lorsque le trafic est réduit mais tout aussi efficace en cas de trafic réseau intense.
"Cette modification introduit un nouveau mécanisme, la suspension IRQ, qui permet aux applications réseau utilisant epoll de masquer les IRQ pendant les périodes de trafic élevé tout en réduisant la latence de queue (par rapport aux mécanismes existants) pendant les périodes de faible trafic. Ce faisant, cela équilibre la consommation du processeur avec l'efficacité du traitement du réseau." précise la note de soumission.
Cheriton School évoque jusqu'à 30 % d'amélioration énergétique dans les datacenters mais sans réellement détaillé comment le calcul est fait. En réalité, cette amélioration permet d'améliorer les performances réseaux et donc de mieux exploiter l'infrastructure réseau (serveur, CPU, switch, etc.) et dans le même temps de moins chargé le noyau (et non les processeurs et les serveurs).
Code complet de la modification avec les explications détaillées : https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=80b6f094756f