Thèse soutenue

Intégration matériel/logiciel sur FPGA à l'aide d'une stratégie de communication par messages

FR  |  
EN
Auteur / Autrice : Thomas Baumela
Direction : Frédéric PétrotOlivier Gruber
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 24/02/2021
Etablissement(s) : Université Grenoble Alpes
Ecole(s) doctorale(s) : École doctorale Mathématiques, sciences et technologies de l'information, informatique (Grenoble ; 1995-....)
Partenaire(s) de recherche : Laboratoire : Techniques de l’informatique et de la microélectronique pour l’architecture des systèmes intégrés (Grenoble, Isère, France ; 1994-....)
Equipe de recherche : Laboratoire d'informatique de Grenoble (2007-....) - System Level Synthesis
Jury : Président / Présidente : Noël de Palma
Examinateurs / Examinatrices : Kévin Martin
Rapporteurs / Rapporteuses : Tanguy Risset, Gaël Thomas

Mots clés

FR  |  
EN

Résumé

FR  |  
EN

Le rythme de développement du matériel informatique augmente en vitesse et en complexité.C'est par exemple le cas des systèmes multiprocesseurs sur puce, systèmes optimisés pour une application spécifique ou des classes d'applications.Même si ces systèmes sont réutilisables, ils doivent intégrer des composants spécifiques (IPs) pour avoir être efficaces en énergie et en prix.Ces systèmes évoluent rapidement, un grand nombre de versions de plates-formes sont conçues par an, intégrant elles-mêmes un grand nombre d'IPs.La conception de matériel efficace restant un défi, le grand nombre d'IPs à intégrer dans un grand nombre de plates-formes différentes exacerbe la difficulté d'intégrer du matériel et du logiciel.Ce processus d'intégration concerne jusqu'à une centaine d'IP, chacune ayant des dizaines à des centaines de registres, chacun étant un champ de bits potentiel à prendre en compte par les pilotes logiciels.Faire fonctionner un système matériel/logiciel dans ces conditions représente une énorme quantité de travail et de débogage, ce qui fait que la grande majorité des bogues provient des pilotes.Le problème est encore pire dans le contexte des FPGA, car la reconfigurabilité fait que le nombre de versions d'IP est énorme.L'adoption des FPGA se développe avec l'amélioration des outils, mais pour contribuer à la faire progresser dans tous les domaines, des systèmes embarqués à l'informatique en nuage, le processus d'intégration doit être grandement amélioré.Cette thèse aborde ce problème spécifique en proposant une approche simple et efficace, qui ne nécessite pas de technologie nouvelle ou coûteuse, et peut être adoptée progressivement sans avoir à rejeter les solutions existantes.Les principes de base de notre solution s'inspirent de l'USB : 1) un conduit de messages cachant la frontière matériel/logiciel basée sur les registres et les interruptions, 2) la définition de classes de périphériques permettant d'avoir un pilote capable de piloter plusieurs périphériques en suivant un protocole de messages génériques.La proposition définit un conduit ouvert et abstrait pour l'envoi et la réception de messages à travers la frontière matériel/logiciel.Ce conduit de messages est conçu conjointement en utilisant des concepts que chacun connaît bien.Côté matériel, il fournit aux IPs une interface simple basée sur des interfaces de type flux transportant les messages.Il leur fournit également un protocole de message générique permettant un cycle de vie simple.Côté logiciel, il fournit une API basée sur les messages, facile à comprendre pour les développeurs.Cette API dissimule des détails matériels tels que les interruptions ou les registres derrière des canaux de communication dans lesquels les messages sont échangés.Nous avons conçu notre solution pour les petits systèmes embarqués par la mise en place d'un conduit de messages entre le matériel et le logiciel.Ce prototype montre que notre solution convient aux petits systèmes avec des IPs à faible latence et à faible débit, sans que la taille des implantations matérielles et logicielles n'augmente beaucoup.Nous avons ensuite intégré la solution dans le noyau Linux, démontrant ainsi sa faisabilité pour les systèmes plus importants.Les expérimentations montrent que notre solution peut s'adapter à des IPs haute performance à des coûts négligeables.Elles montrent également qu'elle s'intégre dans le noyau à côté des solutions existantes.Dans le contexte de l'informatique en nuage, notre solution offre de grands avantages pour aider à améliorer la prise en charge matérielle des systèmes d'exploitation invités.Nous montrons que l'utilisation de messages est une bonne solution pour prendre en charge et partager largement des IPs.Elle s'intègre également bien dans les hyperviseurs, en particulier Xen qui possède toutes les fonctionnalités dont nos solutions ont besoin et suit des concepts compatibles pour simplifier les pilotes dans les systèmes d'exploitation invités.