-
-
-
-
-
-
-
HomeSite map
SoC/Offres d'emplois/Stages/2011-2012/ALSOC/TSAR : Modélisation au niveau transactionnel d’une architecture de processeur many-cores Print page

Proposition de stage LIP6
Année 2012

TSAR : Modélisation au niveau transactionnel d’une architecture de processeur many-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.

Un des objectifs du projet SHARP est la réalisation d’un prototype matériel, sous la forme d’un prototype FPGA comportant 128 cœurs est Cependant, pour faciliter le développement du logiciel système adapté à cette architecture NUMA, il est souhaitable d’augmenter la vitesse de simulation du prototype virtuel SystemC. On veut pour cela élever le niveau d’abstraction, en utilisant une modélisation transactionnelle, et paralléliser la simulation en utilisant les stations de travail multi-cœurs disponibles au LIP6.

Un prototype virtuel au niveau transactionnel, utilisant les techniques de modélisation TLM-DTR (Transaction Level with Distributed Time Released)  est donc en cours de développement au LIP6, dans le cadre de la thèse de Hermann Gioja. La technique de représentation distribuée du temps permet de paralléliser la simulation, et une technique de relâchement contrôlé des contraintes de synchronisation permet d’améliorer sensiblement le parallélisme effectif de la simulation.

TRAVAIL PROPOSE

Ce stage porte donc sur la réalisation complète d’un prototype virtuel en langage SystemC, au niveau TLM-DTR, de l’architecture TSAR. Les modèles TLM-DTR des différents modules réalisant l’infrastructure de communication sont disponibles, ainsi que le modèle du cœur de processeur. Il existe également des modèles préliminaires pour le contrôleur de cache de premier niveau (sans gestion de la mémoire virtuelle), ainsi que pour le contrôleur de cache mémoire, qui sont les deux composants les plus complexes de l’architecture.

 

Ce stage se déroulera en plusieurs étapes

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

2.    études des principes de la modélisation transactionnelle TLM-DTR

3.    développement et validation des modèles du cache L1 et du cache mémoire

4.    intégration d’une plate forme générique (nombre de processeurs variable)

5.    analyse de speedup sur différentes stations de travail

6.    développement des modèles des organes périphériques

7.    intégration de la MMU dans le modèle de cache L1

 

La réalisation des points 6 et 7 dépendra de l’avancement général du stage.

 

 

ENCADREMENT :

Ce stage sera encadré par Hermann Gioja (Hermann.Gioja(at)lip6(.)fr) sous la responsabilité de Alain Greiner : Alain.Greiner(at)lip6(.)fr

 

LIP6 LIP6-SoC LIP6 CNRS UPMC