Home > Research > Stages/emplois > [TAKEN] Performance optimization for multi-core simulators

[TAKEN] Performance optimization for multi-core simulators

Wednesday 19 September 2012

Ce sujet est déjà pris et n'est conservé que pour référence

Laboratoire: Verimag (http://www-verimag.imag.fr/)

Équipe: SYNCHRONE (http://www-verimag.imag.fr/SYNCHRONE)

Encadrants: Matthieu Moy <Matthieu.Moy@imag.fr>

Contexte Scientifique

Les systèmes embarqués modernes (smartphones, box de fournisseurs d’accès internet, …) sont réalisés avec un mélange de logiciel et de matériel, développés l’un pour l’autre. Étant donné la complexité de ces systèmes, il n’est plus possible aujourd’hui d’attendre la disponibilité du matériel pour développer le logiciel, et il est donc nécessaire d’utiliser des simulateurs. Le laboratoire Verimag travaille depuis une dizaine d’années avec STMicroelectronics sur le simulateur SystemC (basé sur C++) qui permet de réaliser de tels simulateurs. Malheureusement, dans la version standard, SystemC ne permet pas d’exploiter le parallélisme des machines multi-coeurs. Nous avons récemment proposé plusieurs approches pour programmer efficacement en SystemC sur machines multi-coeurs. Jusqu’ici, l’accent a été mis sur la théorie, mais les implémentations parallèles n’ont pas encore finement été optimisées.

Compétences attendues

Ce travail demande à la fois des connaissances théoriques et pratiques : il faudra d’une part comprendre les approches de parallélisation, et d’autre part se familiariser avec les outils de profiling. Il sera nécessaire d’apprendre le langage C++, et si ce n’est pas déjà fait, la programmation parallèle en utilisant les threads.

Contexte de travail

Ce travail s’inscrit dans la continuité du TER Ensimag et du stage de M2 réalisés en 2011. Il est prévu qu’un doctorant travaille sur des problématiques connexes dans la même équipe.

Sujet proposé

L’objectif est d’identifier les facteurs limitants en performance à l’aide d’outils de profiling de programmes parallèles (comme mutrace), puis d’optimiser aussi finement que possible les performances. À l’issue de ce travail, on devrait avoir un exemple non-trivial sur lequel la simulation parallèle donne des résultats nettement meilleurs que la simulation séquentielle.

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