Linux, prêt pour le 100 Gigabit Ethernet ?
Dans le cadre du rassemblement Linux Conf Au 2015 (en Nouvelle-Zélande), Jesper Brouer, ingénieur chez Red Hat, a fait un point sur l'utilisation de systèmes Linux pour piloter des cartes réseau à 100 Gb/s.
Avec des paquets de 1538 octets, il faut être en mesure de traiter 8,15 millions de paquets par seconde pour saturer une interface Ethernet à 100 Gb/s. Un délai de 123 ns est disponible entre chaque paquet. C'est très peu. Sur une machine à 3 GHz, Jesper Brouer a noté que ce délai correspondait à environ 201 cycles processeur, sachant qu'il convient de ne pas rater son coup, un simple défaut de cache (cache miss) mettant 32 ns à être résolu.
Les 100 Gb/s dépassés. mais pas en production
Grâce aux avancées ajoutées récemment au noyau Linux, l'ingénieur de Red Hat a réussi à traiter 14,8 millions de paquets par seconde. Pari réussi ? Non, car il s'agissait ici d'un unique paquet de petite taille, envoyé en boucle. Aucun accès mémoire n'était donc fait par le processeur.
La tâche semble encore plus ardue lorsqu'il est question de recevoir des informations. Dans le meilleur des cas, le serveur de test ne dépasse pas les 6,5 millions de paquets par seconde. Un développeur aurait toutefois réussi à optimiser ce processus pour atteindre les 9,4 millions.
Lire aussi : PaaS et multicloud, une antinomie ?
Sur un serveur en charge, les performances resteront nettement en dessous des résultats obtenus en laboratoire par Red Hat. La saturation d'un lien à 100 Gb/s ne semble donc pas encore à la portée des machines Linux x86. Il est possible toutefois que les concepteurs de puces décident de donner un coup de pouce à Linux, en intégrant des accélérateurs réseau à leurs processeurs.
À lire aussi :
Red Hat finalise son offre Linux pour Power8
Linux 3.18 : de meilleures performances, mais toujours des problèmes
SUSE propose des correctifs noyau applicables à chaud pour son OS Linux
Crédit photo : © isaak55 - Shutterstock
Sur le même thème
Voir tous les articles Actualités