Parallélisme et grappes d’ordinateurs Olivier Aumage LIP, ENS Lyon
Calcul haute performance Parallélisme Introduction Calcul haute performance Parallélisme
Une forte demande en puissance de calcul en puissance de traitement simulation et modélisation météo, climatologie chimie traitement des signaux images sons analyse de données génomes fouille de données en puissance de traitement bases de données serveurs multimédia Internet
Une forte demande en puissance de calcul en puissance de traitement simulation et modélisation météo, climatologie chimie traitement des signaux images sons analyse de données génomes fouille de données en puissance de traitement bases de données serveurs multimédia Internet
Une forte demande en puissance de calcul en puissance de traitement simulation et modélisation météo, climatologie chimie traitement des signaux images sons analyse de données génomes fouille de données en puissance de traitement bases de données serveurs multimédia Internet
Le parallélisme une tentative de réponse « l’union fait la force » > gauss > gauss
Le parallélisme une tentative de réponse « l’union fait la force » > gauss > gauss
Plusieurs niveaux machines architectures distribuées
Plusieurs niveaux machines processeurs architectures distribuées machines multi-processeurs
Plusieurs niveaux Pentium IV machines processeurs architectures distribuées processeurs machines multi-processeurs Pentium IV
Plusieurs niveaux machines processeurs unités de calcul architectures distribuées processeurs machines multi-processeurs unités de calcul processeurs superscalaires
Plusieurs niveaux machines processeurs unités de calcul processus architectures distribuées processeurs machines multi-processeurs unités de calcul processeurs superscalaires processus multi-programmation temps partagé
Plusieurs niveaux machines processeurs unités de calcul processus architectures distribuées processeurs machines multi-processeurs unités de calcul processeurs superscalaires processus multi-programmation temps partagé threads multi-programmation à grain fin
Plusieurs approches machines à mémoire partagée > gauss
Plusieurs approches machines à mémoire distribuée > gauss
Plusieurs approches machines hybrides : Non-Uniform Memory Access (NUMA) > gauss
Historique Évolutions récentes Contexte Historique Évolutions récentes
1950-1980 Matériel Logiciel Début des recherches en parallélisme Machines peu fiables Coût extrêmes Logiciel Peu de chercheurs ont accès aux premiers supercalculateurs Peu de recherche Illiac-IV
1980-1990 Matériel Production commerciale de supercalculateurs Cray-1 (1976) Cray X-MP (1982) Recherche très active Calcultateurs massivements parallèles Hypercubes Utilisation de microprocesseurs Logiciel Les problèmes apparaissent La programmation parallèle est trop difficile Cray X-MP
Évolutions récentes Matériel Logiciel Fort retrait des supercalculateurs entre 1990 et 1995 Nombreuses faillites Rachat de sociétés Disparition des architectures originales Micro-informatique Micro-processeurs rapides Réseaux haut débit/faible latence de plus en plus répandus Configurations PC/stations puissantes Logiciel Nécessité d’outils Compilateurs paralléliseurs Débogueurs Bibliothèques Essentiel des efforts de recherche
Pourquoi un tel déclin ? Peut-être un manque de réalisme Faible demande en supercalculateurs Coût d’achat et d’exploitation trop élevés Obsolescence rapide Viabilité des solutions pas toujours très étudiée Difficultés de mise au point Solutions dépassées dès leur disponibilité Une utilisation peu pratique Systèmes d’exploitation propriétaires Difficulté d’apprentissage Manque ou absence d’outils Difficulté d’exploitation
Cahier des charges pour une machine parallèle Objectifs Cahier des charges pour une machine parallèle
Objectifs économiques Acquisition Coût limité par rapport aux supercalculateurs Rapport puissance/coût élevé Exploitation Ergonomie Fiabilité Facilité de maintenance Scalabilité Evolutivité
Objectifs techniques Solutions non-propriétaires Nœuds à base d’ordinateurs personnels Systèmes d’exploitation classiques Linux, systèmes BSD, Solaris Windows NT Composants non-propriétaires Processeurs Intel / AMD (x86), DEC (Alpha), Motorola (PPC) Réseaux Ethernet, Myrinet, SCI, Giganet
Grappes d’ordinateurs Concepts et idées
Principes généraux Structure d’une grappe Grappe
Principes généraux Structure d’une grappe Un ensemble de machines Des PC du commerce Grappe Dell PowerEdge 2550
Principes généraux Structure d’une grappe Un ensemble de machines Des PC du commerce Un réseau classique Lent Réservé à l’administration Réseau lent Grappe
Principes généraux Structure d’une grappe Un ensemble de machines Des PC du commerce Un réseau classique Lent Réservé à l’administration Un réseau rapide Temps de transfert réduit Débit élevé Réservé aux applications Réseau rapide Réseau lent Grappe
Icluster (grappe de 100 pc, Grenoble) Machines Quantité Grappes classiques 8, 16, 32 machines Grandes grappes Plusieurs centaines Processeur Nombre 1 ou 2 Type Pentium III/IV Athlon Autres : Alpha, Sparc Fréquence 1 GHz = 1.000.000.000 Hertz Mémoire Taille 1 Go = 1.073.741.824 octets Icluster (grappe de 100 pc, Grenoble)
Carte de communication Myricom Communications Réseaux rapides Grande fiabilité Faible latence Quelques µs Réactivité Haut débit 100 ~ 1000 Mbit/s Gros volumes Fibre optique Carte de communication Myricom
Comparatif Cray T3E
Conclusion Et alors ?
Conclusion L’informatique du parallélisme évolue vers plus de pragmatisme La programmation parallèle est difficile Il est inutile de compliquer la situation avec des machines complexes Utilisation de matériels simples et fiables (grappes) Il est en revanche important d’encadrer le programmeur Développement d’outils Développement de techniques Un thème de recherche actif à tous les niveaux Architecture Système Informatique théorique
Évolution et perspectives Et maintenant ?
De nouvelles approches Grappes de grappes L’étape suivante Métacomputing Parallélisme à grande échelle Global-computing Projets de type SETI-at-home Exploitation des ressources inutilisées
A vous de jouer Where do you want to go today ???
Plusieurs niveaux machines processeurs unités de calcul processus architectures distribuées processeurs machines multi-processeurs unités de calcul processeurs superscalaires processus multi-programmation temps partagé threads multi-programmation à grain fin
Communications Réseaux rapides Grande fiabilité Faible latence quelques µs réactivité Haut débit 100 ~ 1000 Mbit/s gros volumes Interfaces et bibliothèques de communication adaptées Fonctionnalités minimales Contrôle direct en mode utilisateur Transferts zéro-copie
Plusieurs approches parallélisme de contrôle parallélisme de données multi-programmation pipelines architectures superscalaires parallélisme de données parallélisme massif, machines de type PRAM processeurs vectoriels langages data-parallèles
(Fast|Giga)-Ethernet Interconnexion Hub ou switch Câblage Cuivre ou fibre optique Latence ~20 µs Débit 100 Mb/s et 1Gb/s Note Compatibilité avec l’Ethernet classique Hub Switch
Myrinet Société Myricom Interconnexion Câblage Switch Câblage Nappes courtes Cartes équipées d’un processeur Latence 1~2 µs Débit 1 Gb/s Note Durée de vie limitée des messages (50 ms) LANai
SCI Scalable Coherent Interface Norme IEEE (1993) Société Dolphin Fonctionnement par accès mémoire distants Projections d’espaces d’adressage Réseau SCI Mémoire Bus PCI Bus PCI Mémoire Machine A Machine B
Interfaces Initialisation Transferts Réservée au système Uniquement en début de session Transferts Directs depuis l’espace utilisateur Pas d’appels systèmes Pas de transitions Transmissions zéro-copie Interface Programme Réseau Système Espace utilisateur Transferts Initialisation
BIP Basic Interface for Parallelism Dédiée aux réseaux Myrinet L. Prylli et B. Tourancheau Dédiée aux réseaux Myrinet Caractéristiques Transmission asynchrone Pas de contrôle de flux Pas de détection d’erreur
VIA Virtual Interface Architecture Tentative de standardisation Beaucoup d’industriels impliqués Caractéristiques Principe d’interfaces virtuelles Zones de transmission protégées Lectures/Ecritures distantes
Bibliothèques Paradigme passage de message Deux instructions de base Les nœuds se synchronisent et communiquent par messages Deux instructions de base Send émission d’un message Receive réception d’un message Points forts Simple à mettre en oeuvre Permet d’émuler les autres paradigmes
PVM Parallel Virtual Machine Caractéristiques Laboratoire National d’Oak Ridge (Tennessee) 1989 Caractéristiques Notion de machine virtuelle Ensemble de machines physiques Construction préalable au lancement de la session Disponibilité très large Réseaux UDP + protocole de réémission Support de l’hétérogénéité XDR
MPI Message Passing Interface Caractéristiques MPI-Forum v1.0 1994 v2.0 1997 Caractéristiques Un standard, pas une bibliothèque Diverses implémentations MPI-CH LAM-MPI … Supplante PVM Version 2.0 encore peu implémentée