Méthodologie de conception pour la virtualisation et le déploiement d applications parallèles sur plateforme reconfigurable matériellement



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

Equilibrage de charge (Load

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

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Communications performantes par passage de message entre machines virtuelles co-hébergées

en version SAN ou NAS

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5

Ecole Mohammadia d Ingénieurs Systèmes Répartis Pr. Slimane Bah, ing. PhD G. Informatique Semaine 24

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

Change the game with smart innovation

vbladecenter S! tout-en-un en version SAN ou NAS

Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs. Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle

Contributions à l expérimentation sur les systèmes distribués de grande taille

Master (filière Réseau) Parcours Recherche: Systèmes Informatiques et Réseaux (RTS)

Les environnements de calcul distribué

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

Initiation au HPC - Généralités

Java à Murex: un retour d'expérience. Jean-Pierre DACHER & Craig MORRISON

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

A. Elmrabti. To cite this version: HAL Id: tel

Retour d expérience en Astrophysique : utilisation du Cloud IaaS pour le traitement de données des missions spatiales

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Linux embarqué: une alternative à Windows CE?

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU

Application de K-means à la définition du nombre de VM optimal dans un cloud

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

Hétérogénéité pour atteindre une consommation énergétique proportionnelle dans les clouds

Editeur de solutions innovantes C 3. Solution globale managée de communication et de téléphonie sur IP

GRIDKIT: Pluggable Overlay Networks for Grid Computing

Conception et Intégration de Systèmes Critiques

Chapitre 2 : Abstraction et Virtualisation

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

APX et VCE, Modèle d industrialisation de l intégration et du déploiement. Olivier BERNARD, VCE

Systèmes d exploitation

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

Dafoe Présentation de la plate-forme UIMA

UNIFIED. Nouvelle génération d'architecture unifiée pour la protection des données D TA. dans des environnements virtuels et physiques PROTECTION

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine Slimane.bah@emi.ac.ma

Cryptoprocesseurs et virtualisation

Chapitre 1. Infrastructures distribuées : cluster, grilles et cloud. Grid and Cloud Computing

LES SOLUTIONS OPEN SOURCE RED HAT

Grid 5000 : Administration d une infrastructure distribuée et développement d outils de déploiement et d isolation réseau

Séminaire RGE REIMS 17 février 2011

Système d administration autonome adaptable: application au Cloud

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription

L essentiel. Coopérative, flexible, très performante : la plateforme Engineering Base. web aucotec.com

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

Evolution des technologies et émergence du cloud computing Drissa HOUATRA, Orange Labs Issy

11 Février 2014 Paris nidays.fr. france.ni.com

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

La Forge INRIA : bilan et perspectives. Hervé MATHIEU - 11 mai 2010

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

Séminaire Partenaires Esri France 6 et 7 juin 2012 Paris. ArcGIS et le Cloud. Gaëtan LAVENU

Quoi de neuf en LabVIEW FPGA 2010?

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

Premier Accelerate Packages: Azure Fast Start

Limitations of the Playstation 3 for High Performance Cluster Computing

SysFera. Benjamin Depardon

Rapport d activité. Mathieu Souchaud Juin 2007

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Environnements de développement (intégrés)

Tivoli Endpoint Manager Introduction IBM Corporation

Gamme Serveurs HP ProLiant Rack

Infrastructures Parallèles de Calcul

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Les mésocentres HPC àportée de clic des utilisateurs industriels

Maîtrise énergétique des centres de données

NFP111 Systèmes et Applications Réparties

Table des matières. Chapitre 1 Les architectures TSE en entreprise

Architecture Reconfigurable Hétérogène à Gestion Hiérarchique Distribuée pour la Reconfiguration et la Prise de Décision

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

Démêler la complexité

Une solution de stockage VDI unifiée, flexible et disponible pour vos utilisateurs

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

La tête dans les nuages

Catalogue des stages Ercom 2013

Génie logiciel (Un aperçu)

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Sanity Check. bgcolor mgcolor fgcolor

Accélérez votre émulateur Android

Sécurité des entrepôts de données dans le Cloud Un SaaS pour le cryptage des données issues d un ETL

Moderniser. le système d information et le portefeuille applicatif.

CURRICULUM VITAE. Informations Personnelles

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com IBM Corporation

Virtualisation sous Linux L'age de raison. Daniel Veillard

Architecture des ordinateurs

Pierre De Dobbeleer. Spécialiste Project Management, Electronique, Réseaux et télécommunications

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

Dynamic Computing Services solution de backup. White Paper Stefan Ruckstuhl

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

IRL : Simulation distribuée pour les systèmes embarqués

Eric Bertrand 08/11/06 Maître de conférence 1

Transcription:

Méthodologie de conception pour la virtualisation et le déploiement d applications parallèles sur plateforme reconfigurable matériellement Soutenance de thèse du 24 octobre 2012 Clément Foucher En présence du jury : Jean-Luc Dekeyser, rapporteur Guy Gogniat, rapporteur Alexandre Nketsa, examinateur Alain Giulieri, directeur de thèse Fabrice Muller, co-encadrant

Plan Introduction Modèle d application L architecture SPoRE Plateforme logicielle MPI Plateforme matérielle reconfigurable Conclusion 24 octobre 2012 2/50

INTRODUCTION Introduction Contexte Motivations Objectifs Modèle d application L architecture SPoRE Plateforme logicielle MPI Plateforme matérielle reconfigurable Conclusion 24 octobre 2012 3/50

Introduction Contexte Applications et systèmes de traitement des données Utilisation quotidienne Visible ou non En constante évolution Changement de paradigmes pour répondre aux obstacles Recherche de puissance Parallélisation Utilisation de ressources hétérogènes Processeurs spécialisés (GPUs, DSPs, ) Accélérateurs matériels Reconfiguration matérielle Médecine IBM Blue gene Loisirs Vie publique Soutenable? Loi de Moore GPU FPGA 24 octobre 2012 4/50

Introduction Parallélisme et hétérogénéité Avant-hier Hier Aujourd hui Demain? App App App App App App App PE PE PE PE PE PE PE PE PE Processeur 4 cœurs PE PE GPU PE GPU PE DSP PE PE FPGA PE App App App App App App 24 octobre 2012 5/50

Introduction Reconfiguration matérielle Reconfiguration totale Reconfiguration partielle Gestion de la reconfig. Système FPGA Système reconfig. Système Gestion de la reconfig. Zone reconfigurable Nécessité d un contrôleur externe Possibilité de système entièrement sur FPGA (SoPC) 24 octobre 2012 6/50

Introduction Motivations Conception des applications centrée sur le logiciel Matériel vu comme une aide ponctuelle Dépasser le clivage logiciel / matériel Difficulté de mise en œuvre de la reconfiguration partielle Reconfiguration partielle inutilisée dans l industrie Gérer de manière transparente le processus 24 octobre 2012 7/50

Méthodologie pour la prise en charge du cycle de vie des applications parallèles Modélisation Développement / implémentation Déploiement et exploitation Gestion de l hétérogénéité des systèmes Logiciels / matériels Introduction Objectifs Statiques / dynamiques (reconfigurables) 24 octobre 2012 8/50

MODÈLE D APPLICATION Introduction Modèle d application Hiérarchie Traitement Contrôle L architecture SPoRE Plateforme logicielle MPI Plateforme matérielle reconfigurable Conclusion 24 octobre 2012 9/50

Modèle d application Les applications hétérogènes Environnements et APIs OpenCL [1] API pour la coordination des calculs Langage OpenCL-C pour l implémentation des calculs Cible : CPUs, GPUs, DSPs et FPGAs [2] «High level synthesis» depuis OpenCL-C CUDA [3] C for CUDA permet de programmer les CUDA cores Cible : CPUs et GPUs basés sur les «CUDA cores» High-Level Synthesis Xilinx Vivado High-Level Synthesis (ex-autoesl) [4] Catapult C [5] [1] Peter Thoman et al., University of Innsbruck, Automatic OpenCL device characterization : Guiding optimized kernel design, 2011 [2] http://www.altera.com/literature/wp/wp-01173-opencl.pdf [3] John Nickolls et al., University of Virginia, Scalable parallel programming with CUDA, 2008 [4] http://www.xilinx.com/products/design-tools/vivado/integration/esl-design/hls/index.htm [5] http://www.calypto.com/catapult_c_synthesis.php 24 octobre 2012 10/50

Profil d applications visé Applications parallèles Utilisation de ressources hétérogènes Portabilité Calculateurs hautes performances Embarqué Flexibilité Spécifications du modèle Auto-adaptativité Modèle d application 24 octobre 2012 11/50

Modèle d application Hiérarchie Applications : deux couches interdépendantes mais distinctes Contrôle : coordonne les calculs Traitement : réalise les calculs Séparation des deux couches : virtualisation Autoriser plusieurs implémentations d un même traitement 24 octobre 2012 12/50

Notion de noyau Algorithme exécuté sur une unité de calcul Application parallèle Modèle d application Traitement (1/2) Plusieurs noyaux exécutés simultanément Démarrage de l application Exécution d un noyau suivie par l exécution simultanée de deux noyaux 24 octobre 2012 13/50

Modèle d application Traitement (2/2) Noyau Noyau Choix Noyau virtuel PE PE Implémentations disponibles Noyau Noyau Noyau lié à une unité d exécution PE disponible PE 24 octobre 2012 14/50

Modèle d application Contrôle Hiérarchie Distribution de la couche de contrôle Modèle général utilisé dans les hauts degrés de parallélisme Indépendance vis-àvis des unités d exécution Portabilité Même application Contrôle local Traitement Contrôle Contrôle global Contrôle global Contrôle Contrôle local Traitement PE PE PE PE PE PE Contrôle Traitement local Traitement local Traitement local PE PE PE PE PE 24 octobre 2012 15/50

Modèle d application Modélisation et implémentation Modèle de l application Implémentation logicielle Application Code noyau 1 Code noyau 2 Contrôle? Traitement 1 Traitement 2 Implémentation logicielle accélérée Application Code noyau 1 Appel noyau 2 Impl. Contrôle Implémentation hétérogène native Contrôle Application Appel noyau 1 Appel noyau 2 Traitement Impl. Impl. 24 octobre 2012 16/50

Destiné aux applications parallèles et à la prise en charge du matériel reconfigurable Autoriser plusieurs implémentations pour chaque noyau Logicielles Matérielles Reconfigurables Modèle d application Conclusion Portabilité Description du contrôle indépendamment de l architecture d exécution Publication : modèle présenté dans une conférence nationale C. Foucher, F. Muller et A. Giulieri, Flot de conception d'applications parallèles sur plateforme reconfigurable dynamiquement, 14 ème Symposium en Architectures nouvelles de machines (SympA), St. Malo, France, 2011 24 octobre 2012 17/50

L ARCHITECTURE SPORE S imple P arallel platf o rm for R econfigurable E nvironment Introduction Modèle d application L architecture SPoRE Topologie Niveau système Niveau local Plateforme logicielle MPI Plateforme matérielle reconfigurable Conclusion 24 octobre 2012 18/50

L architecture SPoRE Plateformes : nature et parallélisme Matériel econfigurable FPGA ASIC Faible Embarqué SoPC Hétérogène HPRC Fort Multicœur, multiprocesseur Manycore HPC Logiciel 24 octobre 2012 19/50

L architecture SPoRE Plateformes reconfigurables High Performance Reconfigurable Computers (HPRC) [6] HPC + FPGA Diverses plateformes : MpSoC reconfigurables [7, 8] Multicores/manycores modulaire ReMAP [9] PEs logiciels couplés à des zones reconfigurables Utilisation des zones reconfigurables pour communication + calcul BORPH [10] «Enrobage» des tâches matérielles dans des processus UNIX Egret [11] Plateforme modulaire, possibilité d introduire des «cartes d extension» reconfigurables [6] El-Ghazawi et al., George Washington University, The promise of High-Performance Reconfigurable Computing, 2008 [7] G. Beltrame et al., European Space Agency and Politecnico di Milano, High-Level Modeling and Exploration of Reconfigurable MPSoCs, 2008 [8] L. Ye et al., Université Européenne de Bretagne, Modeling of Reconfigurable MPSoCs for On-Demand Computing, 2009 [9] M. Watkins and D. Albonesi, Cornell University, ReMAP: A Reconfigurable Heterogeneous Multicore Architecture, 2010 [10] H. So and R. Brodersen, University of California, A unified hardware/software runtime environment for FPGA-based reconfigurable computers using BORPH, 2008 [11] Bergmann et al., University of Queensland, Egret : A flexible platform for real-time reconfigurable systems on chip, 2003 24 octobre 2012 20/50

L architecture SPoRE Mémoire et communication [12] Localement partagée Open Multi Processing (OpenMP) [13] : communication par mémoire partagée Globalement distribuée Message Passing Interface (MPI) [14] : communication par échange de messages Nœud Mémoire locale PE Nœud Mémoire locale PE Interconnexion Nœud Mémoire locale PE [12]Yoshio Oyanagi, University of Tokyo, Future of supercomputing, 2002 [13] Jay P. Hoeflinger et al., Intel, Parallel programming in OpenMP, 2008 [14] R. Hempel and D. Walker, Computations and Communications Research Laboratories and University of Wales, The emergence of the MPI message passing standard for parallel computing, 1999 24 octobre 2012 21/50

L architecture SPoRE La plateforme SPoRE Architecture mémoire Localement partagée, globalement distribuée Introduction de nœuds spéciaux Serveur(s) de données [15] Nœud maitre Ordonnanceur global Point d entrée Serveur de données Nœud maître Interconnexion Nœud [15] J. Crenne et al., Université Européenne de Bretagne, End-to-end bitstreams repository hierarchy for FPGA partially reconfigurable systems, 2011 24 octobre 2012 22/50

L architecture SPoRE Les nœuds SPoRE Séparation en cellules Cellules de calcul Traitement Cellule hôte Contrôle Ordonnanceur local Communication Locale Distante Nœud Cellule de calcul Cellule hôte Mémoire centrale Cellule de calcul Gestion de la cellule Vers les autres nœuds Stockage Cellule de calcul 24 octobre 2012 23/50

SPoRE et les architectures existantes Autres plateformes HPRC Vision logiciel accéléré ReMAP Base logicielle, utilisation marginale du matériel (communication, accélération) MpSoC Uniquement logiciel BORPH Très bonne intégration dans le standard UNIX Difficulté d adaptation des IPs matériels Egret Très forte modularité Intégration temps réel Pas de prise en charge de la reconfiguration partielle L architecture SPoRE SPoRE Vs. HPRC, ReMAP, MpSoC Utilisation de logiciel ou matériel selon les besoins, sans préférence Vs. BORPH Meilleure portabilité (indépendance par rapport à UNIX) Réutilisation facilitée d IPs matériels Vs. Egret Prise en charge automatisée du processus de reconfiguration partielle 24 octobre 2012 24/50

L architecture SPoRE Conclusion Plateforme Distribuée Passage à l échelle par ajout de nœuds Cohérence avec le modèle d application Passage immédiat du modèle vers l implémentation Prise en charge transparente de la reconfiguration dynamique partielle Validation du modèle Prototypage Plateforme logicielle MPI Plateforme matérielle reconfigurable flot de données 24 octobre 2012 25/50

PLATEFORME LOGICIELLE MPI Introduction Modèle d application L architecture SPoRE Plateforme logicielle MPI Objectifs Architecture Validation Plateforme matérielle reconfigurable Conclusion 24 octobre 2012 26/50

Vérification de l adaptation aux forts taux de parallélisme Modèle type HPC Validation de la structure locale des nœuds Pertinence de la séparation des rôles Cellule de calcul Cellule hôte Plateforme logicielle MPI Objectifs Validité du modèle mémoire Mémoire partagée gérée par la cellule hôte 24 octobre 2012 27/50

Plateforme logicielle MPI Comment? Déploiement sur carte de prototypage Xilinx ml507 Architecture des nœuds SPoRE Linux embarqué Nœud Exécution d une application de test Evaluation des performances 24 octobre 2012 28/50

Plateforme homogène Nœuds identiques Cellules de calcul identiques Exécution logicielle Basée sur MPI Plateforme logicielle MPI Architecture niveau système Nœud spécial : nœud maître Ne procède à aucun calcul Sert de point d entrée 24 octobre 2012 29/50

Plateforme logicielle MPI Architecture des nœuds Cellule hôte Architecturée autour d un processeur Gestion logicielle du nœud Linux embarqué Ordonnanceur MPI Pas d intégration d OpenMP Nécessiterait de développer un compilateur Cellules de calcul MicroBlaze (Xilinx) [16] [16] http://www.xilinx.com/tools/microblaze.htm 24 octobre 2012 30/50 Nœud Cellule de Cellule de calcul calcul PLB PLB PLB PLB Ethernet MAC Ethernet Cellule de calcul Cellule hôte MailBoxes

Plateforme logicielle MPI Runtime des cellules de calcul Cellule de calcul Ordre de démarrage Cellule hôte Contrôle MicroBlaze Mailbox Boot Mémoire partagée Chargement Runtime Branch Noyau Mémoire locale 24 octobre 2012 31/50

Plateforme logicielle MPI Application de test Utilisation du benchmark NPB IS Teste principalement les communications Chaque noyau : Initialisation aléatoire «Tri casier» local Envoi de chaque casier au noyau correspondant Tri local Vérification n-1 n Noyau i Init. Tri n-1 Env. n-1 Comm Tri Vérif 24 octobre 2012 32/50

Plateforme logicielle MPI Adaptation et configuration Adaptation de l application Extraction des noyaux tri / communication Remplacement par un proxy Création du noyau MicroBlaze correspondant Exécution Plusieurs configurations Avec et sans cache Nombre de cellules par nœud A nombre de cellules total constant Nombre de nœuds A nombre de cellules par nœud constant 24 octobre 2012 33/50

Temps d exécution du benchmark (s) Plateforme logicielle MPI Validation : résultats 200 150 Augmentation du nombre de noyaux = diminution du temps d exécution Nombre de cellules actives par nœud 100 50 Augmentation de la concentration des noyaux = augmentation du temps d exécution 4 (sans cache) 2 (sans cache) 1 (sans cache) 2 (avec cache) 1 (avec cache) 0 4 8 16 32 Nombre total de cellules actives dans la plateforme 24 octobre 2012 34/50

Plateforme logicielle MPI Conclusion Validation du principe Adapté aux applications de type HPC Problèmes de performance Dus aux échanges MPI au sein du nœud Perspectives Modification du modèle mémoire Utilisation d un système de communication type ReMAP? MPI matériel [17] Extension aux processeurs hétérogènes [17] W. Chung et al., Yonsei University, A Low-Cost Standard Mode MPI Hardware Unit for Embedded MPSoC, 2011 Publication : plateforme présentée dans une conférence internationale IEEE C. Foucher, F. Muller and A. Giulieri, Exploring FPGAs capability to host a HPC design, 28 th Norchip conference, Tampere, Finland, 2010 24 octobre 2012 35/50

PLATEFORME MATÉRIELLE RECONFIGURABLE Introduction Modèle d application L architecture SPoRE Plateforme logicielle MPI Plateforme matérielle reconfigurable Objectifs Architecture Validation Conclusion 24 octobre 2012 36/50

Plateforme matérielle reconfigurable Objectifs Gérer la reconfiguration matérielle partielle Processus transparent pour le développeur Cohabitation logiciel / matériel Concevoir la couche de virtualisation Possibilité de fournir plusieurs implémentations Standardisation des interactions avec les noyaux 24 octobre 2012 37/50

Serveur de données Stockage des éléments de l application Implémentations, données, description Nœud maître Plateforme matérielle reconfigurable Architecture niveau système Pas d implémentation MPI Ordonnanceur indépendant 24 octobre 2012 38/50

Plateforme matérielle reconfigurable Architecture des nœuds Base identique à la plateforme précédente Sauf communication basée sur NoC / Bus Cellules de calcul Contrôleur statique Interface avec le reste du nœud Fonctionnalités de monitoring Hôte reconfigurable Cellule hôte Runtime de gestion complet Hôte de noyau Contrôleur de noyau Gestionnaire de cellules Ordonnanceur local Ordonnanceur global Cellules de calcul Cellule hôte Linux embarqué Noeud Hôte de noyau Contrôleur de noyau Gestionnaire de reconfiguration Gestionnaire de stockage Serveur de données Réseau SPoRE FaRM Hôte de noyau Contrôleur de noyau Autres nœuds Stockage des paramètres Stockage des fichiers de configuration Mémoire NoC / Bus 24 octobre 2012 39/50

Plateforme matérielle reconfigurable Structure des applications Descripteur d application Liste les noyaux et leurs relations Couche de contrôle Descripteur de noyau Implémentations d un noyau Interaction avec la couche de virtualisation Descripteurs de contrôle / ports Décrit les interactions au moyen d accesseurs Préemption «maîtrisée» du matériel Descripteur d application Descripteur de noyau Impl. Impl. Couche de virtualisation Descripteur de contrôle Impl. Descripteur de ports 24 octobre 2012 40/50

Plateforme matérielle reconfigurable Application de test : AES Modèle d application «flot de données» Encodage d un fichier Décodage du fichier Transmission de données Env Récupération depuis l environnement Passage de résultat entre les noyaux Restitution du résultat à l environnement Encodeur Décodeur Env 24 octobre 2012 41/50

Plateforme matérielle reconfigurable Flot de création de l application <Kernel> </Kernel> <Kernel> Plateforme SPoRE </Kernel> <Kernel> </Kernel> <Kernel> Modélisation de l application Identification des noyaux Modélisation du contrôle </Kernel> Implémentation en XML Réseau 1 2 3 4 A Implémentation de l application Offline C Exécution B 1 2 Noyau virtuel Implémentation des noyaux Implémentations du noyau Implémentation logicielle Implémentation matérielle 1 cellule Implémentation matérielle 2 cellules Réseau Ordonnancement dynamique Online 24 octobre 2012 42/50

Plateforme matérielle reconfigurable Noyaux matériels reconfigurables Cellule Decod. Encod. reconfig. Exéc. logicielle Cellule Decod. Encod. reconfig. 24 octobre 2012 43/50

Plateforme matérielle reconfigurable Evaluation des performances -87 % -85 % -82 % -44 % -44 % -46 % 24 octobre 2012 44/50

Plateforme matérielle reconfigurable Conclusion Fonctionnement Interactions avec les IPs de type registre / plage mémoire Echanges possibles par mémoire partagée Perspectives Développement de l aspect ordonnancement Utilisation des données de monitoring pour l auto-adaptativité Publications : travaux sur la plateforme et résultats Journal international : C. Foucher, F. Muller and A. Giulieri, Online codesign on reconfigurable platform for parallel computing, Microprocessors and Microsystems, ISSN 0141-9331, 10.1016/j.micpro.2011.12.007, 2012 Journal national : C. Foucher, F. Muller et A. Giulieri, Méthodologie dédiée aux applications parallèles sur plateforme reconfigurable dynamiquement, Technique et Science Informatiques, 2012 Conférence internationale IEEE : C. Foucher, F. Muller and A. Giulieri, Fast Integration of Hardware Accelerators for Dynamically Reconfigurable Architecture, 7 th International Workshop on Reconfigurable Communicationcentric Systems-on-Chip (ReCoSoC ), York, U.K., 2012 24 octobre 2012 45/50

CONCLUSION Introduction Modèle d application L architecture SPoRE Plateforme logicielle MPI Plateforme matérielle reconfigurable Conclusion Bilan Perspectives 24 octobre 2012 46/50

Conclusion Bilan Proposition d une méthodologie de développement d applications et d un modèle associé Applications parallèles hétérogènes Gestion transparente de la reconfiguration partielle Validation au travers de deux plateformes Plateforme logicielle Orientée HPC Plateforme matérielle reconfigurable Orientée flot de données Modèle embarqué Publications Nationales et internationales, conférences et journaux 24 octobre 2012 47/50

Conclusion Perspectives d évolution Plateforme «de la grande unification» MPI Reconfiguration matérielle Réseaux MPI matériels reconfigurables [18] Intégration dans un flot de conception automatisé Outils FoRTReSS (en cours de publication) Flow for Reconfigurable architectures in Real-time SystemS Conception graphique, génération automatique des XML IP-XACT [19] Développement de l aspect auto-adaptatif Intégration de nouvelles métriques Energie Température Contrôleur de noyau «intelligent» Déclenchement d interruptions pour informer le système de manière asynchrone [18] S. Gao et al., University of Southern California,Impact of reconfigurable hardware on accelerating MPI_Reduce, 2010 [19] www.spiritconsortium.org 24 octobre 2012 48/50

Conclusion Perspectives d utilisation Accélération du time-to-market. Création d applications sur la base de la réutilisation Prise en charge de la reconfiguration partielle y compris pour des IPs statiques existants Faible niveau d efforts requis pour l adaptation Plateforme de développement Rapidité de déploiement de tests sur des IPs matériels Exécution simultanée de plusieurs tests différents Test d algorithmes d ordonnancement Structure modulaire autorisant la modification des deux niveaux d ordonnanceurs Possibilité de faire remonter des informations Auto-adaptativité Algorithmes évolutifs et apprentissage 24 octobre 2012 49/50

Merci pour votre attention

Questions

Bibliographie [1] Peter Thoman, Klaus Kofler, Heiko Studt, John Thomson, and Thomas Fahringer. Automatic OpenCL device characterization : Guiding optimized kernel design. In Emmanuel Jeannot, Raymond Namyst, and Jean Roman, editors, Euro-Par 2011 Parallel Processing, volume 6853 of Lecture Notes in Computer Science, pages 438 452. Springer Berlin / Heidelberg, 2011 [2] http://www.altera.com/literature/wp/wp-01173-opencl.pdf [3] John Nickolls, Ian Buck, Michael Garland, and Kevin Skadron. Scalable parallel programming with CUDA. In ACM SIGGRAPH 2008 classes, SIGGRAPH 08, pages 16 :1 16 :14, New York, NY, USA, 2008. ACM. [4] http://www.xilinx.com/products/design-tools/vivado/integration/esl-design/hls/index.htm [5] http://www.calypto.com/catapult_c_synthesis.php [6] Tarek El-Ghazawi, Esam El-Araby, Miaoqing Huang, Kris Gaj, Volodymyr Kindratenko, and Duncan Buell. The promise of High-Performance Reconfigurable Computing. Computer, 41 :69 76, February 2008. [7] Giovanni Beltrame, Luca Fossati, and Donatella Sciuto. 2008. High-Level Modeling and Exploration of Reconfigurable MPSoCs. In Proceedings of the 2008 NASA/ESA Conference on Adaptive Hardware and Systems (AHS '08). IEEE Computer Society, Washington, DC, USA, 330-337. DOI=10.1109/AHS.2008.15 http://dx.doi.org/10.1109/ahs.2008.15 [8] Ye L., Diguet J.-P., Gogniat G., Reconfigurable MPSoCs for On-Demand Computing. In GRETSI 2009, Dijon : France (2009) [9] Matthew A. Watkins and David H. Albonesi. 2010. ReMAP: A Reconfigurable Heterogeneous Multicore Architecture. In Proceedings of the 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO '43). IEEE Computer Society, Washington, DC, USA, 497-508. DO=10.1109/MICRO.2010.15 http://dx.doi.org/10.1109/micro.2010.15 [10] Hayden Kwok-Hay So and Robert Brodersen. A unified hardware/software runtime environment for fpga-based reconfigurable computers using borph. ACM Trans. Embed. Comput. Syst., 7 :14 :1 14 :28, January 2008. [11] Neil Bergmann, John Williams, and Peter Waldeck. Egret : A flexible platform for real-time reconfigurable systems on chip. In International Conference on Engineering of Reconfigurable Systems and Algorithms, pages 300 303, Las Vegas, USA, 2003. [12] Yoshio Oyanagi. Future of supercomputing. J. Comput. Appl. Math., 149(1):147 153, 2002. [13] Jay P. Hoeflinger and Bronis R. De Supinski. The OpenMP memory model. In Proceedings of the 2005 and 2006 international conference on OpenMP shared memory parallel programming, IWOMP 05/IWOMP 06, pages 167 177, Berlin, Heidelberg, 2008. Springer-Verlag. [14] Rolf Hempel and David W. Walker. The emergence of the MPI message passing standard for parallel computing. Comput. Stand. Interfaces, 21 :51 62, May 1999. [15] J. Crenne, P. Bomel, G. Gogniat, J.P. Diguet, End-to-end bitstreams repository hierarchy for FPGA partially reconfigurable systems, in: G. Gogniat, D. Milojevic, A. Morawiec, A. Erdogan (Eds.), Algorithm Architecture Matching for Signal and Image Processing, Lecture Notes in Electrical Engineering, vol. 73, Springer, 2011, pp. 171 194. [16] http://www.xilinx.com/tools/microblaze.htm [17] W. Chung et al., A Low-Cost Standard Mode MPI Hardware Unit for Embedded MPSoC. IEICE Transactions 94-D(7):1497-1501 (2011) [18] Gao, S.; Schmidt, A. G. & Sass, R. (2010), Impact of reconfigurable hardware on accelerating MPI_Reduce., in Jinian Bian; Qiang Zhou; Peter Athanas; Yajun Ha & Kang Zhao, ed., 'FPT', IEEE,, pp. 29-36. [19] SPIRIT Schema Working Group Membership. IP-XACT User Guide v1.2. www.spiritconsortium.org, July 2006. 24 octobre 2012 Bibliographie