170 likes | 283 Views
PROJET CAPS. Compilation, Architecture, Parallélisme et Système. CAPS: Qui sommes nous ?. 2 chercheurs, 2 professeurs, 9 doctorants deux activités imbriquées: architectures hautes-performances compilation orientée performance, outils et environnements de programmation.
E N D
PROJET CAPS Compilation, Architecture, Parallélisme et Système
CAPS: Qui sommes nous ? • 2 chercheurs, 2 professeurs, 9 doctorants • deux activités imbriquées: • architectures hautes-performances • compilation orientée performance, outils et environnements de programmation
Que sont devenus les doctorants de CAPS ? • Depuis 1997: • S. Hily: Intel MRL, USA • S. Chauveau, Philips National labs, Pays-Bas • D. Truong, HP labs, USA • E. Rohou, ST Microelectonics, USA • P. Michaud, INRIA • Y. Mével, Sogitec, Rennes
CAPS: que faisons nous ?
Architecture des microprocesseurs • Comprendre les architectures hautes performances • veille techno académiques et industriels • Proposer les nouvelles architectures • caches: skewed associative caches, .. • prédiction de branchement:: • Simultaneous Multithreading • ..
Les outils pour l’architecture • Simulation fine: cycle par cycle • Tracer les applications • Calvin2 + DICE • Génération automatique de simulateurs
Les infrastructures logicielles pour la compilation • La nécessité d’expérimenter ! • Des systèmes prototypes: • TSF : aide au portage des programmes Fortran orienté performance • SALTO: manipulation de langage assembleur
Compilation: projets en cours • Intégration du Case Base Reasoning dans TSF • Compilation itérative pour les systèmes enfouis • SALTO2: une infrastructure pour l ’optimisation bas-niveau • Compilation et « low power »
Génération d’aléa irreproductible haut débit • Besoin d’aléa irreproductible en CRYPTOGRAPHIE • Méthodes actuelles: 1 Kbit/s logiciel 75Kbits/s matériel • Les microprosseurs modernes: • nombreux états non directement accessibles • compteurs de cycles • Peut-on utiliser le compteur de cycles pour générer de l’aléa irreproductible ?
cache secondaire skewed associatif et allocation de pages • performance globale très dépendante du système mémoire • Le cache secondaire: • placement des pages en mémoire physique peut être malheureux • 2 stratégies utilisées • page coloring et bin hoping • en général meilleures que placement aléatoire • cache skewed associatif • hybride de bin hoping et page coloring possible • performance, avantage, etc de cette stratégie ?
Optimisation de la taille du fichier de registres d'un processeur superscalaire • De plus en plus de registres, de plus en plus d ’instructions en // • Taille, temps d’accès et consommation du fichier de registres croit avec nombre de ports et nombre de registres • Idée: • fichiers de registres pairs et fichiers de registres impair + spécialisation des port des unités fonctionnelles 2 fois moins de place • Est-ce viable ?
Consommation électrique et poids forts nuls • Consommation électrique: problème croissant • systèmes enfouis, portables, PCs, stations, serveurs • Consommation électrique: fonction du nombre de transistors et de « wires » activés • Beaucoup de données « petites »: poids forts nuls • Combien ? • Comment en profiter ?
Étude du //isme d’instructions à partir d’un modèle de contraintes matérielles • Processeur idéal: suit le graphe de flot de données • Graphe de flot de données: les arcs représentent les dépendances de données entre instructions • Complexité matérielle : dépend du nombre de nœuds et du degré d’un nœud • Classique: nœud = 1 instruction • Stage: nœud = bloc d’instructions
Optimisation d’application séquentielle sur un multiprocesseur intégré • Plusieurs processeurs sur un même composant • Chaque processeur a son propre cache • Standard: une application séquentielle n’a accès qu’au cache du processeur qui l’exécute • Stage: répartir l’application sur les caches de plusieurs processeurs
Contacts: • http://www.irisa.fr/caps • André Seznec, François Bodin, Pierre Michaud • {seznec, pmichaud, bodin}@irisa.fr