Proposition de stage LIP6
Année 2012
TSAR : Définition d'un micro-réseau spécialisé pour les entrées/sorties dans une architecture de processeur many-core
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.
L'architecture TSAR (Version V4) définit trois micro-réseaux intégrés :
- Le réseau direct est chargé de l'acheminement des transaction de lecture/écriture entre les (4096) processeurs et les (1024) contrôleurs de cache mémoire.
- Le réseau de cohérence est chargé de transporter le trafic de cohérence entre ces mêmes composants.
- Le réseau externe est utilisé par les contrôleurs de cache mémoire pour accéder à la RAM externe à travers un cache de troisième niveau.
Ces trois réseaux et la hiérarchie de caches associée permettent une gestion optimisée de l'accès à la mémoire. On souhaite maintenant optimiser les communications entre la mémoire et les périphériques d'entrées/sorties externes. On s'intéresse particulièrement aux périphériques possédant une capacité DMA (Direct Memory Access), tels que les contrôleurs de disque, ou les contrôleurs réseaux. Ceci suppose vraisemblablement la définition d'un troisième micro-réseau intégré.
Ce stage porte donc sur la définition, la modélisation en langage SystemC, et l'intégration dans l'architecture TSAR d'un troisième réseau spécialisé, supportant les transactions DMA entre les périphériques externes et la mémoire, tout en garantissant la cohérence de la mémoire. Cette extension architecturale implique très vraisemblablement une redéfinition profonde du contrôleur de cache mémoire, qui est déjà un composant critique de l'architecture TSAR.
Ce stage se déroulera en plusieurs étapes
- étude de l'architecture TSAR et du protocole DHCCP
- prise en main du prototype virtuel SystemC de l'architecture TSAR V4
- analyse approfondie de l'architecture interne du contrôleur de cache mémoire
- spécification de l'architecture du réseau NoC-IO, et du cache mémoire
- modélisation en langage SystemC des nouveaux composants
- Intégration de ces modèles dans le prototype virtuel SystemC
Ce stage sera encadré par Alain Greiner : Alain.Greiner@lip6.fr