Master 2013 2014
psar
Temps-réel en multi-cœurs : problème de la contention mémoire - Grp1


Site :LIP6 Regal
Lieu :UMPC, 4 place Jussieu 75005 PARIS
Encadrant : Julien Sopena (Julien.Sopena@lip6.fr), Antoine Blin (Antoine.Blin@lip6.fr)
Dates :01/02/2014 au 10/05/2014
Mots-clés : Parcours SAR, aussi pour STL


Description

Pitch : L’arrivée de processeurs multi-cœurs au sein des architectures matérielles embarquées amène de nouvelles problématiques en termes de sureté de fonctionnement. Ce projet PSAR vise à développer une plate-forme de tests permettant d’évaluer les problèmes de contention mémoire pour des applications temps-réel s’executant sur des processeurs multi-cœurs.

Mots-clés : virtualisation, multi-cœur mémoire, noyau, architecture des ordinateurs.

Contexte : Historiquement, les architectures logicielles du monde automobile ont été développées pour interagir avec les véhicules en respectant des contraintes de temps réel, d’embarquabilité et de minimisation des coûts. Plus récemment, des systèmes multimédia basés sur Linux et Androïd ont été intégrés au sein des véhicules sur des calculateurs différents des systèmes temps réel.

L’utilisation de processeurs multi-cœurs est une solution potentiellement intéressante pour diminuer les coûts. En utilisant la virtualisation sur de telles architectures, il est possible d’exécuter des systèmes d’exploitation temps réels en parallèle de systèmes multimédia sur un même processeur. L’hyperviseur doit alors assurer un isolement spatial et temporel entre les différents systèmes pour garantir le respect des contraintes de sûreté et de sécurité.

Les hyperviseurs développés pour des architectures embarquées, attribuent, de manière exclusive, un ou plusieurs cœurs à chaque OS virtualisé. La mémoire, quant à elle, est divisée en plages attribuées statiquement à chaque système d’exploitation virtualisé, les mécanismes de protection mémoire étant utilisés pour assurer l’isolation. Si ces solutions assurent le partitionnement de la mémoire et du CPU, des ressources telles que les bus et certains caches restent partagées. Un cœur qui effectue un grand nombre d’accès mémoires peut provoquer de la contention sur les bus et de la pollution au sein des caches partagés impactant ainsi les autres cœurs.

Objectifs : L’objectif de ce projet est de développer une plate-forme de tests chargés d’évaluer . Il s’agira notamment de pouvoir solliciter les différents éléements du système mémoire (Caches et BUS) d’une architecture multi-cœurs et de mesurer les ralentissements engendré sur les tâches exécutées.

Pré-requis : Connaissances Noyau, Bon niveau en C et en architecture.