-
-
-
-
-
-
-
HomeSite map
SoC/Offres d'emplois/Stages/2013-2014/ALSOC/TSAR : Modélisation et Evaluation d'un Protocole de Cohérence de Caches MESI Print page

TSAR : Modélisation et Evaluation d'un Protocole de Cohérence de Cache MESI

Ce stage a été attribué. 

OBJECTIF

Ce stage s’inscrit dans le cadre du projet Européen SHARP piloté par BULL, dont les partenaires Français sont THALES, le LIP6 et le CEA/LETI. Ce projet vise la définition et l’implémentation d’une architecture de processeur manycore utilisable dans des ordinateurs de type serveurs, c'est-à-dire une architecture matérielle supportant la mémoire virtuelle, et fournissant un mécanisme de cohérence des caches garantie par le matériel.

L’architecture TSAR a été définie dans le cadre d’un premier projet Européen. Cette architecture NUMA (Non Uniform memory Access) supporte des systèmes d’exploitation généralistes de type UNIX (ou LINUX). Son originalité est d’utiliser un grand nombre de « petits » cœurs de processeurs RISC 32 bits, plutôt que quelques gros processeurs, pour minimiser la consommation énergétique. L’architecture doit donc être réellement scalable (pour atteindre plusieurs milliers de coeurs sur une seule puce), tout en fournissant une mémoire partagée cohérente.

Actuellement, un prototype virtuel de l'architecture TSAR (version 5) est modélisé en langage SystemC et a été validé jusqu'à 512 coeurs, en utilisant la plate-forme de prototypage virtuel SOCLIB et un style de modélisation « au cyle près » Différentes applications logicielles ont pu être déployées et exécutées (en simulation) sur ce prototype virtuel.

Le protocole de cohérence, nommé DHCCP (Distributed Hybrid Cache Coherence Protocol, décrit dans la thèse de Yang Gao), présente en particulier 2 caractéristiques originales :

  • une représentation implicite de l'ensemble des copies au-delà d'un certain seuil, ce qui implique plusieurs types de requêtes de cohérence, notamment deux types d'invalidation (broadcast et multicast) ;

  • la mise en oeuvre d'une stratégie « write-through », qui a pour avantage de supporter le passage à l’échelle, mais qui a l’inconvénient de générer un trafic important sur le micro-réseau, ce qui augmente la consommation énergétique.

L’objectif du stage est d’évaluer une évolution de ce protocole, qui conserve le mécanisme de représentation des copies de DHCCP, mais qui implémente une stratégie write-back MESI au lieu du write-through. Cette implémentation, appelée HI-MESI pour Hybrid Invalidations MESI protocol, servira de référence pour l'évaluation des performances de DHCCP.


TRAVAIL PROPOSÉ

La spécification d'un protocole MESI à répertoire et représentation explicite des copies sera donnée. Il faudra définir les adaptions de DHCCP pour intégrer ce protocole HI-MESI, et l’implémenter dans le prototype virtuel de la plate-forme TSAR. Dans un second temps, il faudra le valider, puis évaluer ses performances par simulation. Comme le protocole DHCCP, ce protocole est entièrement implémenté en matériel, et ne nécessite aucune coopération du logiciel.

Ce stage porte donc sur la définition, la modélisation en langage SystemC, et l’intégration dans l’architecture TSAR d'un protocole de cohérence de caches reposant sur le principe général du répertoire global distribué.

Ce stage se déroulera en plusieurs étapes :

1. Étude et compréhension de l’architecture TSAR et du protocole DHCCP

2. Prise en main du prototype virtuel SystemC de la version V5

3. Analyse approfondie de l’architecture interne des contrôleurs de cache L1 et L2

4. Spécification des modifications architecturales dans les caches L1 et L2 pour supporter HI-MESI

5. Modélisation en langage SystemC de ces nouveaux composants

6. Validation par exécution d’applications logicielles multi-tâches existantes.

7. Comparaison systématique des performances du protocole défini avec DHCCP.


Encadrants : Quentin Meunier, Alain Greiner


LIP6 LIP6-SoC LIP6 CNRS UPMC