Mémoire de maîtrise (2025)
Résumé
L’évolution des architectures informatiques contemporaines s’inscrit dans un contexte où le ralentissement de la loi de Moore a renforcé l’adoption de systèmes hétérogènes combinant processeurs généralistes (CPU) et accélérateurs matériels tels que GPU, FPGA et ASIC. Si ces architectures permettent d’améliorer les performances pour des applications spécialisées, elles introduisent aussi une complexité accrue. Les outils classiques de débogage matériel ou logiciel s’avèrent insuffisants : les traceurs logiciels n’offrent qu’une vue partielle du comportement matériel, tandis que les analyseurs intégrés aux FPGA (tels que les ILA d’AMD/Xilinx) permettent seulement une observation locale, limitée en durée et en signaux. Ce mémoire propose une infrastructure complète, unifiée et robuste de traçage CPU–FPGA, permettant une observabilité fine des systèmes hétérogènes modernes et facilitant le diagnostic, l’optimisation et la compréhension des interactions logicielles-matérielles. L’infrastructure proposée comprend un mécanisme unifié de traçage matériel–logiciel, capable d’observer simultanément l’activité du FPGA et celle du CPU, d’aligner temporellement leurs événements et de permettre une analyse globale du système. Sur le plan matériel, la contribution majeure réside dans la conception d’un traceur FPGA générique et modulaire, construit autour : 1) Des sondes configurables détectant des signaux, bus AXI ou machines à états ; 2) Une chaîne de sondes inspirée de travaux antérieurs, agrégée en flux AXI-Stream unique ; 3) Un système de synchronisation multi-horloge ; et 4) Un mécanisme de transfert PCIe basé sur le sous-système XDMA. L’ensemble est généré automatiquement à l’aide de Chisel. Du côté logiciel, le mémoire détaille la réalisation d’un pilote noyau Linux dédié, exposant deux périphériques : un accès mémoire mappée pour configurer les sondes et insérer des marqueurs de synchronisation, et un flux événementiel continu pour récupérer les données brutes issues du FPGA. Un module de post-traitement convertit ces flux en Common Trace Format (CTF), permettant une compatibilité immédiate avec Trace Compass. Une évaluation expérimentale approfondie montre la capacité du système à supporter de très hauts débits via PCIe, à tracer en continu plusieurs domaines d’horloge, et à maintenir un taux de pertes minimal. Le mémoire analyse l’impact des profondeurs de FIFO, du débit du DMA, des rafales d’événements et des configurations multi-domaine. Les limites identifiées, telles que la mise à l’échelle et la gestion des rafales extrêmes, sont discutées, et plusieurs perspectives sont proposées, notamment l’intégration future de compresseurs de traces.
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements
