Contributions aux environnements de programmation pour le calcul intensif



Documents pareils
Techniques d ordonnancement pour les SoC

Mémoire de Fin d Etudes

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Conception des systèmes répartis

MEAD : temps réel et tolérance aux pannes pour CORBA

Semestre HPC. Violaine Louvet. Institut Camille Jordan - CNRS louvet@math.univ-lyon1.fr. Labex MILyon, Printemps 2016

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Évaluation et implémentation des langages

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

Programme de la 1ère année

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Rapport d activité. Mathieu Souchaud Juin 2007

Extensions à la formation. Laurent Pérochon, avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

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

Multiprogrammation parallèle générique des méthodes de décomposition de domaine

JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000. Mise en Œuvre des techniques synchrones pour des applications industrielles

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

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

Université de Bangui. Modélisons en UML

Prise en compte des ressources dans les composants logiciels parallèles

Le passage à l échelle de serveur J2EE : le cas des EJB

CORBA haute performance

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

Limitations of the Playstation 3 for High Performance Cluster Computing

Introduction au temps réel

Performances et optimisations

Passage à l échelle d applications java distribuées auto-adaptatives

Thèse. Du support générique d opérateurs de composition dans les modèles de composants logiciels, application au calcul à haute performance.

Vérifier la qualité de vos applications logicielle de manière continue

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

RTDS G3. Emmanuel Gaudin

Les diagrammes de modélisation

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

Modèles système, modèles logiciel et modèles de code dans les applications spatiales

Conception et Intégration de Systèmes Critiques

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Plan du cours. Incarnations/applications du Grid Computing. Super-calcul virtuel

NFP111 Systèmes et Applications Réparties

AXES DE RECHERCHE - DOMAINE D'INTERET MAJEUR LOGICIELS ET SYSTEMES COMPLEXES

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

Initiation au HPC - Généralités

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

Masters informatique et MIAGE

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Compte-rendu d habilitation : Modélisation à haut niveau d abstraction pour les systèmes embarqués

Cours de Génie Logiciel

Parcours en deuxième année

Modélisation multi-agents - Agents réactifs

Architecture des ordinateurs

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

Cloud et SOA La présence du Cloud révolutionne-t-elle l approche SOA?

Modélisation des interfaces matériel/logiciel

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006

Éléments de programmation et introduction à Java

1 Description générale de VISFIELD

Journée Scientifique Onera

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

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

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

Introduction aux applications réparties

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

DG-ADAJ: Une plateforme Desktop Grid

L E C O U T E P r i n c i p e s, t e c h n i q u e s e t a t t i t u d e s

Planifier la migration des applications d entreprise dans le nuage

Programmation parallèle et distribuée

Yann BECHET 32 ans 8 ans d expérience yann@bechet.org

Elasticité logicielle pour optimiser l empreinte énergétique

White Paper - Livre Blanc

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

Security Center Plate-forme de sécurité unifiée

Modelio by Modeliosoft

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

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

Journée Scientifique Onera

Une méthode de conception de systèmes sur puce

Présentation du M2 SIC : Systèmes Informatiques et Applications Marines

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

Figure 1 : représentation des différents écarts

Infrastructure de calcul du CRRI

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

DEPARTEMENT D'INFORMATIQUE MEMOIRE. Présenté par. K AR A M O S TE F A M o ha mme d Ilye s. Pour obtenir LE DIPLOME DE MAGISTER

SNCC SCADA MES Vecteurs d intégration

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700

Licence professionnelle Réseaux et Sécurité Projets tutorés

Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement

High Performance by Exploiting Information Locality through Reverse Computing. Mouad Bahi

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

2015 // des formations. programme. Retrouvez toutes ces informations sur enseirb-matmeca.bordeaux-inp.fr

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

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

VMWare Infrastructure 3

Rapport 2014 et demande pour Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121

Gestion dynamique des tâches dans les grappes, une approche à base de machines virtuelles

BIG DATA en Sciences et Industries de l Environnement

Le réseau sans fil "Wi - Fi" (Wireless Fidelity)

Urbanisation des Systèmes d Information Architecture d Entreprise. 04 Architecture du SI : identifier et décrire les services, structurer le SI

Machines virtuelles Cours 1 : Introduction

Technologie SDS (Software-Defined Storage) de DataCore

Transcription:

Contributions aux environnements de programmation pour le calcul intensif Habilitation à diriger des recherches Pierre Boulet équipe WEST Pierre.Boulet@lifl.fr - http://www.lifl.fr/~boulet/hdr/ Soutenance HdR 2 décembre 2002 p. 1/41

Plan Contexte et positionnement Parallélisme de données Traitement de signal intensif Perspectives : le projet DaRT Soutenance HdR 2 décembre 2002 p. 2/41

Contexte et positionnement Soutenance HdR 2 décembre 2002 p. 3/41

Calcul intensif puissance de calcul nécessaire à une application quantité de calcul par rapport aux contraintes de temps d exécution application intensive si nécessaire optimisation du code pour respecter les contraintes de temps de ressources Soutenance HdR 2 décembre 2002 p. 4/41

Grand Challenges simulation numérique climat aéronautique nucléaire énorme quantité de calcul contraintes de temps implicites Soutenance HdR 2 décembre 2002 p. 5/41

Traitement de signal montée en puissance télécommunications multimédia moins gourmandes mais contraintes de temps réel plus fortes en général embarquées contraintes de ressources Soutenance HdR 2 décembre 2002 p. 6/41

Architecture des machines quatre classes de machines pour le calcul intensif supercalculateurs grappes de stations de travail systèmes distribués et grilles de calcul systèmes sur silicium (SoC) difficultés de développement parallélisme hétérogénéité de performance de fonction contraintes Soutenance HdR 2 décembre 2002 p. 7/41

Parallélisme parallélisme très présent dans les architectures différentes approches pour le développement d applications parallèles parallélisation automatique programmation parallèle explicite programmation parallèle implicite conception conjointe du logiciel et du matériel Soutenance HdR 2 décembre 2002 p. 8/41

Domaine scientifique outils de développement compilateurs paralléliseurs environnements de spécification quatre idées directrices programmer à haut niveau utiliser le parallélisme de données optimiser au plus tôt restreindre le domaine d application Soutenance HdR 2 décembre 2002 p. 9/41

Schema de recherche niveau de programmation ISP UML programmation visuelle volume de comm. simulation électromagnétique compilation traitement de signal intensif génération de code SPPoC tiling réseaux de processus distribués 1996 1997 1998 1999 2000 2001 2002 2003 Soutenance HdR 2 décembre 2002 p. 10/41

Parallélisme de données Soutenance HdR 2 décembre 2002 p. 11/41

Définition calcul dirigé par le placement des données placement explicite des données règle : le propriétaire calcule paradigme de haut niveau communications implicites compilateur peut les optimiser incarné par High Performance Fortran Soutenance HdR 2 décembre 2002 p. 12/41

Deux ensembles de travaux parallélisation et compilation pour le calcul scientifique produire des outils pour la compilation optimisation de boucles imbriquées modèle polyédrique simulation numérique collaboration avec des électromagnéticiens démarche génie logiciel Soutenance HdR 2 décembre 2002 p. 13/41

Parallélisation automatique niveau de programmation ISP UML programmation visuelle volume de comm. simulation électromagnétique compilation traitement de signal intensif génération de code SPPoC tiling réseaux de processus distribués 1996 1997 1998 1999 2000 2001 2002 2003 Soutenance HdR 2 décembre 2002 p. 14/41

SPPoC un outil de calcul polyédrique Symbolic Parameterized Polyhedral Calculator PIP PolyLib Omega Library interface symbolique unifiée moteur de simplification et extensions # System.simplify <:v<i1,i2,j1,j2>> (* Variables *) <:v<n,m>> (* Paramètres *) <:s< (-1+p1)+(-((-1+j1) mod 8)) = 0, (-1+p2)+(-((-1+j2) mod 8)) = 0, (-1+p1)+(-((-1+k1) mod 8)) = 0, (-1+p2)+(-((-1+k2) mod 8)) = 0, i1 = j1, k1 = j1, k2 = 1, m >= j2, j2 >= 1, i2 >= 1, n >= j1, m >= i2, j1 >= 1 >> ;; - : SPPoC.System.t = {i1 = j1, (-1+j2) mod 8 = 0, m >= j2, j2 >= 1, i2 >= 1, n >= j1, m >= i2, j1 >= 1} Soutenance HdR 2 décembre 2002 p. 15/41

SPPoC un outil de calcul polyédrique Symbolic Parameterized Polyhedral Calculator PIP PolyLib Omega Library # System.simplify <:v<i1,i2,j1,j2>> (* Variables *) <:v<n,m>> (* Paramètres *) <:s< (-1+p1)+(-((-1+j1) mod 8)) = 0, (-1+p2)+(-((-1+j2) mod 8)) = 0, (-1+p1)+(-((-1+k1) mod 8)) = 0, (-1+p2)+(-((-1+k2) mod 8)) = 0, i1 = j1, k1 = j1, k2 = 1, m >= j2, j2 >= 1, i2 >= 1, n >= j1, m >= i2, j1 >= 1 >> ;; - : SPPoC.System.t = {i1 = j1, (-1+j2) mod 8 = 0, m >= j2, j2 >= 1, i2 >= 1, n >= j1, m >= i2, j1 >= 1} interface symbolique unifiée moteur de simplification et extensions diffusé et utilisé dans la communauté http://www.lifl.fr/west/sppoc/ réalisé avec Xavier Redon plusieurs applications Soutenance HdR 2 décembre 2002 p. 15/41

Volume de communication estimation avant compilation estimation du volume de communication généré par une affectation de tableau dans un nid de boucles # System.simplify <:v<i1,i2,j1,j2>> (* Variables *) <:v<n,m>> (* Paramètres *) <:s< (-1+p1)+(-((-1+j1) mod 8)) = 0, (-1+p2)+(-((-1+j2) mod 8)) = 0, (-1+p1)+(-((-1+k1) mod 8)) = 0, (-1+p2)+(-((-1+k2) mod 8)) = 0, i1 = j1, k1 = j1, k2 = 1, m >= j2, j2 >= 1, i2 >= 1, n >= j1, m >= i2, j1 >= 1 >> ;; - : SPPoC.System.t = {i1 = j1, (-1+j2) mod 8 = 0, m >= j2, j2 >= 1, i2 >= 1, n >= j1, m >= i2, j1 >= 1} selon la distribution des données modélisation de toutes les distributions HPF par blocs ou cycliques réplication ou placement en mémoire alignement des tableaux Soutenance HdR 2 décembre 2002 p. 16/41

Volume de communication travail au niveau du langage indépendant du compilateur indépendant de l architecture d exécution originalité et réalisation # System.simplify <:v<i1,i2,j1,j2>> (* Variables *) <:v<n,m>> (* Paramètres *) <:s< (-1+p1)+(-((-1+j1) mod 8)) = 0, (-1+p2)+(-((-1+j2) mod 8)) = 0, (-1+p1)+(-((-1+k1) mod 8)) = 0, (-1+p2)+(-((-1+k2) mod 8)) = 0, i1 = j1, k1 = j1, k2 = 1, m >= j2, j2 >= 1, i2 >= 1, n >= j1, m >= i2, j1 >= 1 >> ;; - : SPPoC.System.t = {i1 = j1, (-1+j2) mod 8 = 0, m >= j2, j2 >= 1, i2 >= 1, n >= j1, m >= i2, j1 >= 1} niveau d abstraction = processeurs virtuels utilisation de SPPoC nécessaire approche symbolique et paramétrée modèle polyédrique utilisation combinée de PIP et la PolyLib simplifications des résultats intermédiaires primordiale en collaboration avec Xavier Redon Soutenance HdR 2 décembre 2002 p. 17/41

Parallélisation automatique génération de code d itération après transformation pour placement et ordonnancement état de l art avec Alain Darte, Georges-André Silber et Frédéric # System.simplify <:v<i1,i2,j1,j2>> (* Variables *) <:v<n,m>> (* Paramètres *) <:s< (-1+p1)+(-((-1+j1) mod 8)) = 0, (-1+p2)+(-((-1+j2) mod 8)) = 0, (-1+p1)+(-((-1+k1) mod 8)) = 0, (-1+p2)+(-((-1+k2) mod 8)) = 0, i1 = j1, k1 = j1, k2 = 1, m >= j2, j2 >= 1, i2 >= 1, n >= j1, m >= i2, j1 >= 1 >> ;; - : SPPoC.System.t = {i1 = j1, (-1+j2) mod 8 = 0, m >= j2, j2 >= 1, i2 >= 1, n >= j1, m >= i2, j1 >= 1} Vivien algorithme général code de bas niveau de parcours lexicographique de U(z) = 1 i p L i (z) L i (z) ={x Z n y Z m i, A i x + B i y + C i z d i } utilisation de SPPoC avec Paul Feautrier Soutenance HdR 2 décembre 2002 p. 18/41

Parallélisation automatique partitionnement de calculs pavage par des parallélépipèdes (tiling) adaptation de la granularité répartition des tuiles sur une architecture hétérogène # System.simplify <:v<i1,i2,j1,j2>> (* Variables *) <:v<n,m>> (* Paramètres *) <:s< (-1+p1)+(-((-1+j1) mod 8)) = 0, (-1+p2)+(-((-1+j2) mod 8)) = 0, (-1+p1)+(-((-1+k1) mod 8)) = 0, (-1+p2)+(-((-1+k2) mod 8)) = 0, i1 = j1, k1 = j1, k2 = 1, m >= j2, j2 >= 1, i2 >= 1, n >= j1, m >= i2, j1 >= 1 >> ;; - : SPPoC.System.t = {i1 = j1, (-1+j2) mod 8 = 0, m >= j2, j2 >= 1, i2 >= 1, n >= j1, m >= i2, j1 >= 1} hétérogénéité de performances heuristique asymptotiquement optimale avec Jack Dongarra, Yves Robert et Frédéric Vivien Soutenance HdR 2 décembre 2002 p. 19/41

Simulation numérique niveau de programmation ISP UML programmation visuelle volume de comm. simulation électromagnétique compilation traitement de signal intensif génération de code SPPoC tiling réseaux de processus distribués 1996 1997 1998 1999 2000 2001 2002 2003 Soutenance HdR 2 décembre 2002 p. 20/41

Simulation numérique application en vraie grandeur simulation de machines électromagnétiques par la méthode des éléments finis code de recherche de l équipe de Francis Piriou du L2EP de Lille approche génie logiciel maintenabilité par un non spécialiste portabilité performances travail de thèse d Emmanuel Cagniot collaboration avec Thomas Brandes Soutenance HdR 2 décembre 2002 p. 21/41

Deux versions langage : HPF + bibliothèque Halos parallélisme de données optimisation des communications irrégulières parallélisation légère ajout de quelques directives au code Fortran 95 résultats corrects sur quelques processeurs ne passe pas à l échelle parallélisation lourde méthode de décomposition de domaines (complément de Schur) partitionnement manuel effort de structuration pour la maintenabilité gain substantiel en performances Soutenance HdR 2 décembre 2002 p. 22/41

Traitement de signal intensif Soutenance HdR 2 décembre 2002 p. 23/41

Applications Traitement de Signal TS Intensif = TSS + TDI Soutenance HdR 2 décembre 2002 p. 24/41

Applications Traitement de Signal TS Intensif = TSS + TDI exemples traitement sonar radio numérique JPEG-2000 Soutenance HdR 2 décembre 2002 p. 24/41

Applications Traitement de Signal TS Intensif = TSS + TDI exemples traitement sonar radio numérique JPEG-2000 structure habituelle d une application TSI une phase de traitement de signal systématique traitement régulier massif suivie d une phase de traitement de données intensif traitement irrégulier contraintes temps réel et embarqué Soutenance HdR 2 décembre 2002 p. 24/41

Traitement de signal intensif niveau de programmation ISP UML programmation visuelle volume de comm. simulation électromagnétique compilation traitement de signal intensif génération de code SPPoC tiling réseaux de processus distribués 1996 1997 1998 1999 2000 2001 2002 2003 Soutenance HdR 2 décembre 2002 p. 25/41

Deux modèles réseaux de processus modèle de spécification et d exécution proposé par Gilles Kahn en 1974 processus concurrents communiquent uniquement par des files d attentes Array-OL modèle de spécification data-parallèle hiérarchique adapté au TSS Soutenance HdR 2 décembre 2002 p. 26/41

Réseaux de processus distribués applications visées simulation d applications complexes sur architecture hétérogène (SoC) (+ calcul scientifique) objectifs cacher la complexité due à la distribution gérer l hétérogénéité dynamicité de l exécution moyen implémentation distribuée du modèle des réseaux de processus utilisation de l intergiciel CORBA Soutenance HdR 2 décembre 2002 p. 27/41

Dynamicité plusieurs aspects développement incrémental évolution de l implémentation migration évolution du matériel équilibrage de charge moyens techniques demi files d attentes protocole de communication hybride à la demande ou selon l offre connexion dynamique des composants Soutenance HdR 2 décembre 2002 p. 28/41

Extensions en cours suite et fin de la thèse d Adbelkader Amar coencadrée avec Jean-Luc Dekeyser collaborations industrielles projet ITEA Sophocles THALES Communications, Philips retour d information à l exécution vers un équilibrage dynamique lien avec le modèle de spécification Array-OL Soutenance HdR 2 décembre 2002 p. 29/41

Array-OL modèle proposé par Alain Demeure (TMS) complexité et difficulté des applications de traitement de signal dans l accès aux données expression visuelle des dépendances niveau global : dépendances entre tableaux niveau local (data-parallèle) : dépendances entre éléments de tableaux expression textuelle des routines élémentaires propriétés assignation unique expression des seules dépendances de flot banalisation dimensions spatiales et temporelles Soutenance HdR 2 décembre 2002 p. 30/41

Prototypage atelier de prototypage Gaspard spécification visuelle d applications Array-OL compilation transformations de code (thèses Julien Soula et Philippe Dumont) formalisme opérateurs de description de tableaux compilation de l infini, optimisation de l occupation mémoire préparation au placement et à l ordonnancement multiples cibles : C++ + pthreads, Accélérateur Synchrone avec Jean-Luc Dekeyser, Alain Demeure, Florent Devin, Philippe Dumont, Jean-Luc Levaire, Philippe Marquet, Julien Soula Soutenance HdR 2 décembre 2002 p. 31/41

Perspectives : le projet DaRT Soutenance HdR 2 décembre 2002 p. 32/41

Bilan optimisation à tous les niveaux environnement de programmation / langage optimisations statiques optimisations dynamiques approches de la programmation parallèle parallélisation automatique programmation parallèle explicite programmation parallèle implicite conception conjointe hétérogénéité Soutenance HdR 2 décembre 2002 p. 33/41

Action DaRT action INRIA Futurs depuis juin 2002 portée par l équipe WEST en cours d instruction pour devenir un projet projet de recherche à 4 ans cadre de mes recherches actuelles et futures + nouvelle collaboration avec le L2EP CNRT Futurelec simulation distribuée de réseau de distribution d électricité - une partie de DaRT me concerne moins directement système d exploitation temps réel pour SMP Soutenance HdR 2 décembre 2002 p. 34/41

Structure de DaRT parallélisme de données pour le TSI réduire le temps de développement des applications TSI sur SoC de la modélisation à l exécution trois axes modélisation compilation système d exploitation Soutenance HdR 2 décembre 2002 p. 35/41

Modélisation conception conjointe logiciel et matériel modélisation en Y application architecture placement réutilisabilité des modèles Intensive Signal Processing UML englobe Real-Time Embedded UML développé dans le projet européen PROMPT2implementation Esterel Technologies, THALES Communications, INRIA Sosso, Nokia, universités de Tampere et Turku Soutenance HdR 2 décembre 2002 p. 36/41

ISP UML objectifs s affranchir des langages de programmation réduire les temps de développement réutilisation d applications ou d architectures composants prêts à l emploi (VC ou IP) respecter les standards UML 2.0, MOF, XMI exprimer tout le parallélisme potentiel démarche de type MDA modèles indépendants de la plate-forme d exécution simulation à différents niveaux / exécution Soutenance HdR 2 décembre 2002 p. 37/41

Lien avec techniques de compilation modèle de spécification d application assignation unique unification dimensions spatiales et temporelles expression des seules dépendances de flot universalité (pour le TDI) récursivité ordre supérieur modèles d architecture et de placement moins avancés inspiration de l existant Soutenance HdR 2 décembre 2002 p. 38/41

Compilation intégration des techniques de compilation parallélisation automatique langages fonctionnels transformations de code Array-OL placement et ordonnancement transformation de l application dimensions spatiales et temporelles unifiées placement spatio-temporel conjoint tirer partie du domaine d application restreint globalement hétérogène, localement homogène Soutenance HdR 2 décembre 2002 p. 39/41

Génération de code transformation de modèles d un modèle indépendant de la plate-forme d exécution à un modèle dépendant de cette plate-forme multiples cibles possibles simulation distribuée de composants virtuels différents niveaux de simulation respect des standards : VSIA, CORBA, SystemC, VHDL système sur silicium système temps réel sur SMP hétérogénéité Soutenance HdR 2 décembre 2002 p. 40/41

Perspectives niveau de programmation ISP UML programmation visuelle volume de comm. simulation électromagnétique compilation traitement de signal intensif génération de code SPPoC tiling réseaux de processus distribués 1996 1997 1998 1999 2000 2001 2002 2003 Soutenance HdR 2 décembre 2002 p. 41/41