1 / 412

Laurent Bobelin, CS-SI

Laurent Bobelin, CS-SI. Du Client/Serveur aux architectures de grilles de calculs et de données. Plan du cours. Motivation générale Les différents types de parallélisme Les architectures parallèles et distribuées Les environnements de programmation parallèle

norah
Télécharger la présentation

Laurent Bobelin, CS-SI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Laurent Bobelin, CS-SI Du Client/Serveur aux architectures de grilles de calculs et de données

  2. Plan du cours • Motivation générale • Les différents types de parallélisme • Les architectures parallèles et distribuées • Les environnements de programmation parallèle • Les paradigmes systèmes distribués grande échelle et de grille • Architecture des grilles de calcul et de données • Perspectives pour les grilles de calcul et de données

  3. Plan : Motivation générale • Les besoins • Physique • Des confins de la matière jusqu’à la simulation des surfaces • Sciences de la terre • Observation de la terre • Biologie • Analyse du génome humain • Conception Assistée par Ordinateur • Modélisation automobile • Autres • Débouchés industriels • Industriels intéressés • Les fournisseurs de services • Les fournisseurs de ressources • Les applications • Les profils industriels • Conseil • Maîtrise d’œuvre • Conception, déploiement et administration • Middlewares • Application • Exploitation

  4. Motivation générale : Les besoins : Physique • Large Hadron Collider • Modélisation de surface • Applications nucléaires

  5. Motivation générale : Les besoins : Physique : LHC • Le CERN (Centre d’Etude et de Recherche Nucléaire) basé en Suisse, est le plus grand centre mondial de recherche en Physique des Hautes Energies et en physique des particules. • Le Large Hadron Collider (LHC) est un projet du CERN : construire le plus puissant accélérateur de particule au monde, qui devrait être achevé en 2007. • Le but : faire entrer en collision des protons et analyser les traces de cette collision pour prouver l’existence de particules sous-jacente, les bosons de Higgs

  6. Motivation générale : Les besoins : Physique : LHC • Le LHC est constitué d’une boucle de 20km de diamètre, dans laquelle sont injectés des protons. • Le long de cette boucle, des capteurs sont disposés pour percevoir les traces de particules.

  7. Le LHC : The LHC Detectors CMS ATLAS ~6-8 PetaBytes / year ~108 events/year ~103 batch and interactive users LHCb

  8. Motivation générale : Les besoins : Physique : LHC • L’ensemble des capteurs une fois le LHC opérationnel générera plusieurs péta-octets de données par an, qu’il faudra analyser et stocker. • Le CERN est donc de facto un des plus grands acteurs des projets de recherche de grille européen.

  9. Motivation générale : Les besoins : Physique : Modélisation de surface • Modéliser une surface permet de prédire les changements climatiques. • La structure des sols peut varier et induit des changements • La végétation à une influence • Plus le modèle est fin, plus la modélisation de surface est pertinente.  Plus les ressources informatiques mises à disposition de l’application sont importantes, meilleure sera la modélisation.

  10. Motivation générale : Les besoins : Physique : Application nucléaire • Modéliser le comportement du cœur d’un réacteur nucléaire • Analyse des points chauds • Modélisation des matériaux et de leur résistance • Prédire le comportement en cas d’incident  De même que pour le cas précédent, plus les ressources informatiques mises à disposition de l’application sont importantes, meilleure sera la modélisation.

  11. Motivation générale : Les besoins : Observation de la terre • Envoi de satellite pour observer la terre • Les challenges des projets ESA : • Environ 100 Gbytes de données par jour pour la mission(ERS 1/2) • 500 Gbytes, pour la mission ENVISAT (2002). Source: L. Fusco, June 2001

  12. 1. Query the medical image database and retrieve a patient image Exam image patient key ACL ... Medical images Metadata 2. Compute similarity measures over the database images Submit 1 job per image 3. Retrieve most similar cases Similar images Low score images Motivation générale : Les besoins : Biologie • Bio-informatique : • Phylogenetique • Search for primers • Statistiques génétiques • Parasitologie • Data-mining sur des bases ADN • Comparaison géometrique protéinique • Imagerie Médicale • Modélisation et imagerie numérique • Medical data and metadata management • Analyse de mammographies

  13. Motivation générale : Les besoins : Conception Assistée par Ordinateur • Automobile : • Construire un prototype est d’un coût très élevé • Des défauts de conception peuvent apparaître à la construction du prototype • De nombreux tests sur la sécurité, la vitesse, etc, peuvent demander de construire de nombreux prototypes.  Nécessité de modéliser finement les prototypes pour baisser le coût de conception d’un nouveau modèle

  14. Motivation générale : Les besoins : Autres • Renault : • simulations, modélisation, • Météorologie et climatologie • Industries Aéronautiques • simulation et modélisation, réalité virtuelle • Simulation grandes échelle : tectonique, modèles atmosphériques… • EDF : simulation Temps-réel • ONERA : simulation de phénomènes physiques

  15. Motivation générale : Débouchés industriels • Industriels intéressés • Les fournisseurs de services • Les fournisseurs de ressources • Les applications • Profils industriels • Conseil • Maîtrise d’œuvre • Conception, déploiement et administration • Middlewares • Application • Exploitation

  16. Motivation générale : Débouchés industriels : Industriels intéressés • Les fournisseurs de services : • Entreprise ayant pour activité de vendre des services (stockage, calcul, hébergement) IBM par exemple. • Les fournisseurs de ressources • Entreprise voulant rentabiliser les ressources informatiques qu’elle possède, comme CGG. • Les applications • Entreprise voulant entreprendre des calculs de grande échelle

  17. Motivation générale : Débouchés industriels : Industriels intéressés : Les fournisseurs de services • Les besoins des ressources sont multiples : calcul, stockage, intégration, portage, administration, mise en œuvre, développement de solutions logicielles ad-hoc. • Quatre types : • Ressources : • Grandes entreprises informatiques proposant des solutions « tout-en-un » (IBM) • Logiciels : Entreprises fournissant des logiciels génériques pour les grilles (Sun, Microsoft, …) et voulant dominer le marché. • Les SSII : conseil, développement,maintenance, migration, etc. (CSSI, Atos, …)

  18. Motivation générale : Débouchés industriels : Industriels intéressés : Les fournisseurs de ressources • Certains industriels possèdent un grand nombre de ressources (calcul, stockage) inutilisées : • Ordinateurs « personnels » • Ressources aléatoires dans leur nombre et leur disponibilités • Ressources contraintes par le temps • Analyse à un instant T demandant beaucoup de ressources, mais peu utilisées le reste de la journée • CGG, météorologie • Ces ressources peuvent être vendues aux applications nécessitant beaucoup de ressources.

  19. Motivation générale : Débouchés industriels : Industriels intéressés : Les applications • Industriels ayant besoin d’un grand nombre de ressources : • Simulation : PSA, EDF, CEA, … • Prédiction : météorologie (Méteo de France, CGG) • Nécessité de migrer leurs applications • Nécessité d’améliorer les performances de leurs applications • Rester/devenir les leaders sur leur marché

  20. Motivation générale : Débouchés industriels : Les profils industriels • Conseil :étude d’opportunité, expression des besoins, réalisation de cahier des charges. • Maîtrise d’œuvre et assistance à la maîtrise d’ouvrage. • Conception, déploiement et administration des infrastructures de grille. • Middlewares : développement,adaptation, installation. • Application : développement, adaptation. • Exploitation :gestion, évolution.

  21. Motivation générale : Débouchés industriels : Les profils industriels : conseil • Conseil : • étude d’opportunité : est-il utile pour une application d’être migrée vers une technologie de grille ? • expression des besoins : quels sont les besoins d’une application ? • réalisation de cahier des charges : comment peut-on faire, et dans quel délais peut on obtenir un résultat ?

  22. Motivation générale : Débouchés industriels : Les profils industriels : maîtrise d’œuvre et assistance à la maîtrise d’ouvrage • Maîtrise d’œuvre : • Coordination, relations entre la problématique applicative et les technologies de grille • Besoins lors de la migration ou du portage d’application sur grille

  23. Motivation générale : Débouchés industriels : Les profils industriels : Conception, déploiement et administration des infrastructures de grille • Conception : quelle est la meilleure architecture pour un ensemble d’applications donné ? • Déploiement : comment utiliser les ressources ? • Administration : comment faire en sorte que les ressources restent opérationnelles ?

  24. Motivation générale : Débouchés industriels : Les profils industriels : middleware • Développement : un middleware adapté aux besoins • Adaptation : un middleware existant, l’adapter aux besoins • Déploiement : rendre l’utilisation effective

  25. Motivation générale : Débouchés industriels : Les profils industriels : Applications • Développement : • Les grilles ont des spécificités qui sortent du domaine du calcul parallèle classique • Nécessité de développer des applications tirant un profit maximum des ressources • Adaptation : • Des applications peuvent bénéficier d’une « gridification » : comment l’adapter aux problématiques grilles ?

  26. Motivation générale : Débouchés industriels : Les profils industriels • Exploitation : • Gestion : gérer et administrer une grille dans une entreprise, veiller a son bon fonctionnement, gérer les utilisateurs • Évolution : redimensionner une grille, faire évoluer son middleware et les logiciels associés.

  27. Plan : Les différents types de parallélisme • Introduction au parallélisme • Les différents types de parallélisme • Granularité

  28. Introduction au parallélisme • Parallélisme • utiliser plusieurs ordinateurs ensemble pour résoudre des problèmes • plus gros (taille mémoire, espace disque) • plus rapidement (puissance CPU) • Mot clé : efficacité • Différents domaines • théoriques • algorithmique • ordonnancement • pratiques • supports • modèles • si on veut de l ’efficacité les deux sont évidemment liées

  29. Les différents types de parallélisme • Client/serveur • Parallélisme de tâche : application exhibant un graphe de tâches dont certaines peuvent être effectuées en parallèle • Parallélisme de données : application qui traite de la même façon plusieurs jeux de données. • Parallélisme mixte : application exhibant du parallélisme de données et de tâches • Parallélisme massif : application exhibant un gros potentiel parallèle

  30. Granularité • On appelle granularité la « taille » d’un traitement séquentiel dans une application parallèle • Cette granularité dépend non seulement de l’application, mais aussi de son implémentation • On parle de « gros grain » pour les applications ayant une forte exécution séquentielle • Fréquence de communication moins grande • Pas forcement moins gourmande en débit ! • On parle de « grain fin » pour les applications ayant une forte exécution parallèle de tâche • Plus sensible à la latence du réseau

  31. Granularité Sous-Populations • Parallélisation à gros grain SP1 SP2 Population Division SP4 SP3 • Parallélisation à grain fin Processeurs A B C IndividusA B C D E F Distribution D E F

  32. Plan : Les architectures parallèles et distribuées • Les multiprocesseurs • Les clusters • Les environnements hétérogènes • Les centres de calcul

  33. Les multiprocesseurs – pourquoi • En supposant que les microprocesseurs demeurent la technologie dominante pour les uniprocesseurs, il semble naturel d’imaginer en connecter plusieurs ensemble pour augmenter la performance • Il n’est pas clair que le taux d’innovation au niveau de l’architecture pourra se continuer longtemps • Il semble qu’il y ait des progrès constants dans les 2 domaines où les machines parallèles ont le plus de difficulté: le logiciel et les interconnexions

  34. Notion d’accélération • Accélération = gain de temps obtenu lors de la parallélisation du programme séquentiel. • Définition : Soit T1 le temps nécessaire à un programme pour résoudre le problème A sur un ordinateur séquentiel et soit Tp le temps nécessaire à un programme pour résoudre le même problème A sur un ordinateur parallèle contenant p processeurs, alors l ’accélération (Speed-Up) est le rapport : S(p) = T1 / Tp • Cette définition n’est pas très précise • Pour obtenir des résultats comparables il faut utiliser les mêmes définitions d ’Ordinateur Séquentiel et de Programme Séquentiel …

  35. Notion d’accélération S(p) Région des accélérations sur-linéaires accélération linéaire Région des accélérations sub-linéaires 0 P = nombre de processeurs

  36. Notion d’efficacité • Soit T1(n) le temps nécessaire à l’algorithme pour résoudre une instance de problème de taille n avec un seul processeur, soit Tp(n) celui que la résolution prend avec p processeurs et soit s(n,p) = T1(n) / Tp(n) le facteur d’accélération. On appelle efficacité de l ’algorithme le nombre E(n,p) = S(n,p) / p • Efficacité = normalisation du facteur d ’accélération

  37. Efficacité/Accélération • Multiplication de matrices ( A moins bon que B) • Algorithme A Temps en séquentiel : 10 minutes Nombre de processeurs : 10 Temps en // : 2 minutes Accélération : 10/2 = 5 (l'application va 5 fois plus vite) Efficacité : 5/10 = 1/2 • Algorithme B Temps en séquentiel : 10 minutes Nombre de processeurs : 3 Temps en // : 4 minutes Accélération : 10/4 = 5/2 = 2,5 < 5 Efficacité : (5/2)/3 = 0,8 > 0,5

  38. Remarques • Une accélération linéaire correspond à un gain de temps égal au nombre de processeurs (100% activité) • Une accélération sub-linéaire implique un taux d ’activité des processeurs < 100 % (communication, coût du parallélisme...) • Une accélération sur-linéaire implique un taux d’utilisation des processeurs > à 100 % ce qui paraît impossible (en accord avec la loi d ’Amdhal) • Cela se produit parfois (architecture, mémoire cache mieux adaptée que les machines mono-processeurs…)

  39. Puissance de calcul • Nous retrouvons couramment MIPS ou FLOPS • MIPS (Machine Instructions Per Second) représente le nombre d ’instructions effectuées par seconde • FLOPS (FLoating Point Operations Per Second) représente le nombre d ’opérations en virgule flottante effectuées par seconde • Les multiplicatifs : K = 210 ; M = 220 ; G = 230 • Certains processeurs vectoriels ont une puissance de calcul de 300 Mflops par exemple.

  40. Les types de multiprocesseurs • Taxonomie proposée par Flynn dans les années 60: • SISD (Single Instruction Single Data): uniprocesseur • SIMD (Single Instruction Multiple Data): plusieurs processeurs, qui exécutent en parallèle les mêmes instructions sur plusieurs données • MISD (Multiple Instruction Single Data): pas d’exemple connu • MIMD (Multiple Instruction Multiple Data): plusieurs processeurs qui opèrent de façon indépendantes ou semi-indépendantes sur leurs données

  41. Les types de multiprocesseurs

  42. Les types de multiprocesseurs • SIMD (Single Instruction Multiple Data) • séquenceur unique • tableau de processeurs • MISD (Multiple Instruction Single Data) • classe bizarre • pipeline ? • MIMD (Multiple Instruction Multiple Data) • Classe la plus importante • processeurs autonomes • Mémoire partagée ou distribuée Cette classification n’est pas en corrélation avec les machines réelles

  43. MIMD: la mémoire • Les deux classes de multiprocesseurs MIMD sont largement répandus ; le choix de MIMD-SD ou MIMD-DM dépendant du nombre de processeurs dans la machine • Mémoire partagée centralisée (centralized shared memory) : « petit » nombre de processeurs. • Mémoire distribuée : «grand » nombre de processeurs.

  44. Classification unifiée des types de multiprocesseurs • SIMD-SM • Contrôle centralisé de données centralisées • Machine vectorielles mono-processeurs • Instruction unique appliquée de manière séquentielle à des données de type vecteur • Fonctionnement en mode pipeline • Pipeline : • Décomposition de l ’opérateur f = f3 ° f2 ° f1 • On applique successivement f1, f2 puis f3 sur cette donnée • circuits dans les processeurs • circuit = composant électronique qui prend d en entrée et donne f(d) en sortie • séquence de circuits en étages

  45. Classification unifiée des types de multiprocesseurs • SIMD-DM : • Contrôle centralisé, données distribuées • Processeurs de faible puissance = éléments de calcul • Séquenceur unique • MIMD-DM : • Contrôle distribué, données distribuées • Un processeur = entité de calcul autonome (processeur + mémoire) • Communication par envoi de messages : importance du réseau d ’interconnexion • Avantage : facile d ’augmenter le nb de proc • Inconvénients : performances étroitement liées au réseau et besoin d ’OS nouveaux.

  46. Classification unifiée des types de multiprocesseurs • MIMD-SM : • Mémoire divisée en plusieurs bancs • Synchronisation des accès à la mémoire, un seul processeur peut accéder en lecture ou écriture à un banc • Machine multi-processeurs : Cray 2, NEC SX-3 • Faible nombre de processeurs • Puissance de la machine repose sur la puissance des processeurs et non sur le nombre

  47. Types de multiprocesseurs utilisés • Les premiers multiprocesseurs étaient du type SIMD, et cette architecture est encore utilisée pour certaines machines spécialisées • Le type MIMD semble être la cible de choix de nos jours pour des ordinateurs d’application courante: • Les MIMD sont flexibles: on peut les utiliser comme machines à un seul utilisateur, ou comme machines multi-programmées • Les MIMD peuvent être bâties à partir de processeurs existants

  48. Architectures parallèles : exemple MIMD • IBM SP • IBM SP-2 (from MHPCC) • IBM SP • IBM SP 680 • IBM SP 680 specs • IBM X server • Cray T3E • Compaq (DEC) Alpha Chips ( Alpha white paper ) • Cray white paper • SGI Origin 2000 , (3000) • performance Tuning for the Origin2000 • R10000 Chip , R10000 Brief , Other MIPS Chips , MIPS

  49. Architectures parallèles : exemple MIMD Compaq Servers, GS320 server Distributed Memory Vector NEC (Japan) Fujitsu (Japan) Hitachi (Japan) Beowulf Projects Beowulf slides (Modi) Intel Teraflop Machine , ( Performance Tuning ) Linux Intro , Installing Linux , Linux Palmtops Windows NT/2000 based Beowulf Systems , ( MPICH )

  50. Architectures parallèles : exemple MIMD : le Cray T3E • La machine de chez CRAY, deux types de modèles, refroidissement à air (pas plus de 128 processeurs) ou par un liquide (jusqu'à 2048 processeurs). En amalgamant les deux de 16 à 2048 nœuds comprenant chacun : • un DEC Alpha EV5 (600 MFlops) de 64 Mo à 2 Go de mémoire vive • un réseau d'interconnexion en tore 3D (bande passante de 2 à 128 Go/s). Performance de crête de 9.6 GFlops à 1.2 TFlops, jusqu'à 4 To de mémoire vive.

More Related