Sofiane Lagraa - Nouveaux outils de profilage de MPSoC basés sur des techniques de fouille de données

08:30
Friday
13
Jun
2014
Organized by: 

Sofiane Lagraa

Speaker: 

Sofiane Lagraa

Teams: 

Thèse effectuée au sein des laboratoires : TIMA et le LIG, respectivement sous la direction de Frédéric Pétrot (équipe SLS) et Alexandre Termier (équipe Hadas).

- Lieu de soutenance :

  • Grenoble INP, 46 Avenue Félix Viallet, amphi C

- Jury :

  • M. Albert Cohen, Directeur de recherche INRIA, École Normale Supérieure-Paris, Président
  • M. Bernard Goossens, Professeur, Université de Perpignan, Rapporteur
  • M. Pascal Poncelet, Professeur, Université Montpellier 2, Rapporteur
  • M. Miguel Santana, Directeur du centre IDTEC à STMicroelectronics, STMicroelectronics – Grenoble, Examinateur
  • Mme Peggy Cellier, Maître de conférences, INSA Rennes , Examinatrice
  • M. Frédéric Pétrot, Professeur, Institut Polytechnique de Grenoble, Directeur de thèse
  • M. Alexandre Termier, Maître de conférences (HDR), Université Joseph Fourier, Co-directeur de thèse

La miniaturisation des composants électroniques a conduit à l’introduction de systèmes électroniques complexes multiprocesseurs intégrés sur une seule puce, les MultiProcessor System-on-Chip (MPSoC). La majorité des systèmes embarqués à venir est basée sur des architectures avec un grand nombre de processeurs, d’où la nécessité de développer des applications parallèles embarquées. La conception et le développement d’une application parallèle embarquée est de plus en plus difficile, notamment pour les architectures multiprocesseurs hétérogènes ayant différents types de contraintes de communication et de conception, tels que le coût du matériel, la puissance et la rapidité.

Un défi à relever par les développeurs est le profilage des applications parallèles afin qu’elles puissent passer à l’échelle. Cela est particulièrement important pour les systèmes embarqués de type MPSoC, où les applications doivent fonctionner correctement sur de nombreux cœurs. En outre, la performance d’une application ne s’améliore pas forcément lorsque l’application tourne sur un nombre de cœurs encore plus grand. La performance d’une application peut être limitée en raison de multiples goulots d’étranglement, notamment la contention sur des ressources partagées telles que les caches et la mémoire. Il devient difficile et long pour un développeur de faire un profilage de l’application parallèle et d’identifier les goulots d’étranglement dans le code source qui diminuent la performance de l’application.

Pour surmonter ces problèmes, dans cette thèse, nous proposons trois méthodes automatiques qui détectent les instructions du code source conduisant à une diminution de performance due à la contention et à la croissance du nombre de processeurs sur une même puce. Les méthodes sont basées sur des techniques de fouille de données exploitant des gigaoctets de traces d’exécution de bas niveau produites par des simulateurs de plateformes MPSoC. Nos approches de profilage permettent de quantifier et de localiser automatiquement les goulots d’étranglement dans le code source afin d’aider les développeurs à optimiser leurs applications parallèles embarquées. Nous avons effectué plusieurs expériences sur plusieurs applications parallèles embarquées. Elles montrent la précision des techniques proposées, en quantifiant et localisant avec précision les lignes de code dans le code source qui induisent des ralentissements.