<  Retour au portail Polytechnique Montréal

Définition, spécification et génération automatique d'architectures de modules réseau ciblant des FPGA

Rajat Singh Rajput

Mémoire de maîtrise (2025)

Document en libre accès dans PolyPublie
[img]
Affichage préliminaire
Libre accès au plein texte de ce document
Conditions d'utilisation: Tous droits réservés
Télécharger (2MB)
Afficher le résumé
Cacher le résumé

Résumé

L’utilisation des langages de programmation pour optimiser toutes sortes de travaux com- plexes est la norme. Le langage P4 a besoin d’un tel support pour se développer avec l’aide de langages de haut niveau tel que le C++ et Python. En effet, il est présentement compliqué de réaliser des communications accélérées sur circuit logique programmable (FPGA) sans une seule manipulation manuelle du code en langage de description matériel (HDL). Dans cette étude, nous présentons une méthode de communication plus simple pour tous les utilisateurs d’externes des processeurs de paquets (P4). Notre objectif est d’utiliser des interfaces Python générées par une architecture personnalisée de P4. La génération automatique des interfaces va simplement permettre au programmeur de haut niveau d’avoir accès à des fonctionnali- tés de bas niveau sans avoir à programmer du HDL. C’est important, car généralement les programmeurs P4 ne connaissent pas ou ne veulent pas manipuler le HDL. La génération et l’interconnectivité des modules matériels pour les pipelines P4 sont effectuées sur une base automatique pour les utilisateurs d’externes qui veulent avoir plus de fonctionnalités dans leur réseau de communication. Les interfaces générées incluent l’accès direct à la mémoire (DMA) et l’interconnexion des composants périphériques, permettent la mise en œuvre de pont de communication multipériphériques flexibles. Les résultats de simulation valident la véritable fonctionnalité de notre méthodologie d’interface de pointe. En effet, une fonction ex- terne au programme P4 a été connectée à l’aide d’interface générée automatiquement. Cette fonction externe communique avec le pipeline P4 à travers les modules matériels générés. En plus d’améliorer l’efficacité de développement, ce projet a une faible consommation de ressources matérielles et la solution est fonctionnelle dans l’industrie, car celle-ci est validée par les outils d’Intel. La compilation avec Quartus des modules matériels générés à partir du compilateur d’Intel et celles générées par l’outil Python montre une utilisation de ressources de 1,81 % de la logique (table de recherche ou LUT) pour une puce Arria10. De plus, les ressources sont limitées à 1,62 % pour la mémoire (bloc de RAM) et 0,96 % pour les bascules (registres). La différence avec le pipeline sans interface générée est de 281 registres et 194 LUT, donc une différence de 1,64 % et de 4,54 % pour le nombre de registres et le nombre d’unités logique (LUT) respectivement. La méthode proposée est efficace pour l’utilisateur et améliore la flexibilité du langage P4.

Abstract

Optimizing and automating complex tasks is crucial in this world of fast advancement. In- deed, existing software-only programmable switches offer low performance, and those based on complex ASICs lack flexibility. The solution to this scientific concern was the arrival of the P4 packet processing language. Once again, developing networking hardware using traditional hardware description language is complex and time-consuming. P4 is a domain- specific language proposed to facilitate network equipment development and programmable switches. Software developers still consider the language to be missing some important exter- nal functions. This thesis proposes a simple communication method to extend software and ASIC-based switches to improve the performance of software switches and the flexibility of ASIC switches. The best way to visualize this scenario for a packet processing language like P4 is to have a flexible autogenerated communication procedure. The desired functionality is assumed to be expressed using the P4 language for all users of external packet processors (P4). We aim to use Python interfaces generated by a custom architecture in P4 and Python tools. Auto-generation of interfaces is proposed to reduce the development effort required from application developers to obtain hybrid solutions leveraging FPGAs. It is important because, generally, P4 programmers do not know or do not want to manipulate a hardware description language (HDL). The generation and interconnectivity of hardware modules for P4 pipelines are performed automatically. The proposed solution exploits direct memory access (DMA) and peripheral component interconnection interfaces to implement flexible multi-peripheral communication bridges. Simulation results validate the proper functional- ity of our state-of-the-art P4 interface methodology. Indeed, an external function to the P4 program was connected using an autogenerated interface. In addition to improving develop- ment efficiency, this project has low consumption of hardware resources, and the solution is functional in the industry because Intel tools validate it. Compiling with Quartus the hard- ware modules generated by Intel’s compiler and those generated by the Python tool show a resource usage of 1.81 % of the logic (lookup table or LUT) for an Arria10 chip. Additionally, resources are limited to 1.62 % for memory (RAM block) and 0.96 % for flip-flops (registers). The proposed method is efficient for the user and improves the flexibility of the P4 language. The difference with the pipeline without generated interface is 281 registers and 194 LUTs, so a difference of 1.64 % and 4.54 % for the number of registers and the number of logical units (LUT) respectively. The proposed method is efficient for the user and improves the flexibility of the P4 language.

Département: Département de génie électrique
Programme: Génie électrique
Directeurs ou directrices: François-Raymond Boyer et Yvon Savaria
URL de PolyPublie: https://publications.polymtl.ca/62574/
Université/École: Polytechnique Montréal
Date du dépôt: 22 août 2025 09:31
Dernière modification: 22 août 2025 11:41
Citer en APA 7: Singh Rajput, R. (2025). Définition, spécification et génération automatique d'architectures de modules réseau ciblant des FPGA [Mémoire de maîtrise, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/62574/

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Actions réservées au personnel

Afficher document Afficher document