Accueil > Recherche > Stages/emplois > [PRIS] Simulation coopérative et parallèle : expérimentations sur le scheduler (...)

[PRIS] Simulation coopérative et parallèle : expérimentations sur le scheduler SystemC

Proposition de stage de Master Recherche

vendredi 10 décembre 2010

Ce sujet est déjà pris, et gardé ici seulement pour archive.

laboratoire : Verimag

equipe : Équipe SYNCHRONE

encadrants : Matthieu.Moy@imag.fr, Claire.Maiza@imag.fr

Thème général

SystemC est une bibliothèque pour C++ qui permet de modéliser des systèmes matériels complexes (typiquement, les systèmes sur puces contenus dans des téléphones portables, télévision numériques, ...).

Le parallélisme du système modélisé est exprimé avec des processus SystemC, qui s'exécutent séquentiellement pendant la simulation (on parle de simulation « coopérative »). La simulation coopérative apporte un certain confort d'utilisation, puisque la plupart des accès aux variables partagées n'ont plus besoin d'être protégés par des verrous (mutex), mais c'est aussi une limitation importante de SystemC, puisqu'elle force la simulation à s'exécuter sur un seul processeur, et ne permet pas toujours de modéliser certains comportements du matériel.

Nous cherchons donc à trouver des compromis entre simulation coopérative et simulation parallèle (ou « préemptive »).

Compétences attendues

L'étudiant devra avoir de bonnes compétences en programmation parallèle, et connaitre le langage C++.

Contexte du travail

L'équipe SYNCHRONE du laboratoire Verimag travaille sur SystemC depuis près de 10 ans, sur des problématiques diverses (vérification formelle et runtime, méthodologie, parallélisation, ...). En parallèle avec ceci, nous avons développé un simulateur alternatif appelé jTLM, sur lequel nous avons déjà pu expérimenter différentes approches du parallélisme. L'idée est maintenant de s'inspirer de ces travaux, et de trouver le moyen de les mettre en oeuvre dans SystemC.

Sujet

Le stage devrait se dérouler suivant ces étapes :

  • Se familiariser avec C++ et SystemC, écrire quelques exemples de code,
  • Expérimenter les mélanges entre threads POSIX (pthreads) et les processus SystemC, et identifier les limitations pratiques et théoriques,
  • Proposer une modification du scheduler SystemC qui permette de mélanger simulation coopérative et parallèle, et implémenter cette proposition dans le simulateur de référence de SystemC.

En parallèle avec ceci, un travail de bibliographie bien entendu indispensable, sur les travaux passés du laboratoire dans le domaine, et sur les approches d'autres laboratoires.

Comme tout sujet de recherche, le sujet est à affiner en discutant avec les futurs encadrants. N'hésitez pas à nous contacter pour en discuter !

Valid XHTML 1.0 Transitional
SPIP | | Plan du site | Suivre la vie du site RSS 2.0
Habillage visuel © styleshout sous Licence Creative Commons Attribution 2.5 License