-
-
-
-
-
-
-
HomeSite map
SoC/Offres d'emplois/Stages/2012-2013/ALSOC/TSAR: Protocole de coherence des caches nécessitant la coopération du Système d'exploitation Print page

Proposition de stage LIP6

Année 2013

TSAR :  Protocole de cohérence des caches nécessitant la coopération du Système d’exploitation

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 many-cores 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.

 

Une première version de l’architecture TSAR, comportant 512 cœurs a été modélisée en langage SystemC, 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, démontrant la scalabilité du protocole de cohérence DHCCP (Distributed Hybrid Cache Coherence Protocol).

La particularité du protocole DHCCP (décrit dans la thèse de Yang Gao) est de mettre en œuvre 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 donc d’implémenter et d’évaluer un autre protocole de cache permettant la coexistence des deux statégies(« write-back » et « write-through ») suivant les besoins de cohérence associés aux différents segments mémoires. Ce nouveau protocole a été proposé par Ghassan Almaless, et nécessite une intervention explicite du système d’exploitation pour définir quelle stratégie doit être mise en oeuvre pour chaque page de l’espace adressable virtuel de chacune des applications en cours d’exécution. Ce support est d’ores et déjà intégré et disponible dans le système d’exploitation ALMOS.

TRAVAIL PROPOSE

Les principes généraux de ce nouveau protocole, appelé ODCCP (On Demand Cache Coherence Protocol), sont définis, et il faut l’implémenter dans le prototype virtuel de la plate-forme TSAR, le valider, et évaluer ses performances par simulation.

Ce stage porte donc sur la modélisation en langage SystemC, et l’intégration dans l’architecture TSAR du protocole ODCCP. Cette extension architecturale implique une re-écriture profonde du contrôleur de cache mémoire, et du contrôleur de cache de 1er niveau, qui sont deux composants critiques de l’architecture. Puisque le protocole ODCCP s’appuie fortement sur l’intervention de l’OS, la validation des modifications introduites dans l’architecture matérielle s’appuiera sur un petit système d’exploitation minimal existant au LIP6 et supportant la mémoire virtuelle paginée, appelé GIET-VM. L’évaluation finale des performances sera réalisée en exécutant diverses applications multi-tâches sur ALMOS.

 

Ce stage se déroulera en plusieurs étapes :

1.    étude de l’architecture TSAR et des protocoles DHCCP et ODCCP.

2.    prise en main du prototype virtuel SystemC de la version V4 de l’architecture TSAR.

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

4.    spécification des modifications architecturales dans les deux caches.

5.    modélisation en langage SystemC des nouveaux composants.

6.    Intégration de ces modèles dans le prototype virtuel TSAR V4.

7.    Validation fonctionnelle de l’architecture matérielle en utilisant le GIET-VM

8.    Evaluation des performances avec ALMOS

 

ENCADREMENT :

Ce stage sera encadré par  Ghassan Almaless et Alain Greiner

Ghassan.Almaless(at)lip6(.)fr  /  Alain.Greiner(at)lip6(.)fr

LIP6 LIP6-SoC LIP6 CNRS UPMC