-
-
-
-
-
-
-
HomeSite map
SoC/Offres d'emplois/Stages/2009-2010/ALSOC 3 Print page

 

 

 

Evaluation de performances pour l’architecture de processeur multi-cores TSAR

CONTEXTE

Ce stage s’inscrit dans le cadre du projet Européen TSAR (Tera-Scale ARchitecture) dont les principaux partenaires industriels sont BULL (coordinateur), Thales et Philips. Ce projet vise la définition et l’implémentation d’une architecture de processeur multi-core utilisable dans des ordinateurs de type PC, 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. Cette architecture supporte des systèmes d’exploitation généraliste 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 4096 processeurs sur une seule puce), tout en fournissant une mémoire partagée cohérente. 

Dans le cadre de ce projet, le laboratoire LIP6 est chargé – en coopération avec BULL- de la définition du système mémoire. Une première version de cette architecture, comportant 16 cÅ“urs de processeurs a été modélisée en langage SystemC, en utilisant la plate-forme de prototypage virtuel SOCLIB, et différentes  applications logicielles ont pu être déployées et exécutées (en simulation) sur ce prototype virtuel.

Comme indiqué sur le schéma ci-dessus, l’architecture TSAR est découpée en « clusters Â». Chaque cluster est un sous-système contenant plusieurs processeurs (avec leurs caches L1 de premier niveau), un cache mémoire de 2e niveau, un bus local et un contrôleur d’accès au micro-réseau. Les sous-systèmes communiquent entre eux à travers un micro-réseau (Network on Chip) intégré sur puce. En cas de MISS, tous les processeurs peuvent accéder – à travers le micro-réseau - à tous les caches de 2e niveau. La mémoire est donc logiquement partagée (espace d’adressage unique), mais physiquement distribuée.

TRAVAIL PROPOSE

Le sujet proposé porte sur le volet logiciel du projet TSAR. On souhaite évaluer les performances de cette architecture en exécutant des applications logicielles multi-threads sur le prototype virtuel à 16 processeurs de TSAR. Les applications choisies font partie du benchmark SPLASH ( Stanford Parallel Applications for Shared Memory) développé par l’Université de Stanford.

On comparera les performances obtenues (temps d’exécution mesurés en nombre de cycles) aux performances obtenues en exécutant ces mêmes applications sur un PC multi-cores sous LINUX. Le système d’exploitation utilisé pour ces expérimentations sera un des système d’exploitation déjà disponibles sur TSAR (Unix NetBSD ou MutekH) ou en cours de portage (LINUX). Tous ces systèmes supportent en effet l’API des threads POSIX, qui est utilisée par les applications parallèles SPLASH.

Le principal intérêt de ce travail est qu’on maîtrise totalement l’architecture matérielle : on peut  re-dimensionnement les caches, re-configurer la MMU, et même faire évoluer le protocole de cohérence mémoire. On souhaite à travers ces expérimentations, identifier, localiser, et si possible corriger d’éventuelles faiblesses de l’architecture ou des protocoles de communication, ce qui nécessite évidemment de bien comprendre l’architecture matérielle.

Un prototype matériel d’une architecture TSAR à 16 processeurs étant en cours de développement sur FPGA, il est possible que les applications mises au point sur le prototype virtuel puissent être portées et exécutées sur cette plate-forme matérielle avant la fin du stage.

 

ENCADREMENT :

Ce stage sera encadré par le Professeur Alain Greiner : Alain.Greiner@lip6.fr

REMUNERATION

 

 Ce stage sera rémunéré pendant toute la durée du stage.

LIP6 LIP6-SoC LIP6 CNRS UPMC