Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

L'informatique en réseau

Par Fayçal SIDI ALI MEBAREK Publié le 26/03/2020 à 11:49:06 Noter cet article:
(0 votes)
En attente de relecture par le comité de lecture

Introduction

L'informatique en réseau est un nouveau domaine de recherche qui a émergé ces dernières années. L'informatique en réseau, également connue sous le nom de calcul en réseau ou NetCompute, désigne l'exécution de programmes s'exécutant généralement sur des hôtes finaux au sein de dispositifs de réseau.

L'informatique en réseau se concentre sur l'informatique au sein du réseau, en utilisant des dispositifs qui existent déjà au sein du système en réseau et qui sont déjà utilisés pour acheminer le trafic. Il diffère de l'utilisation historique de l'"informatique en réseau" qui faisait référence aux systèmes en réseau ou aux ordinateurs situés dans le réseau. La définition exclut également, par exemple, les accélérateurs connectés au réseau. La raison du choix de cette définition réside dans les implications du point de vue du système : l'informatique en réseau signifie que vous n'ajoutez pas de nouveaux appareils à votre réseau, car vous utilisez déjà des commutateurs et des cartes réseau. Par conséquent, les frais généraux de l'informatique en réseau sont minimes, car ils ne nécessitent pas d'espace, de coûts ou d'énergie supplémentaire. En outre, l'informatique en réseau réduit la charge du réseau, plutôt que de l'augmenter, en mettant fin aux transactions au fur et à mesure qu'elles transitent sur le réseau. À ce jour, l'informatique en réseau a été mise en œuvre sur trois catégories de dispositifs : les FPGA, les SmartNIC et les switch-ASIC.

L'introduction des commutateurs programmables ASIC et l'essor des SmartNIC ont été les moteurs de l'informatique en réseau. Dans le passé, les dispositifs de réseau étaient à fonction fixe et ne prenaient en charge que les fonctionnalités définies par leur fabricant. En revanche, les dispositifs de réseau programmables permettent aux utilisateurs de mettre en œuvre leur propre fonctionnalité tout en écrivant du code dans des langages de haut niveau. Aujourd'hui, le langage dominant utilisé dans ce domaine est le P4, un langage open-source spécifique à un domaine défini par le P4 Language Consortium. Au début, le langage était principalement utilisé pour définir de nouveaux protocoles et des fonctionnalités liées à la mise en réseau (par exemple, la télémétrie en bande sur réseau). Cependant, les chercheurs ont rapidement commencé à s'appuyer sur le langage et les plateformes pour porter des fonctionnalités plus complexes sur le réseau.

Cas d'utilisation

L'informatique en réseau a été appliquée à plusieurs catégories d'applications. La première classe est, comme on peut s'y attendre, les fonctions réseau telles qu'un équilibreur de charge, un serveur NAT ou DNS, mis en œuvre au sein d'un dispositif réseau. Une deuxième classe d'applications qui a fait ses preuves est la mise en cache, qui utilise le périphérique réseau pour répondre rapidement avec des valeurs mises en cache, par exemple pour des applications de stockage de valeurs clés. Une troisième catégorie d'applications appliquées à l'informatique en réseau est la réduction et l'agrégation de données, c'est-à-dire l'utilisation du dispositif de réseau pour agréger ou regrouper des données provenant de plusieurs sources, ainsi que pour réduire la quantité de données envoyées par le dispositif de réseau. L'utilisation de l'informatique en réseau n'est pas limitée à ces cas d'utilisation intuitive. Une classe intéressante d'applications est la coordination, par exemple par la mise en œuvre d'algorithmes de consensus au sein du réseau, y compris l'algorithme Paxos, et ses différents rôles. Plusieurs projets ont appliqué l'informatique en réseau à des cas d'utilisation interdisciplinaires, tels que l'accélération du traitement des flux, le traitement des requêtes ou l'équilibrage des charges pour les systèmes de stockage.

Les avantages du calcul en réseau

La principale promesse de l'informatique en réseau est la performance, tant en termes de débit que de latence. Aujourd'hui, de nombreux appareils en réseau prennent en charge une latence inférieure à la microseconde, avec une faible variance dans les scénarios non sursouscrits. Ce n'est toutefois pas la principale source d'économie de latence. Comme l'informatique en réseau se réfère au traitement au sein du réseau, cela signifie que les transactions sont terminées sur leur chemin plutôt que d'atteindre un hôte final, ce qui permet d'économiser la latence introduite par l'hôte final, ainsi que tous les appareils réseau sur le chemin du nœud informatique en réseau vers l'hôte final. La réduction de la latence est très importante, en particulier dans les environnements cloud, où les fournisseurs se battent pour apprivoiser la latence de queue.

Le deuxième avantage de performance, le débit, est une propriété de la vitesse de traitement des paquets. Les ASICs de commutation traitent aujourd'hui jusqu'à dix milliards de paquets par seconde, et peuvent donc potentiellement prendre en charge des milliards d'opérations par seconde par application déchargée. Cette catégorie de commutateurs est conçue comme des pipelines, c'est-à-dire des données en mouvement continu sans décrochage. Dans la plupart des cas, même si une opération (paquet) est bloquée (mise en file d'attente), par exemple, alors qu'elle est en concurrence sur des ressources partagées (congestion), les autres paquets continuent d'être servis. Les applications mises en œuvre à l'aide de l'informatique en réseau ont démontré une amélioration des performances de x10 000 par rapport à leurs homologues basées sur l'hôte.

Un avantage inattendu de l'informatique en réseau est l'efficacité énergétique. Si la puissance par watt des accélérateurs est un secret bien connu, les commutateurs de réseau sont notoirement considérés comme gourmands en énergie. De plus, ils ne sont pas proportionnels à la puissance, et consomment une quantité importante d'énergie même lorsqu'ils sont inactifs. Cependant, si l'on considère les opérations par watt, les commutateurs de réseau sont beaucoup plus attrayants, puisqu'ils permettent des millions d'opérations par watt, ce qui signifie pour certaines applications un rendement x1000 supérieur à celui des solutions logicielles. Par exemple, un million de requêtes de stockage de valeurs clés "coûtera" moins d'un watt sur un commutateur. Comme les commutateurs de réseau font partie du réseau d'un utilisateur, la majeure partie de la consommation d'énergie est déjà payée par l'envoi de paquets, et les frais généraux de l'informatique en réseau sont faibles, de l'ordre de plusieurs pour cent de la consommation d'énergie globale des commutateurs.

Défis

La mise en réseau est prometteuse, mais il reste encore beaucoup de défis à relever. Deux questions importantes sont les avantages de l'informatique en réseau lorsque le trafic est crypté, et les risques de sécurité présentés par l'informatique en réseau. En outre, l'architecture des dispositifs de réseau ne se prête pas facilement aux applications d'apprentissage machine. Alors que les systèmes exécutant l'apprentissage machine peuvent certainement bénéficier d'une accélération au sein du réseau, l'exécution de la formation au sein du réseau s'est avérée difficile jusqu'à présent, avec la mise en œuvre des premiers prototypes.

En outre, l'informatique en réseau est confrontée à plusieurs grands défis techniques. Le plus grand défi est probablement de pouvoir abstraire le matériel réseau des programmeurs. Bien que le P4 soit un langage déclaratif, il fonctionne toujours au niveau des paquets. Dans l'idéal, les programmeurs seront capables de coder en utilisant des abstractions de niveau supérieur. Le langage ne prend pas non plus en charge les opérations à états, les solutions actuelles étant spécifiques aux cibles. En outre, pour atteindre des performances élevées aujourd'hui, les programmeurs doivent connaître la cible matérielle et exploiter ses capacités dans leur code. Le portage entre différentes cibles matérielles de réseau n'est pas une tâche facile, et nécessite souvent un nombre important de modifications du code. Le portage du même code entre des cibles hétérogènes (par exemple, CPU, GPU, ASIC de commutation) sera une étape supplémentaire. Les outils de débogage joueront un rôle crucial dans le succès futur de l'informatique en réseau. Bien qu'il existe plusieurs outils de vérification formels, il est difficile de construire des débogueurs qui s'adaptent aux architectures des appareils en réseau et aux pipelines qui transportent des données (plutôt que des instructions).

Avec l'évolution de l'informatique en réseau, de nouveaux défis apparaissent, comme la virtualisation. Est-il possible d'exécuter plusieurs applications sur le même périphérique réseau ? Comment isoler les ressources ? Et quelle est la différence entre la virtualisation sur une unité centrale et sur un périphérique réseau ?

Conclusion

L'informatique en réseau est très prometteuse, mais elle doit aussi relever de nombreux défis. À ce jour, la plupart des recherches en informatique en réseau ont été menées par la communauté des réseaux, et il est nécessaire que d'autres communautés de recherche y participent. Des compilateurs et des abstractions, en passant par la programmation et l'allocation des ressources, jusqu'à la virtualisation et les nouveaux cas d'utilisation, il reste beaucoup à innover et à découvrir avant que l'informatique en réseau ne prenne sa place de citoyen de premier ordre dans l'environnement informatique hétérogène.

Bibliographie

https://www.sigarch.org/in-network-computing-draft/

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels