Abstracting Hardware Architectures for Agile Design of High-performance Applications on FPGA - Techniques of Informatics and Microelectronics for integrated systems Architecture Accéder directement au contenu
Thèse Année : 2022

Abstracting Hardware Architectures for Agile Design of High-performance Applications on FPGA

Abstractions d'architectures matérielles pour une conception Agile d'applications performantes sur FPGA

Jean Bruant
  • Fonction : Auteur
  • PersonId : 1235064
  • IdRef : 268368201

Résumé

In a context of ever-growing worldwide communication traffic and fast deployment of IoT devices, network attacks have become a daily challenge with record-breaking throughput levels. Compared to software solutions based on general purpose CPUs, FPGA-based mitigation appliances appear as an energy-efficient alternative which combines configurability with guaranteed high-throughput and low-latency. However, implementation of such dedicated hardware accelerators based on the register-transfer level (RTL) abstraction is a much slower and tedious process than functionally equivalent software developments. The latter have indeed benefited from the introduction of countless high-level paradigms over the past decades, whereas traditional hardware description languages (HDLs) have consistently remained rigid and verbose. As a result, the agility gap between hardware and software developments is expanding at a steady pace, leaving hardware design experts frustrated by the lack of re-usability of their carefully crafted architectures.This thesis tackles this generic hardware development issue within the context of high-performance networking appliance design at OVHcloud. Mimicking the successful trajectory of software evolution, it aims at leveraging a stack of abstraction levels to instill flexibility within hardware descriptions. As a key enabler, Hardware Construction Languages (HCLs) apply some existing software abstractions to hardware design, which permits descriptions of circuit generators with high-level software paradigms, such as object-oriented and functional programming. This thesis first exhibits the relevance of such software inherited paradigms to develop highly re-usable network functions, inspecting both implementation and design perspectives. Based on this strong base layer, we introduce an additional hardware-oriented abstraction focusing on high-performance pipelined applications. Finally, the integration ability of these novel design methodologies within existing HDL hierarchies is reviewed in details, yielding two final contributions aiming at ensuring a smooth cohabitation of both methodologies. The first one provides a direct path from existing HDL sources to their functionally equivalent HCL counterparts, thanks to an automated translation tool. This word-for-word translation is intended as the first step of an iterative manual upgrade to truly benefit from high-level abstractions of HCLs. The second one focuses on the smooth integration of HCL-generated hierarchies back into a top-level HDL hierarchy, which is a key acceptance factor for these new methodologies in long-running projects.
Dans un contexte de forte augmentation des communications numériques à travers le monde et de déploiement rapide de l'internet des objets (IoT), les attaques sur les réseaux de données sont devenues un défi quotidien avec des niveaux de trafic record. Par rapport aux solutions logicielles basées sur des processeurs généralistes, les dispositifs de mitigation construits à partir de FPGA apparaissent comme une alternative économe en énergie qui combine la configurabilité avec à la fois la garantie d'un haut débit et d'une faible latence. Cependant, la mise en œuvre de ces accélérateurs matériels dédiés, basée sur l'abstraction des circuits numériques au niveau registre (RTL), est un processus beaucoup plus lent et fastidieux que les développements logiciels fonctionnellement équivalents. Ces derniers ont en effet bénéficié de l'introduction de nombreux paradigmes de haut niveau au cours des dernières décennies, alors que les langages de description du matériel (HDL) traditionnels sont restés rigides et verbeux. En conséquence, l'écart d'agilité entre les développements matériels et logiciels se creuse à un rythme soutenu, laissant les experts en conception matérielle frustrés par le manque de réutilisabilité de leurs architectures si soigneusement élaborées.Cette thèse aborde ce problème générique au développement matériel dans le contexte de la conception d'équipements réseau haute-performance chez OVHcloud. En imitant la trajectoire réussie de l'évolution des langages logiciels, elle vise à tirer parti d'un empilement de niveaux d'abstraction pour insuffler de la flexibilité au sein des descriptions matérielles. En particulier, les langages de construction matérielle (HCL) appliquent déjà certaines abstractions logicielles à la conception matérielle, ce qui permet de décrire des générateurs de circuits avec des paradigmes logiciels de haut niveau, tels que la programmation orientée objet et fonctionnelle. Cette thèse montre d'abord la pertinence de l'utilisation de tels paradigmes hérités du monde logiciel pour développer des fonctionnalités réseau hautement réutilisables, en s'intéressant à la fois aux perspectives de mise en œuvre et de conception. Sur cette base, nous présentons une abstraction supplémentaire, spécifique aux développements matériels, qui se concentre sur les applications pipelinées à haute-performance. Enfin, la capacité d'intégration de ces nouvelles méthodologies de conception dans les hiérarchies HDL existantes est examinée en détail, ce qui donne lieu à deux contributions finales visant à assurer une cohabitation harmonieuse entre ces deux méthodologies de développement. Grâce à un outil de traduction automatique, la première fournit un chemin direct depuis des sources HDL existantes vers une version HCL fonctionnellement équivalente. Cette traduction mot à mot est conçue comme la première étape d'une mise à niveau manuelle et itérative pour réellement bénéficier des abstractions de haut niveau fournies par les HCL.La seconde se concentre sur l'intégration sans accrocs des hiérarchies générées par les HCL dans une hiérarchie HDL, ce qui constitue un facteur d'acceptation essentiel de ces nouvelles méthodologies dans les projets au long cours.
Fichier principal
Vignette du fichier
BRUANT_2022_archivage.pdf (4.31 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)

Dates et versions

tel-04019979 , version 1 (08-03-2023)

Identifiants

  • HAL Id : tel-04019979 , version 1

Citer

Jean Bruant. Abstracting Hardware Architectures for Agile Design of High-performance Applications on FPGA. Micro and nanotechnologies/Microelectronics. Université Grenoble Alpes [2020-..], 2022. English. ⟨NNT : 2022GRALT096⟩. ⟨tel-04019979⟩

Collections

UGA CNRS TIMA STAR
97 Consultations
176 Téléchargements

Partager

Gmail Facebook X LinkedIn More