Home > Research > Stages/emplois > [Master 1] Simulation et outils de debug pour réseaux de processus

[Master 1] Simulation et outils de debug pour réseaux de processus

Wednesday 18 October 2017

Résumé

Depuis le début des années 2000, la limite de miniaturisation des transistors force à multiplier les unités de calcul (processeurs, processeurs spécialisés) des superordinateurs pour améliorer les performances. De nombreux verrous doivent être levés, comme la distribution efficace d’une application sur les unités de calcul. Pour cela, l’application doit être divisée en unités à exécuter en parallèle et les communications entre unités doivent être réglées. Il existe des algorithmes capables de paralléliser automatiquement des noyaux de calcul intensifs comme les opérations matricielles.

L’équipe CASH nouvellement créée travaille sur des approches innovantes d’extraction du parallélisme vers une représentation intermédiaire avec pour objectif la production de code efficace pour accélérateurs matériels de type FPGA. Nos outils sont des compilateurs dits « source-to-source », qui lisent du code C séquentiel, en extraient le parallélisme sous la forme d’un réseau de processus appelé DPN, puis génèrent du code qui explicite le parallélisme.

Pour le développement et le debug des réseaux de processus utilisés comme représentation intermédiaire, il est nécessaire de pouvoir simuler ces réseaux de processus sans passer par l’étape de synthèse (très longue) et l’exécution sur FPGA (qui a des capacités de debug très limitées). Nous utilisons pour l’instant un simulateur basé sur les threads POSIX, en utilisant un thread par processus du réseau. Cette solution est opérationnelle, mais peu pratique pour le debug, et assez lente du fait de la fréquence des changements de contextes.

Une alternative serait d’utiliser un simulateur dédié à la simulation de matériel, comme SystemC. SystemC est une bibliothèque C++ qui contient un noyau de simulation basé sur un ordonnanceur coopératif. Il est fourni avec un grand nombre de primitives de synchronisation et de communication. C’est le standard industriel pour la simulation rapide de matériel.

L’objectif général du projet est d’étudier la faisabilité et les bénéfices potentiels d’un simulateur basé sur SystemC. Nous pourrons également étudier la visualisation de traces d’exécution et la parallélisation du simulateur.

Détails du sujet: Voir la pièce-jointe.

Attached documents

  • 18 October 2017
    info document : PDF
    65.6 kb

Valid XHTML 1.0 Transitional
SPIP | | Site Map | Follow site activity RSS 2.0
Graphic design (c) styleshout under License Creative Commons Attribution 2.5 License