![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() ![]() |
|
Proposition de stage LIP6Année 2013TSAR : Evaluation de protocoles de cohérence des caches scalables pour architectures multi-cores 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’évaluer une évolution de ce protocole, proposée par Franck Wajsburt et Ghassan Almaless, et visant à diminuer sensiblement le nombre des transactions d’écriture. TRAVAIL PROPOSE Les principes généraux de ce nouveau protocole, appelé RWT (comme Released Write Through), 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. Comme le protocole DHCCP, le protocole RWT 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 du protocole de cohérence RWT caches reposant sur le principe général du répertoire global distribué. Cette extension architecturale implique très vraisemblablement 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.
Ce stage se déroulera en plusieurs étapes 1. étude de l’architecture TSAR et du protocole DHCCP 2. prise en main du prototype virtuel SystemC de la version V4 3. analyse approfondie de l’architecture interne des contrôleurs de cache 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 SystemC 7. Validation par exécution d’applications logicielles multi-tâches existantes. 8. Comparaison systématique des performances des protocoles RWT/DHCCP
ENCADREMENT : Ce stage sera encadré par Franck Wajsburt et Alain Greiner : Franck.Wajsburt(at)lip6(.)fr / Alain.Greiner(at)lip6(.)fr
|