Développement et caractérisation d'une solution de traçage pour systèmes hétérogènes CPU-FPGA

Nicolas Deloumeau

Mémoire de maîtrise (2025)

Accéder à ce document
Disponible
Libre accès au texte intégral dans PolyPublie
Texte Texte • 940kB •

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.

Programme:
Génie Informatique
Directeurs ou directrices:
Adresse URL de PolyPublie:
Université/École:
Polytechnique Montréal
OAI:
oai:publications.polymtl.ca:71205
ORCID
Date du dépôt:
23 mars 2026 13:52
Dernière modification:
14 oct. 2026 14:32
Citer en APA 7:
Deloumeau, N. (2025). Développement et caractérisation d'une solution de traçage pour systèmes hétérogènes CPU-FPGA [Mémoire de maîtrise, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/71205/

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