Dilemme SDN: mise en réseau du noyau Linux vs contournement du noyau

Sujal Das est directeur de la stratégie et du marketing chez Netronome, un fournisseur de solutions de co-traitement x86 hautes performances pour la mise en réseau, la sécurité, l'équilibrage de charge, la virtualisation et le SDN.

Si nous avons appris quelque chose dans le domaine de la technologie au cours des 25 dernières années, ce serait de ne jamais sous-estimer le noyau Linux. Pourquoi, alors, tant de sociétés de réseautage ont-elles été si désireuses de contourner le noyau Linux - ou plus précisément, la pile de réseau du noyau Linux? Qu'est-ce qui pourrait être si mal avec les artères de paquets réseau dans le noyau Linux qui motivent tant d'entre nous à les contourner?

Il y a deux principales raisons. Premièrement, la pile réseau du noyau est trop lente - et le problème ne fait que s'aggraver avec l'adoption d'un réseau plus rapide dans les serveurs et les commutateurs (10GbE, 25GbE et 40GbE aujourd'hui, et passant à 50GbE et 100GbE dans un proche avenir) . Deuxièmement, la gestion du réseau en dehors du noyau permet de brancher une nouvelle technologie sans avoir besoin de changer le code du noyau Linux.

Pour ces deux raisons, et avec l'avantage supplémentaire que de nombreuses technologies de contournement du noyau sont open source et / ou spécifiées par des organismes de normalisation, les partisans des solutions de contournement continuent de pousser les opérateurs de centres de données à les adopter.

Solutions de contournement du noyau

Nous avons vu de nombreuses solutions de contournement du noyau dans le passé, notamment RDMA (Remote Direct Memory Access), TOE (TCP Offload Engine) et OpenOnload. Plus récemment, DPDK (Data Plane Development Kit) a été utilisé dans certaines applications pour contourner le noyau, puis il y a de nouvelles initiatives émergentes telles que FD.io (Fast Data Input Output) basé sur VPP (Vector Packet Processing). D'autres émergeront probablement à l'avenir.

Des technologies comme RDMA et TOE créent une pile parallèle dans le noyau et résolvent le premier problème (à savoir, le "noyau est trop lent") tandis qu'OpenOnload, DPDK et FD.io (basé sur VPP) déplacent le réseau dans l'espace utilisateur Linux pour résoudre les deux exigences relatives à la vitesse et au plug-in technologique. Lorsque les technologies sont construites dans l'espace utilisateur Linux, le besoin de modifications du noyau est évité, éliminant l'effort supplémentaire requis pour convaincre la communauté du noyau Linux de l'utilité des technologies de contournement et de leur adoption via l'amont dans le noyau Linux.

Netronome

Défis de contournement du noyau

Les défis liés à l'adoption de piles parallèles en dehors de la pile réseau du noyau sont évidents pour les opérateurs de centres de données confrontés à la mise à l'échelle de leur infrastructure vers un très grand nombre de serveurs. Les piles de réseaux parallèles s'accompagnent d'une liste apparemment interminable de problèmes de sécurité, de gérabilité, de robustesse, de verrouillage du fournisseur de matériel et de compatibilité de protocole.

Par exemple, il existe des implémentations d'Open vSwitch et d'OpenContrail qui utilisent DPDK comme approche de contournement du noyau. Les implémentations DPDK sont limitées de deux manières. Premièrement, il est difficile et parfois impossible de faire évoluer les fonctionnalités rapidement et en même temps que les innovations logicielles open source basées sur le noyau. Deuxièmement, bien que les niveaux de performances et de sécurité requis par les machines virtuelles et les applications puissent être fournis, cela nécessite un nombre important de cœurs de processeur x86, ce qui réduit l'efficacité globale de l'infrastructure du centre de données.

Néanmoins, certains opérateurs de centres de données qui ont peut-être quelques centaines de serveurs à gérer et qui exécutent une seule application, comme les clusters de calcul haute performance ou de trading haute fréquence, peuvent trouver pratique d'utiliser de telles piles de contournement de noyau parallèles. La même chose s'applique aux clusters de stockage dédiés.

Mais le colmatage de la pile réseau du noyau peut-il être corrigé sans recourir à des piles de contournement parallèles? Oui il peut. La bonne façon de résoudre les deux problèmes ci-dessus serait de trouver des moyens d'accélérer les performances de la pile réseau du noyau de manière transparente, en utilisant du matériel réseau intelligent et sans aucun verrouillage du fournisseur.

Les SmartNIC cherchent à résoudre ces problèmes sans contourner le noyau. Les SmartNIC sont des NICS (cartes d'interface réseau) programmables, permettant aux fournisseurs qui fournissent de tels produits d'innover le matériel de réseau de serveurs à la vitesse du logiciel - une exigence pratique dans l'infrastructure de centre de données moderne définie par logiciel et compatible NFV.

Entrez SmartNICS

Les SmartNIC de Netronome fournissent à la fois des fonctionnalités NIC de base ou traditionnelles et des fonctionnalités avancées nécessaires aux fournisseurs de services de centres de données cloud et de télécommunications. Ces fonctionnalités avancées incluent la possibilité de décharger de riches fonctionnalités réseau, telles que celles fournies par les commutateurs virtuels et les routeurs virtuels utilisés dans les environnements de réseau définis par logiciel et les serveurs de calcul optimisés NFV. La possibilité de décharger ces fonctions de réseau intensives en calcul vers le SmartNIC améliore les performances et la sécurité des machines virtuelles, augmente le nombre d'applications pouvant être fournies par serveur et améliore globalement l'efficacité du centre de données. Les fonctionnalités de SmartNIC peuvent évoluer rapidement grâce aux innovations de mise en réseau open source, telles que Open vSwitch, OpenStack, OpenContrail et eBPF (Extended Berkeley Packet Filter) du projet IO Visor.

Les avantages du déploiement de SmartNIC ne se limitent pas à des performances accrues et à un ensemble de fonctionnalités plus riche. Il existe également d'importantes économies de coût total de possession, car les SmartNIC peuvent remplacer les cartes réseau traditionnelles utilisées dans les serveurs. Les SmartNIC sont proposés à des prix compétitifs par rapport aux NIC traditionnels et permettent de réaliser des économies significatives en libérant de précieuses ressources CPU de serveur pour les VM et les applications, augmentant ainsi l'efficacité du serveur. Étant donné que les serveurs consomment jusqu'à 60% des coûts totaux de l'infrastructure du centre de données, la capacité à prendre en charge des charges de travail plus importantes par serveur à l'aide des SmartNIC promet des économies importantes.

Les partisans du contournement du noyau aiment affirmer que les performances de mise en réseau des serveurs nécessaires dans les applications SDN et NFV peuvent être obtenues à l'aide de cœurs de processeur x86 hautes performances, et par conséquent, les cartes réseau traditionnelles sont tout ce qui est nécessaire. Mais dans les benchmarks pratiques et dans la vie réelle, les mécanismes de contournement du noyau peuvent nécessiter jusqu'à 24 cœurs de processeur pour obtenir les performances réseau requises. Cela consomme pratiquement tout le serveur uniquement pour la mise en réseau.

Les fournisseurs de SmartNIC sont pleinement d'accord sur le fait que les performances du réseau du noyau sont un réel problème qui ne fera qu'empirer à mesure que les opérateurs construiront des centres de données pour répondre aux demandes d'un nombre toujours croissant d'appareils mobiles et IoT. Mais ils ne croient pas que contourner le noyau du système d'exploitation résout le problème. Au lieu de cela, les tâches de traitement réseau intensives dans la pile réseau du noyau Linux doivent être déchargées vers les SmartNIC d'une manière indépendante du fournisseur, au lieu d'utiliser des implémentations qui aboutissent à des piles réseau parallèles et redondantes.

Les SmartNIC relèvent ces défis, déchargeant les implémentations de chemin de données réseau basées sur le noyau disponibles aujourd'hui et évoluant rapidement dans la communauté open source Linux au sens large. Les technologies de pile de noyau Linux telles que eBPF et le Traffic Classifier promettent de permettre aux fournisseurs de SmartNIC comme Netronome de s'en tenir à la pile de mise en réseau du noyau Linux et de permettre aux opérateurs de centre de données d'évoluer efficacement.

La recommandation catégorique de la communauté Linux a toujours été d'éviter le contournement du noyau. Comme toutes les idées fondamentales et simples, cette idée a prévalu dans le passé, est vraie aujourd'hui et le restera à l'avenir.

Le New Tech Forum offre un lieu pour explorer et discuter des technologies d'entreprise émergentes avec une profondeur et une ampleur sans précédent. La sélection est subjective, basée sur notre choix des technologies que nous pensons importantes et qui intéressent le plus les lecteurs. n'accepte pas les supports marketing pour la publication et se réserve le droit de modifier tout le contenu fourni. Envoyez toutes vos demandes à [email protected]