Les GPU feraient de formidables moniteurs réseau
Dédiés initialement au traitement des données graphiques, les GPU en augmentant leurs performances gagnent de nouveaux débouchés. Nvidia s'est fait une spécialité des calculs massivement parallèles en utilisant la puissance des composants de ces cartes graphiques.
Selon une récente étude du Fermilab (laboratoire du Ministère américain de l'énergie), la solution Nvidia GPU pourrait facilement gérer en temps réel le trafic d'un réseau de 10 Gbps grâce à une nouvelle utilisation des processeurs graphiques (GPU). Pour Wu Wenji, chercheur réseau au Fermilab, si les analyseurs de protocoles réseaux étaient basés sur un GPU, ils pourraient s'adapter au trafic croissant des grands réseaux actuels. A cela s'ajoutent les besoins de plus en plus pressants des administrateurs réseaux de pouvoir consulter les données opérationnelles en temps réel.
Pour le traitement, les applications de surveillance actuelles s'appuient généralement soit sur les processeurs x86 standards, soit sur les clients ASIC. Les deux architectures ont leur limites ajoute Wu Wenji. Les processeurs centraux (CPU) n'ont pas la capacité de mémoire ou la puissance suffisante pour gérer les plus grands réseaux en temps réel, et peuvent donc perdre des paquets. Les ASIC peuvent avoir une mémoire et une puissance suffisante, mais leur architecture spécifique est complexe et couteuse à programmer. Ils n'ont pas la capacité à séparer les fonctions de traitements en taches parallèles, ce qui devient de plus en plus indispensable pour être à la hauteur des réseaux haut débit.
Sur le même sujetDe nouvelles puces Qualcomm pour réseaux LTEUn système 17 fois plus performant
Pour Wu Wenji, les processeurs graphiques, en revanche,ont toutes ces capacités. Ils possèdent un très bon modèle d'exécution parallèle, offrent une bande passante avec haute capacité de mémoire, sont faciles à programmer, et peuvent distribuer le processus de gestion par paquets sur de multiples processeurs centraux. L'architecture des processeurs graphiques est composée de différents processeurs travaillant en tandem, et sont aussi utiles en tant que coprocesseurs car ils sont performants pour des taches intrinsèquement parallélisables.
La surveillance des réseaux implique de lire tous les paquets de données qui transitent par le réseau, "ce qui nécessite beaucoup de parallélisme de données", ajoute Wu Wenji. Il a construit un prototype à Fermilab afin de démontrer la faisabilité d'un moniteur réseau pour gérer le trafic sur la base d'un GPU, en utilisant le GPU Nvidia M2070 et une carte d'interface réseau prête à l'emploi. Il pense que ce système pourrait facilement être étendu en ajoutant d'autres GPU. De cette manière, la gestion par paquets pourrait être considérablement accélérée. Par rapport à une surveillance réseau basée sur un microprocesseur central, la performance du système GPU est multipliée par 17, et par trois par rapport à un microprocesseur à six coeurs.
Les fabricants d'applications de surveillance réseau pourraient alors augmenter leur prix et diminuer leurs couts de développement en utilisant des modèles pré existants de programmation GPU tel que le framework Nvidia CUDA (Compute Unified Device Architecture) conclut Wu Wenji.