Logiciel pour les architectures reconfigurables



Documents pareils
Sanity Check. bgcolor mgcolor fgcolor

Quoi de neuf en LabVIEW FPGA 2010?

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

Architecture des ordinateurs

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Thème 3 Conception et vérification d architectures de systèmes sur puce

THÈSE DEVANT L UNIVERSITÉ DE RENNES 1

IFT1215 Introduction aux systèmes informatiques

Métriques de performance pour les algorithmes et programmes parallèles

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Potentiels de la technologie FPGA dans la conception des systèmes. Avantages des FPGAs pour la conception de systèmes optimisés

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Chapitre 1 : Introduction aux méthodologies de conception et de vérification pour SE

Partie 7 : Gestion de la mémoire

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

UNIVERSITÉ DE MONTRÉAL ANALYSE DE PERFORMANCE MULTI-NIVEAU ET PARTIONNEMENT D APPLICATION RADIO SUR UNE PLATEFORME MULTIPROCESSEUR

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Introduction aux systèmes temps réel. Iulian Ober IRIT

Initiation au HPC - Généralités

WEA Un Gérant d'objets Persistants pour des environnements distribués

Compilation (INF 564)

QUESTION 1 {2 points}

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Modélisation de la Reconfiguration Dynamique appliquée à un décodeur LDPC Non Binaire

Analyse,, Conception des Systèmes Informatiques

Profil UML pour TLM: contribution à la formalisation et à l automatisation du flot de conception et vérification des systèmes-sur-puce.

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Les systèmes embarqués Introduction. Richard Grisel Professeur des Universités Université de Rouen Nacer Abouchi Professeur ESCPE Lyon

Parallélisme et Répartition

Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable

Exécution des instructions machine

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Systèmes et traitement parallèles

Conception des systèmes répartis

Traduction des Langages : Le Compilateur Micro Java

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et

Diagrammes de Package, de déploiement et de composants UML

Fonctionnement et performance des processeurs

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Architecture des Ordinateurs. Partie II:

Conception et Intégration de Systèmes Critiques

Évaluation et implémentation des langages

Gestion mémoire et Représentation intermédiaire

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Cours n 12. Technologies WAN 2nd partie

Leçon 1 : Les principaux composants d un ordinateur

CH.3 SYSTÈMES D'EXPLOITATION

Talend Technical Note

Chapitre VI- La validation de la composition.

Conception de circuits numériques et architecture des ordinateurs

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Quoi de neuf en contrôle/commande et systèmes embarqués (RIO, WSN...)?

ADÉQUATION ALGORITHME-ARCHITECTURE APPLIQUÉE AUX CIRCUITS RECONFIGURABLES

GPA770 Microélectronique appliquée Exercices série A

SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre Université de Rennes I - IRISA

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

2. Couche physique (Couche 1 OSI et TCP/IP)

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

Chapitre 4 : Les mémoires

Cours 1 : La compilation

ECTS CM TD TP. 1er semestre (S3)

Adresse directe fichier : Adresse url spécifique sur laquelle le lien hypertext du Client doit être

Projet Active Object

ASR1 TD7 : Un microprocesseur RISC 16 bits

Tests de performance du matériel

Séminaire RGE REIMS 17 février 2011

SIN-FPGA DESCRIPTION PAR SCHEMA

Contrôle d accès UTIL TP N 1 découverte

Limitations of the Playstation 3 for High Performance Cluster Computing

Big Data et Graphes : Quelques pistes de recherche

UE Programmation Impérative Licence 2ème Année

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

pythonocc: une plateforme de développement agile d applications CAO.

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Chapitre 1: Introduction générale

Voix sur IP Étude d approfondissement Réseaux

2. DIFFÉRENTS TYPES DE RÉSEAUX

Architecture d'entreprise : Guide Pratique de l'architecture Logique

BUSINESS INTELLIGENCE. Une vision cockpit : utilité et apport pour l'entreprise

Plan. École Supérieure d Économie Électronique. Plan. Chap 9: Composants et systèmes de sécurité. Rhouma Rhouma. 21 Juillet 2014

Evaluation des performances de programmes parallèles haut niveau à base de squelettes algorithmiques

Les algorithmes de base du graphisme

1.Introduction - Modèle en couches - OSI TCP/IP

Introduction au Déploiement

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

IFT2255 : Génie logiciel

IV- Comment fonctionne un ordinateur?

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

StruxureWare Power Monitoring Expert v7.2

Nom de l application

Génie Logiciel avec Ada. 4 février 2013

Rappels d architecture

Architecture des ordinateurs

ISO/CEI NORME INTERNATIONALE

Transcription:

Logiciel pour les architectures reconfigurables Bernard Pottier Équipe Architectures & Systèmes Université de Bretagne Occidentale 1. Description du domaine 3 niveaux de reconfiguration: Logique, Chemin de Données, Système 2. Un scénario logiciel pour les systèmes reconfigurables Description prospective d une chaine de compilation 3. Conclusion 2

1.1 Définitions Architectures reconfigurables possibilité matérielle de redéfinir des caractéristiques de la machine de manière statique ou dynamique, complètement, ou partiellement. FPGA en tant que technologie d implémentation Unité FPGA embarquée Unité à chemins de données reconfigurable Processeurs micro-programmables Systèmes reconfigurables 3 Configuration Organisation de valeurs placées sur des points de contrôle mécanisme de chargement de ces valeurs dans la machine multiplicité possible des plans de configuration 4

Signification de la configuration (bottom up) L (Logique) Etablissement de connections de niveau logique, définition de comportements logiques CD (Chemin Données) Etablissement de connections de niveau chemins de données, contrôles d opérateurs S (Système) Définitions de séquences d opérations en liaison avec un jeu d instruction, ou un langage 5 Caractérisation du flot logiciel/matériel Le logiciel décrit une organisation de transformations à opérer sur des données, que l on peut dénommer `application le matériel décrit une structure d exécution physique permettant de réaliser des traitements, que l on peut désigner par architecture La dualité application-architecturese retrouve à plusieurs niveaux, avec des options alternatives dans le flot de conception Les outils de conceptionassurent le mapping de l application vers l architecture 6

Diagramme en Y - mapping Le modèle de référence présente l application et l architecture aux outils de mapping L architecture et l application sont conformes à des modèles abstraits connus et implicites dans les outils Les triangles peuvent s empiler et se composer modèle conforme à une vision générique Y-chart (TU-Leiden, LIACS) Architecture Application Outils spécifiques Outils de mapping Configuration ou code 7 Diagramme en Y - exploration Possibilité de recibler l application et d effectuer de l exploration architecturale Possibilité de rechercher des implantations optimales pour une architecture donnée Concept empilable: système -> chemin de données -> logique... Architecture Application Outils de mapping Analyse performances 8

1.2 (L) Niveau logique: application Input : Fichier d interchange (netlist) tables logiques macros d édition compositions hiérarchiques primitives matérielles Output : configuration.i 3.o 2 010 11 100 10.e Macro_add( ) 9 (L) Niveau logique: architecture Description Points d interconnexion aiguillages structure d une cellule comportement logique Modèle langage de description structurel paramétrique madeo (UBO), vpr (Toronto) 10

Niveau logique: outils Placement: allocation de ressources dans l architecture, à grain fin, on alloue des cellules que l on caractérise le grain logique est adapté aux ressources de synthèse Routage : recherche de chemins pour les signaux, allocation des ressources de routage floor-planning placement des composants les uns par rapport aux autres Edition: commande des outils de base afin de calculer les architectures place-route copie du module réplication du module routage du canal copie du canal etc... Processeur - canal - processeur-canal... 11 Niveau logique: références Architectures commerciales Virtex, virtex2 Altera FPGA embarqués et recherche Outils de recherche Virtual P&R (J.Rose, Toronto) Jbits (Xilinx) Madeo 12

1.3 (CD) Niveau Chemin de données : application Graphes, plats ou hiérarchiques flots d opérations (DFG) flots d opération + contrôle (CDFG) On s appuie sur des opérations primitives cablées (cas des data-paths) configurées (on s appuie sur le niveau logique) les primitives peuvent être spécifiques a x3 + c D =a+b. x2 b x < if D<x c = D*3 else c= D*2 13 Niveau Chemin de données: architecture Points de contrôle: multiplexeurs segments de bus contrôle des opérateurs sélections de registres Implantation du contrôle: microséquenceurs synthèse des controleurs 14

Niveau Chemin de données: outils ordonnancement segments de bus contrôle des opérateurs sélections de registres allocation de ressources registres opérateurs synthèse de la configuration établissement des connexions définition du contrôle Contraintes fréquence, latence ressources disponibles disponibilité des données consommation Plus ou moins: le savoir faire en synthèse d architecture explicité par Gajski/DeMicheli, appliqué à des structures fixes ou synthétisées 15 Niveau Chemin de données: exemples DART de l ENSSAT XPP de PACT réseau d opérateurs graphe d opérations pipelinées asynchrone. communication paquet reconfiguration dynamique programmation vectorielle extraite de programmes C langage de description des configurations (NML) 16

Niveau Chemin de données: exemples XPP de PACT Le graphe d opérations est placé et routé sur le circuit les PAE groupent des ALU, registres d entrées et de sorties les PAE sont connectés à un réseau qui fait circuler données et évènements Physiquement 64 ALU de 32 bits 16 mémoires 1Ko 4 ports de 32 bits x y a c b d mul mul mul mul add add FIFO1 FIFO2 17 1.4 (S1) Niveau Système: architecture Microprogrammation Présence de mots de contrôle permettant de définir des transferts et des opérations dans le processeur conceptuellement on peut assimiler ce contrôle à de la reconfiguration dynamique (opérateurs, transferts) les opérateurs sont configurés par lots, en parallèle Possibilité de construire des séquences de micro instructions associées à des instructions instruction le contrôle peut être redéfini pour construire des instructions spécifiques Mémoire de controle Microinstructions Contrôle factorisé opérandes 18

(S1) exemples d architectures Architecture MOLEN (DELFT) Jeu d instruction englobant la configuration et l exécution de modules détails de contrôle rejetés dans le reconfigurable registres de statut et registres partagés Symptome (CEA) Multi threading dans le micro code asynchronisme réseaux de Petri + opérateurs synthétisés Future direction of programmable and reconfigurable embedded processors (SAMOS02) Thèse de F.Blanc 19 Architecture de contrôle (MOLEN) Architecture de MOLEN CP: Core processing CR : Control register GPR : registres partagés rm-code : configurations CCU : custom configured unit CP mémoire buffer arbitre data Support d instructions de configuration exécution CR GPR Rm-code CCU S/X set execute R/P resident/pageable adresse Format d une instruction set/execute S/C R/P Adresse mémoire configuration 20

(S2) Niveau Système: architecture Systèmes reconfigurables Composition présence d une ou plusieurs unités reconfigurables Ips, processeurs de calcul réseau intégré processeur de contrôle, mémoire distribuée I/Os VLIW IP Unités reconfigurables grain fin ou grossier Cache, memoire externe 21 (S2) Niveau Système: application Processus et tâches Constructions hiérarchiques à la CSP orientation contrôle horloge implicite, canaux, description structurelle statique Processus de Kahn orientation flôts multimedia graphes de tâches produit par compilation, ou décomposition programmée adapté à la reconfiguration dynamique Handel-C (celoxica.com) SCORE (Berkeley) Compaan (TU Leiden) 22

(S2) Niveau Système: outils Processus communicants/petites tâches Constructions hiérarchiques à la CSP traduction HDL/netlist directe, peu de transformations floor planning, placement, routage (outils xilinx/altera) Processus de Kahn, par exemple (TU Leiden), Matlab vers affectation unique construction d un graphe de dependances polyhedral reduit construction d un réseau de taches synthèse ou compilation sur 1 ou plusieurs unités (?) Méthodes (SynDeX,..) Compilation de code orienté objet modulaire (prospectif) Compilation from matlab to process networks (Cases99) 23 1. Description du domaine 3 niveaux de reconfiguration: Logique, Chemin de Données, Système 2. Un scénario logiciel pour les systèmes reconfigurables Description prospective d une chaine de compilation 3. Conclusion 24

Objectifs Réutilisabilité des composants matériels pour plusieurs applications portée économique similaire à celle de circuits de type VirtexII, architecture système scalable outils de haut/très haut niveau Développement rapide pas de HDL compilateurs ciblant des domaines d application (flots, contrôle) Composition des outils/architectures structurée verticalement piles de diagramme Y modèles formalisant à tous les niveaux de la pile: les architectures, la structure des applications et, les outils 25 Nécessité de la productivité en développement 26

2.1 Modèle d architecture (S1+S2) Modèle système de l architecture (rappel) ensemble d unités interagissant autour d un bus communication tamponnée par paquets mémoires distribuées, et/ou DMA pour l intégration des accélérateurs reconfigurables présence d un processeur maître contrôlant le réseau, et les unités via des canaux d évènements présence d un système de pagination anticipant ou tamponnant les mouvements de données pour les streams, et jouant le rôle de cache I/Os VLIW IP Contrôle=S1 Unités reconfigurables grain fin ou grossier Mémoire externe 27 2.2 Schéma d exécution (S1+S2) Restructuration des programmes d application les noyaux de calcul, ou les blocs exigeant une forte disponibilité sont groupées dans des taches (partitionnement horizontal) le programme est partitionné verticalement en un flot de contrôle et un flot d opérations taches de niveau (CD) les taches sont ensuite synthétisées et/ou compilées pour les unités, reconfigurables et/ou programmables le système (OS) choisit à l exécution l unité appropriée et alloue cette ressource (chargement de code et/ou configuration dynamique) P2 calculs P2 controle P1 calculs P1 controle La machine est partagée entre plusieurs processus Processeur de controle 28

2.3 Flot de compilation S1+S2 partitionner les programmes en tâches, si besoin, générer le flot de contrôle et le programme de séquencement générer les tâches (plusieurs versions possibles) CD pour chaque cible possible, compiler, ou synthétiser, générer le code de communication et de synchronisation, générer les contrôleurs locaux L bottom-up : produire des librairies de composants pour la synthèse top-down : en complément, ou en alternative à CD produire des opérateurs spécifiques synthétiser le contrôle 29 programme S2 S1 Taches de calcul Tache de controle Concurrence pipeline reconfiguration Programme séquentiel évènements et micro-code communications, e/s CD Code chemin de données (DART, XPP) Netlist niveau logique L Module placé routé 30

Décomposition en taches (S2) Compilation de l application (S) partitionnement en tâches, automatique, semi-automatique, ou manuel appel du niveau chemin de données (CD) pour produire le code pour une, ou plusieurs unités génération du programme système communication+controle En se basant sur des outils de TU-Leiden... Entrée en matlab, puis productions de: Single assignment code (SAC) Polyedral reduced dependence graph (PRDG) Stream-based Function model (SBF) Conditionnement pour les unités de calcul (?) (ref Cases99, Compaan,..) Ports in État interne f1 f2 contrôleur Ports out 31 Compilation des tâches (CD) Il faut des outils spécifiques pour chaque cible cas de XPP (CD) entrée = flot de données ordonnancement des opérations allocations de ressources réalisant ces opérations placement génération de la configuration cas de Madeo (CD+L) entrée = CDFG + spec des données séparation contrôle données production d un graphe hiérarchique de tables synthétisables optimisations sur le graphe fusions de table propagation de constantes élimination des valeurs inutiles génération de code logique appel de la couche L pour le placement routage. 32

Génération de logique (L) Modélisation de l architecture cible formalisation des connectivités, de la logique disponible et de la hiérarchie du composant Parcours en profondeur du composant d application synthèse des primitives logiques, dessin des composants structurés positionnement géométrique construction des canaux de routage Analyse de performance production d informations quantitatives Modèle architecture Composant application Mapping Performances Optimisation Optimisation architecture application Diagramme en Y 33 Génération de logique (L) Prétraitements à haut niveau avant la synthèse logique moins de charge sur l optimisation logique capacité à traiter de gros problèmes niveau de spécification : calcul symbolique Construction de libraires d opérateurs pour le niveau CD Portabilité et support des Y-charts 34

Code symbolique + données transformées Synthèse hiérarchique Synthèse à plat (Architecture FPGA STMicro, Berkeley) 35 1. Description du domaine 3 niveaux de reconfiguration: Logique, Chemin de Données, Système 2. Un scénario logiciel pour les systèmes reconfigurables Description prospective d une chaine de compilation 3. Conclusion 36

Concepts présentés Y-chart : paramétrage des outils par des modèles reconnus pour les applications et les architectures Chaine ouverte de transformations structurée S/CD/L autorisant des boucles d exploration Miscibilité avec des composants en dur, donc acceptable Peut-etre efficace, mais il y a un problème majeur: la référence est celle des implémentations optimisées en VHDL le typage des langages actuel ne donne pas assez d information il faut disposer de spécifications précises sur les données et inférer automatiquement ces spécifications Dynamicité de la reconfigurabilité au niveau système 37 Extraits de bibliographie fichier bib : http://as.univ-brest.fr/~pottier/roscoff.bib Labo Architectures et Systèmes, UBO http://as.univ-brest.fr/reports http://as.univ-brest.fr/~pottier/samos.pdf Projet BRASS, U.C.Berkeley (utilisation dynamique des ressources reconfigurables) papier FPL2001 sur SCORE, implémentation MPEG, + Mescal.. Http://brass.cs.berkeley.edu Workshop CASES99,.. Compilation from Matlab to process networks (TU-Leiden) Workshop SAMOS02 (Dekker, ed. 2003 ) Future directions of empbedded processors (TU-Delft) Realizations of the extended.. Compaan tool chains (High level system evaluation, liacs, tu-leiden) PACT XPP A self reconfigurable data processing architecture, autres docs http://www.pactcorp.com Projets (et relations industrielles) relations régionales (IRISA, LESTER,..) Projet RNTL OSGAR (CEA/UBO/IRISA/TNI) Projet PHRASE (STMicroelectronics/UBO/IRISA/Enstb) DART (Enssat), Alpha, PIPS, 38