Sujet : Architecture Numérique de gestion de trafic
La réseautique est présentement à la croisée des chemins : le débit des liens croit de façon exponentielle (100 Gbits/s aujourd’hui, 400 Gbits/s en développement et 1 Tbits/s en voie de standardisation) alors que l’industrie électronique fait face à des défis grandissants (en particulier, la loi de Moore qui s’essouffle et la loi de Dennard qui est devenue obsolète). Il devient donc de plus en plus difficile de traiter les paquets à la pleine vitesse des liens. Pour y parvenir, le langage DSL P4 et des architectures matérielles ont été conçus afin de maximiser la vitesse de traitement des paquets.
P4 a comme objectif de devenir le langage de programmation des équipements réseaux pour arriver à optimiser la gestion des différents trafics qui y circulent. Comme l’objectif premier est d’utiliser les liens à leur pleine capacité, ce langage ne peut exprimer que des traitements très simples.
Avec l’expérience acquise au cours des dernières années, l'ambition de nos travaux de recherche est d’augmenter la capacité de représentation du langage P4 de façon à mieux rencontrer les besoins de l’industrie et des réseaux de demain. Une de nos pistes de recherche est de permettre à ce langage le support de composants matériels en y introduisant de nouvelles fonctionnalités. Afin d’y parvenir, il est au préalable nécessaire de pouvoir générer à partir d’une description écrite en P4, une description synthétisable d’un composant matériel.
Dans ce contexte, le stage proposé consiste à concevoir une architecture de gestion de trafic qui soit compatible avec les architectures de traitement de paquets courantes. Cette architecture devra fonctionner avec une fréquence d’horloge élevée et être fortement pipelinée afin de recevoir un nouveau paquet à chaque cycle d’horloge. Un travail d’état de l’art des algorithmes de gestion existant afin d’en déduire les primitives à mettre en œuvre sera à réaliser. A l'aide de l’identification de ces primitives, une architecture numérique permettant leur exécution sous contraintes sera développée. Une piste suivie sera la configuration de cette architecture pour lui permettre de
supporter tous les algorithmes.
Lieu et Moyens :
Le stage se déroulera dans au sein du département d’ingénierie informatique de Polytechnique Montréal. Les outils utilisés seront des PC sous Linux, les outils Intel pour la conception FPGA. Les outils d’analyse syntaxique lex, yacc, bison et les compilateur gcc et llvm.
Encadrement du Stage : Normand Bélanger Courriel :
[email protected] Adresse :
Département d’ingénierie Electrique
Polytechnique Montréal - 2900, boul. Édouard-Montpetit Campus de l'Université de Montréal
2500, chemin de Polytechnique Montréal (Québec) - H3T 1J4 - Canada
Sujet : Intégration du traitement basé sur un état dans P4
La réseautique est présentement à la croisée des chemins : le débit des liens croit de façon exponentielle (100 Gbits/s aujourd’hui, 400 Gbits/s en développement et 1 Tbits/s en voie de standardisation) alors que l’industrie électronique fait face à des défis grandissants (en particulier, la loi de Moore qui s’essouffle et la loi de Dennard qui est devenue obsolète). Il devient donc de plus en plus difficile de traiter les paquets à la pleine vitesse des liens. Pour y parvenir, le langage DSL P4 et des architectures matérielles ont été conçus afin de maximiser la vitesse de traitement des paquets.
P4 a comme objectif de devenir le langage de programmation des équipements réseaux pour arriver à optimiser la gestion des différents trafics qui y circulent. Comme l’objectif premier est d’utiliser les liens à leur pleine capacité, ce langage ne peut exprimer que des traitements très simples.
Avec l’expérience acquise au cours des dernières années, l'ambition de nos travaux de recherche est d’augmenter la capacité de représentation du langage P4 de façon à mieux rencontrer les besoins de l’industrie et des réseaux de demain. Une de nos pistes de recherche est de permettre à ce langage le support de composants matériels en y introduisant de nouvelles fonctionnalités. Afin d’y parvenir, il est au préalable nécessaire de pouvoir générer à partir d’une description écrite en P4, une description synthétisable d’un composant matériel.
Dans ce contexte, le stage proposé consiste à modifier le langage P4 afin de pouvoir supporter le traitement basé sur un état. La version actuelle du langage P4 n’inclut pas un support suffisant pour obtenir un traitement performant basé sur un état. Elle ne permet pas, notamment, de conserver en mémoire un état et de traiter les paquets efficacement en fonction de cet état. Le travail comprendra l’ajout des structures nécessaires au langage et à l’analyseur syntaxique du compilateur P4 et la modification de la partie du compilateur p4c qui génère le code de façon à supporter efficacement ce
type de traitement en matériel.
Lieu et Moyens :
Le stage se déroulera dans au sein du département d’ingénierie informatique de Polytechnique Montréal. Les outils utilisés seront des PC sous Linux, les outils Intel pour la conception FPGA. Les outils d’analyse syntaxique lex, yacc, bison et les compilateur gcc et llvm.
Encadrement du Stage : Normand Bélanger Courriel :
[email protected] Adresse :
Département d’ingénierie Electrique
Polytechnique Montréal - 2900, boul. Édouard-Montpetit Campus de l'Université de Montréal
2500, chemin de Polytechnique Montréal (Québec) - H3T 1J4 - Canada
Sujet : Gestion du trafic dans P4
La réseautique est présentement à la croisée des chemins : le débit des liens croit de façon exponentielle (100 Gbits/s aujourd’hui, 400 Gbits/s en développement et 1 Tbits/s en voie de standardisation) alors que l’industrie électronique fait face à des défis grandissants (en particulier, la loi de Moore qui s’essouffle et la loi de Dennard qui est devenue obsolète). Il devient donc de plus en plus difficile de traiter les paquets à la pleine vitesse des liens. Pour y parvenir, le langage DSL P4 et des architectures matérielles ont été conçus afin de maximiser la vitesse de traitement des paquets.
P4 a comme objectif de devenir le langage de programmation des équipements réseaux pour arriver à optimiser la gestion des différents trafics qui y circulent. Comme l’objectif premier est d’utiliser les liens à leur pleine capacité, ce langage ne peut exprimer que des traitements très simples.
Avec l’expérience acquise au cours des dernières années, l'ambition de nos travaux de recherche est d’augmenter la capacité de représentation du langage P4 de façon à mieux rencontrer les besoins de l’industrie et des réseaux de demain. Nous nous intéressons ici à la gestion de trafic réseau qui n’a pas été considérée lors de la conception du langage. Cette gestion requiert des opérations très différentes de celle de la classification de paquets qui est la principale opération effectuée dans un programme P4 typique.
Dans ce contexte, le stage proposé consiste à ajouter au langage P4 des abstractions permettant de gérer le trafic réseau. Ces abstractions doivent permettre de décrire des algorithmes de gestion de trafic classiques en P4. Elles seront mises en œuvre à travers leur intégration dans le
compilateur p4c.
Lieu et Moyens :
Le stage se déroulera dans au sein du département d’ingénierie informatique de Polytechnique Montréal. Les outils utilisés seront des PC sous Linux, les outils Intel pour la conception FPGA. Les outils d’analyse syntaxique lex, yacc, bison et les compilateur gcc et llvm.
Encadrement du Stage : Normand Bélanger Courriel :
[email protected] Adresse :
Département d’ingénierie Electrique
Polytechnique Montréal - 2900, boul. Édouard-Montpetit Campus de l'Université de Montréal
2500, chemin de Polytechnique Montréal (Québec) - H3T 1J4 - Canada
Sujet : Générateur JSON2VHDL
La réseautique est présentement à la croisée des chemins : le débit des liens croit de façon exponentielle (100 Gbits/s aujourd’hui, 400 Gbits/s en développement et 1 Tbits/s en voie de standardisation) alors que l’industrie électronique fait face à des défis grandissants (en particulier, la loi de Moore qui s’essouffle et la loi de Dennard qui est devenue obsolète). Il devient donc de plus en plus difficile de traiter les paquets à la pleine vitesse des liens. Pour y parvenir, le langage DSL P4 et des architectures matérielles ont été conçus afin de maximiser la vitesse de traitement des paquets.
P4 a comme objectif de devenir le langage de programmation des équipements réseaux pour arriver à optimiser la gestion des différents trafics qui y circulent. Comme l’objectif premier est d’utiliser les liens à leur pleine capacité, ce langage ne peut exprimer que des traitements très simples.
Avec l’expérience acquise au cours des dernières années, l'ambition de nos travaux de recherche est d’augmenter la capacité de représentation du langage P4 de façon à mieux rencontrer les besoins de l’industrie et des réseaux de demain. Une de nos pistes de recherche est de permettre à ce langage le support de composants matériels en y introduisant de nouvelles fonctionnalités. Afin d’y parvenir, il est au préalable nécessaire de pouvoir générer à partir d’une description écrite en P4, une description synthétisable d’un composant matériel.
Dans ce contexte, le stage proposé consiste à concevoir un générateur de code qui traduira une représentation intermédiaire de type JSON (https://www.json.org/json-en.html) en une version VHDL synthétisable. La représentation JSON est produite par le compilateur p4c (https://p4.org/assets/p4-ws-2017-p4-compiler.pdf).
Lieu et Moyens :
Le stage se déroulera dans au sein du département d’ingénierie informatique de Polytechnique Montréal. Les outils utilisés seront des PC sous Linux, les outils Intel pour la conception FPGA. Les outils d’analyse syntaxique lex, yacc, bison et les compilateur gcc et llvm.
Encadrement du Stage : Normand Bélanger Courriel :
[email protected] Adresse :
Département d’ingénierie Electrique
Polytechnique Montréal - 2900, boul. Édouard-Montpetit Campus de l'Université de Montréal
2500, chemin de Polytechnique Montréal (Québec) - H3T 1J4 - Canada
Sujet : Architecture Numérique pour le traitement basé état
La réseautique est présentement à la croisée des chemins : le débit des liens croit de façon exponentielle (100 Gbits/s aujourd’hui, 400 Gbits/s en développement et 1 Tbits/s en voie de standardisation) alors que l’industrie électronique fait face à des défis grandissants (en particulier, la loi de Moore qui s’essouffle et la loi de Dennard qui est devenue obsolète). Il devient donc de plus en plus difficile de traiter les paquets à la pleine vitesse des liens. Pour y parvenir, le langage DSL P4 et des architectures matérielles ont été conçus afin de maximiser la vitesse de traitement des paquets.
P4 a comme objectif de devenir le langage de programmation des équipements réseaux pour arriver à optimiser la gestion des différents trafics qui y circulent. Comme l’objectif premier est d’utiliser les liens à leur pleine capacité, ce langage ne peut exprimer que des traitements très simples.
Avec l’expérience acquise au cours des dernières années, l'ambition de nos travaux de recherche est d’augmenter la capacité de représentation du langage P4 de façon à mieux rencontrer les besoins de l’industrie et des réseaux de demain. Une de nos pistes de recherche est de permettre à ce langage le support de composants matériels en y introduisant de nouvelles fonctionnalités. Afin d’y parvenir, il est au préalable nécessaire de pouvoir générer à partir d’une description écrite en P4, une description synthétisable d’un composant matériel.
Dans ce contexte, le stage proposé consiste à modifier le matériel généré pour permettre un traitement selon l’état. Une piste à considérer sera de partager les mémoires sur la puce entre les fonctions de recherche et celle de traitement basé sur l’état. L'objectif principal est de rendre plus performant la gestion de l’état. Pour l’atteindre un module générique de machine à état finis en VHDL sera développé.
Lieu et Moyens :
Le stage se déroulera dans au sein du département d’ingénierie informatique de Polytechnique Montréal. Les outils utilisés seront des PC sous Linux, les outils Intel pour la conception FPGA. Les outils d’analyse syntaxique lex, yacc, bison et les compilateur gcc et llvm.
Encadrement du Stage : Normand Bélanger Courriel :
[email protected] Adresse :
Département d’ingénierie Electrique
Polytechnique Montréal - 2900, boul. Édouard-Montpetit Campus de l'Université de Montréal
2500, chemin de Polytechnique Montréal (Québec) - H3T 1J4 - Canada
Sujet : Compilateur matériel P4
La réseautique est présentement à la croisée des chemins : le débit des liens croit de façon exponentielle (100 Gbits/s aujourd’hui, 400 Gbits/s en développement et 1 Tbits/s en voie de standardisation) alors que l’industrie électronique fait face à des défis grandissants (en particulier, la loi de Moore qui s’essouffle et la loi de Dennard qui est devenue obsolète). Il devient donc de plus en plus difficile de traiter les paquets à la pleine vitesse des liens. Pour y parvenir, le langage DSL P4 et des architectures matérielles ont été conçus afin de maximiser la vitesse de traitement des paquets.
P4 a comme objectif de devenir le langage de programmation des équipements réseaux pour arriver à optimiser la gestion des différents trafics qui y circulent. Comme l’objectif premier est d’utiliser les liens à leur pleine capacité, ce langage ne peut exprimer que des traitements très simples.
Avec l’expérience acquise au cours des dernières années, l'ambition de nos travaux de recherche est d’augmenter la capacité de représentation du langage P4 de façon à mieux rencontrer les besoins de l’industrie et des réseaux de demain. Une de nos pistes de recherche est de permettre à ce langage le support de composants matériels en y introduisant de nouvelles fonctionnalités. Afin d’y parvenir, il est au préalable nécessaire de pouvoir générer à partir d’une description écrite en P4, une description synthétisable d’un composant matériel.
Dans ce contexte, le stage proposé consiste à assembler différents éléments logiciels existants pour créer un compilateur qui génèrera un module synthétisable matériel intégrable dans un FPGA.
L’équipe a déjà conçu différents modules, une des tâches à réaliser consiste à concevoir les modules manquants pour arriver à une première version de ce compilateur matériel.
Lieu et Moyens :
Le stage se déroulera dans au sein du département d’ingénierie informatique de Polytechnique Montréal. Les outils utilisés seront des PC sous Linux, les outils Intel pour la conception FPGA. Les outils d’analyse syntaxique lex, yacc, bison et les compilateur gcc et llvm.
Encadrement du Stage : Normand Bélanger Courriel :
[email protected] Adresse :
Département d’ingénierie Electrique
Polytechnique Montréal - 2900, boul. Édouard-Montpetit Campus de l'Université de Montréal
2500, chemin de Polytechnique Montréal (Québec) - H3T 1J4 - Canada