52
Méthodologie de conception pour la virtualisation et le déploiement d’applications parallèles sur plateforme reconfigurable matériellement 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 Soutenance de thèse du 24 octobre 2012 Clément Foucher

Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

reconfigurable matériellement

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

Soutenance de thèse du 24 octobre 2012

Clément Foucher

Page 2: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Plan

Introduction

Modèle d’application

L’architecture SPoRE

Plateforme logicielle MPI

Plateforme matérielle reconfigurable

Conclusion

24 octobre 2012 2/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Page 3: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Page 4: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

Contexte Introduction

24 octobre 2012 4/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Loisirs

Vie publique

Médecine

Loi de Moore

Soutenable ?

IBM Blue gene

GPU

FPGA

Page 5: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Parallélisme et hétérogénéité Introduction

24 octobre 2012 5/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

PE

Avant-hier

App

App

PE

Hier

PE

App App

App

Aujourd’hui

PE PE

PE PE

App App

App App

Demain ?

PE PE

PE PE

PE PE

PE

PE

PE GPU

FPGA

Processeur 4 cœurs

DSP

GPU

App App

App App

Page 6: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Système

Gestion de la

reconfig.

Reconfiguration partielle

Possibilité de système entièrement sur FPGA (SoPC)

Système

Gestion de la

reconfig.

FPGA

Reconfiguration totale

Nécessité d’un contrôleur externe

Reconfiguration matérielle Introduction

24 octobre 2012 6/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Système reconfig. Système reconfig.

Zone reconfigurable

Zone reconfigurable

Page 7: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

Motivations Introduction

24 octobre 2012 7/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Page 8: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

Statiques / dynamiques (reconfigurables)

Objectifs Introduction

24 octobre 2012 8/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Page 9: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Page 10: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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]

Les applications hétérogènes Modèle d’application

24 octobre 2012 10/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

[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

Page 11: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Profil d’applications visé

Applications parallèles

Utilisation de ressources hétérogènes

Portabilité

Calculateurs hautes performances

Embarqué

Flexibilité

Auto-adaptativité

Spécifications du modèle Modèle d’application

24 octobre 2012 11/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Page 12: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

Hiérarchie Modèle d’application

24 octobre 2012 12/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Page 13: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Notion de noyau

Algorithme exécuté sur une unité de calcul

Application parallèle

Plusieurs noyaux exécutés simultanément

Traitement (1/2) Modèle d’application

24 octobre 2012 13/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Exécution d’un noyau…

Démarrage de l’application

…suivie par l’exécution simultanée de deux noyaux

Page 14: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Traitement (2/2) Modèle d’application

24 octobre 2012 14/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Noyau

PE

Noyau

PE

Noyau lié à une unité d’exécution

Noyau virtuel

Noyau

PE

Noyau

PE disponible

Implémentations disponibles

Choix

Page 15: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Contrôle local Traitement

Contrôle local Traitement

Contrôle local Traitement

Contrôle global

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é

Contrôle Modèle d’application

24 octobre 2012 15/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Contrôle global

Contrôle local Traitement

Contrôle local Traitement

PE PE PE PE PE PE

PE PE PE PE PE

Même application

Page 16: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Modélisation et implémentation Modèle d’application

24 octobre 2012 16/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

2

1

Modèle de l’application

Application Code noyau 1 Code noyau 2

Implémentation logicielle

Application Code noyau 1 Appel noyau 2

Implémentation logicielle accélérée

Application Appel noyau 1 Appel noyau 2

Implémentation hétérogène native

Contrôle ?

Traitement

Contrôle

Traitement

Impl.

Impl.

Impl.

Traitement Contrôle

Page 17: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

Description du contrôle indépendamment de l’architecture d’exécution

Conclusion Modèle d’application

24 octobre 2012 17/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Portabilité

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

Page 18: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

L’ARCHITECTURE SPORE 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 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

S imple

P arallel

platf o rm for

R econfigurable

E nvironment

Page 19: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Plateformes : nature et parallélisme L’architecture SPoRE

24 octobre 2012 19/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Faible Fort

Matériel

Logiciel

Hétérogène

Multicœur, multiprocesseur

Embarqué

Manycore HPC

ASIC

SoPC

HPRC

FPGA

econfigurable

Page 20: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

Plateformes reconfigurables L’architecture SPoRE

24 octobre 2012 20/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

[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

Page 21: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

Mémoire et communication [12] L’architecture SPoRE

24 octobre 2012 21/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

[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

Nœud Mémoire

locale

PE

Nœud Mémoire

locale

PE

Nœud Mémoire

locale

PE

Interconnexion

Page 22: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

La plateforme SPoRE L’architecture SPoRE

24 octobre 2012 22/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

[15] J. Crenne et al., Université Européenne de Bretagne, End-to-end bitstreams repository hierarchy for FPGA partially reconfigurable systems, 2011

Nœud maître

Nœud Serveur

de données

Interconnexion

Page 23: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Séparation en cellules

Cellules de calcul

Traitement

Cellule hôte

Contrôle Ordonnanceur local

Communication Locale

Distante

Les nœuds SPoRE L’architecture SPoRE

24 octobre 2012 23/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Nœud

Mémoire centrale

Cellule hôte

Vers les autres nœuds

Cellule de calcul

Cellule de calcul

Cellule de calcul

Stockage Gestion de la cellule

Page 24: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

SPoRE et les architectures existantes L’architecture SPoRE

24 octobre 2012 24/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

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

SPoRE Autres plateformes

Page 25: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

Conclusion L’architecture SPoRE

24 octobre 2012 25/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Page 26: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Page 27: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

Validité du modèle mémoire

Mémoire partagée gérée par la cellule hôte

Objectifs Plateforme logicielle MPI

24 octobre 2012 27/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Page 28: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Comment ? Plateforme logicielle MPI

24 octobre 2012 28/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Déploiement sur carte de prototypage Xilinx ml507

Architecture des nœuds SPoRE

Nœud Exécution d’une application de test

Evaluation des performances

Linux embarqué

Page 29: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Plateforme homogène

Nœuds identiques

Cellules de calcul identiques

Exécution logicielle

Basée sur MPI

Nœud spécial : nœud maître

Ne procède à aucun calcul

Sert de point d’entrée

Architecture niveau système Plateforme logicielle MPI

24 octobre 2012 29/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Page 30: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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]

Architecture des nœuds Plateforme logicielle MPI

24 octobre 2012 30/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

[16] http://www.xilinx.com/tools/microblaze.htm

Nœud

Ethernet

Cellule de calcul

Cellule de calcul

Cellule de calcul

PLB PLB PLB

Cellule hôte

PLB

Ethernet MAC

MailBoxes

Page 31: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Runtime des cellules de calcul Plateforme logicielle MPI

24 octobre 2012 31/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Cellule de calcul

MicroBlaze

Mémoire locale

Runtime

Mémoire partagée

Noyau Branch

Cellule hôte

Mailbox

Contrôle

Boot Chargement

Ordre de démarrage

Page 32: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

Application de test Plateforme logicielle MPI

24 octobre 2012 32/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

n-1

n

Noyau i

Init.

Tri

Comm Env.

n-1

n-1 Tri

Vérif

Page 33: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

Adaptation et configuration Plateforme logicielle MPI

24 octobre 2012 33/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Page 34: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

0

50

100

150

200

4 8 16 32

Tem

ps

d’e

xécu

tio

n d

u b

en

chm

ark

(s)

Nombre total de cellules actives dans la plateforme

4 (sans cache)

2 (sans cache)

1 (sans cache)

2 (avec cache)

1 (avec cache)

Nombre de cellules actives

par nœud

Validation : résultats Plateforme logicielle MPI

24 octobre 2012 34/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Augmentation du nombre de noyaux =

diminution du temps d’exécution

Augmentation de la concentration des noyaux =

augmentation du temps d’exécution

Page 35: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

Conclusion Plateforme logicielle MPI

24 octobre 2012 35/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

[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, 28th Norchip conference, Tampere, Finland, 2010

Page 36: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Page 37: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

Objectifs Plateforme matérielle reconfigurable

24 octobre 2012 37/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Page 38: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Serveur de données

Stockage des éléments de l’application

Implémentations, données, description

Nœud maître

Pas d’implémentation MPI

Ordonnanceur indépendant

Architecture niveau système Plateforme matérielle reconfigurable

24 octobre 2012 38/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Page 39: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

Architecture des nœuds Plateforme matérielle reconfigurable

24 octobre 2012 39/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Noeud

Cellules de calcul

Cellule hôte

Mémoire

Linux embarqué

Serveur de

données

NoC / Bus

Gestionnaire de reconfiguration

Gestionnaire de stockage

Autres nœuds

Ordonnanceur global

Ordonnanceur local

Stockage des fichiers de

configuration

Stockage des paramètres

Hôte de noyau

Contrôleur de noyau

Hôte de noyau

Contrôleur de noyau

Hôte de noyau

Contrôleur de noyau

Réseau SPoRE

FaRM Gestionnaire

de cellules

Page 40: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

Structure des applications Plateforme matérielle reconfigurable

24 octobre 2012 40/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Descripteur d’application

Descripteur de noyau

Impl.

Impl.

Impl.

Couche de virtualisation

Descripteur de contrôle

Descripteur de ports

Page 41: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Modèle d’application « flot de données »

Encodage d’un fichier

Décodage du fichier

Transmission de données

Récupération depuis l’environnement

Passage de résultat entre les noyaux

Restitution du résultat à l’environnement

Application de test : AES Plateforme matérielle reconfigurable

24 octobre 2012 41/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Encodeur Env

Décodeur Env

Page 42: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Flot de création de l’application Plateforme matérielle reconfigurable

24 octobre 2012 42/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Online

Offline

1

Modélisation de l’application

Modélisation du contrôle

3

Identification des noyaux

2

Implémentation en XML

<Kernel> </Kernel> <Kernel> </Kernel> <Kernel> </Kernel> <Kernel> </Kernel>

4

Implémentation de l’application A

1 2

Noyau virtuel Implémentations du noyau

Implémentation logicielle

Implémentation matérielle 2 cellules

Implémentation matérielle 1 cellule

Implémentation des noyaux B

Ordonnancement dynamique

Réseau

Plateforme SPoRE

Réseau

Exécution C

Page 43: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Noyaux matériels reconfigurables Plateforme matérielle reconfigurable

24 octobre 2012 43/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Cellule reconfig.

Cellule reconfig.

Encod. Decod.

Encod. Decod.

Exéc. logicielle

Page 44: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Evaluation des performances Plateforme matérielle reconfigurable

24 octobre 2012 44/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

-87 %

-44 %

-85 %

-44 %

-82 %

-46 %

Page 45: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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é

Conclusion Plateforme matérielle reconfigurable

24 octobre 2012 45/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

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, 7th International Workshop on Reconfigurable Communication-

centric Systems-on-Chip (ReCoSoC ), York, U.K., 2012

Page 46: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

CONCLUSION Introduction

Modèle d’application

L’architecture SPoRE

Plateforme logicielle MPI

Plateforme matérielle reconfigurable

Conclusion

Bilan

Perspectives

24 octobre 2012 46/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Page 47: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

Bilan Conclusion

24 octobre 2012 47/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Page 48: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

Perspectives d’évolution Conclusion

24 octobre 2012 48/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

[18] S. Gao et al., University of Southern California,Impact of reconfigurable hardware on accelerating MPI_Reduce, 2010

[19] www.spiritconsortium.org

Page 49: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

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

Perspectives d’utilisation Conclusion

24 octobre 2012 49/50 Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement

Page 50: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Merci pour votre attention

Page 51: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

Questions

Page 52: Méthodologie de conception pour la virtualisation et le...Méthodologie de conception pour la virtualisation et le déploiement d’appliations paallèles su platefome eonfigu ale

[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.

Bibliographie

24 octobre 2012 Bibliographie Méthodologie de conception pour la virtualisation et le déploiement

d’applications parallèles sur plateforme reconfigurable matériellement