Sujet ter0809 tima sls fp2

De Ensiwiki
Aller à : navigation, rechercher


Support logiciel pour les mémoires transactionnelles matérielles embarquées

Labo TIMA
Equipe SLS
Encadrants Quentin.Meunier@imag.fr,Frederic.Petrot@imag.fr

Contexte

L’ère des multiprocesseurs sur puce est là, et il est prévu de l’ordre de 1024 petits processeurs sur les chips en 2020. Hors depuis près de 40 ans, la programmation des machines parallèles a été un casse-tête, pour d’une part être capable d’écrire des algorithmes utiles qui se parallèlisent, et d’autre part pour avoir des mécanismes matériels qui exposent aux programmeurs une machine suffisament deterministe pour être programmée. Une avancée récente dans le domaine des accès atomiques est connue sous le nom de mémoire transactionnelle. Ainsi, l’opération de base qui consiste à prendre un mutex ou un sémaphore, faire des actions et relacher le mutex/sémaphore est remplacée par une transaction atomique. Ainsi, le calcul est fait, mais c’est lors de l’écriture des résultats que la transaction peut avorter, alors que sinon le calcul n’est commencé que lorsque les autres sont sortis de la section critique.

Sujet

Une architecture multiprocesseur avec une mémoire transactionnelle est en cours de développement (simulation précise au cycle genre vhdl en plus rapide) au sein du laboratoire TIMA. L’objectif du projet est d’étudier le support logiciel qui doit être fourni pour l’utilisation de telle mémoire, et de proposer un prototype de ce support dans un petit noyau développé au labo. Les étapes prévues sont :

  • étude biblio des mémoires transactionnelles
  • définition des mécanismes noyau nécessaires à leur support
  • spécification des APIs permettant d’utiliser ces mécanismes
  • implantation d’un proto de librarie dédiée