Porteur : Lavinal, Emmanuel

Organisation : Université de Toulouse, IRIT

Année : M2

Mots-clé : In-Network Computing, IoT massif, Réseaux programmables, P4

Nom du projet : In-Network Computing pour l'IoT massif

Description

L’essor de l’Internet des objets conduit à la génération continue de volumes importants de données, souvent produites par des milliers de capteurs et remontées vers des infrastructures edge ou cloud pour y être stockées et analysées. Dans les architectures classiques, les équipements réseau se contentent essentiellement d’acheminer ces données. Les approches de In-Network Computing (INC) proposent au contraire d’exploiter les capacités de calcul offertes par des équipements réseau programmables afin de réaliser directement dans le réseau certaines opérations simples : filtrage, agrégation, calcul de minimum ou de maximum, comptage, somme de valeurs, etc. Une telle approche peut permettre de réduire le volume de données transmis vers le cloud et de décharger les serveurs de traitements répétitifs, ce qui présente un intérêt particulier dans les contextes d’IoT massif.

L’objectif de ce projet est de concevoir et d’évaluer une architecture INC dans laquelle plusieurs passerelles IoT collectent les données issues de capteurs, réalisent l’adaptation des protocoles applicatifs utilisés (par exemple MQTT) puis exportent ces données dans un format de télémétrie commun, simple et adapté au traitement par le réseau. Les étudiants devront définir ce format et concevoir les mécanismes permettant à un commutateur programmable en P4 d’effectuer des traitements directement sur les flux de télémétrie provenant de plusieurs passerelles. Le projet abordera notamment la gestion d’états dans le plan de données et la réalisation d’agrégations sur des fenêtres temporelles, problématique non triviale dans un équipement réseau fonctionnant au rythme des paquets.

Le travail comprendra une étude bibliographique sur l’In-Network Computing, les plans de données programmables et le langage P4 [1], suivie de la conception de l’architecture et de son évaluation expérimentale. Le prototype ciblera en priorité des commutateurs logiciels programmables basés sur BMv2 [2], afin de faciliter le développement et l’expérimentation. Si l’avancement du projet le permet, les mécanismes proposés pourront ensuite être portés et évalués sur une infrastructure matérielle programmable accessible via la plateforme Grid’5000. Les expérimentations viseront notamment à étudier la faisabilité et les limites des traitements envisagés, ainsi que les gains potentiels en termes de réduction du trafic vers l’edge/cloud, de charge de calcul et de passage à l’échelle.

[1] p4 . org/ [2] github . com/p4lang/behavioral-model

Resources supplémentaires

Article proposé par H. Cassé.