Parallélisme et grappes d’ordinateurs Olivier Aumage LIP, ENS Lyon

Preview:

Citation preview

Parallélisme etgrappesd’ordinateurs

Olivier Aumage

LIP, ENS Lyon

Introduction

Calcul haute performanceParallélisme

Une forte demande en puissance de calcul

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

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

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

architectures distribuées

processeurs machines multi-processeurs

Plusieurs niveaux machines

architectures distribuées

processeurs machines multi-processeurs

Pentium IV

Plusieurs niveaux machines

architectures distribuées

processeurs machines multi-processeurs

unités de calcul processeurs superscalaires

Plusieurs niveaux machines

architectures distribuées

processeurs machines multi-processeurs

unités de calcul processeurs superscalaires

processus multi-programmation temps partagé

Plusieurs niveaux machines

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

Contexte

HistoriqueÉvolutions récentes

1950-1980

Matériel

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

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

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érauxStructure d’une grappe

Grappe

Principes générauxStructure d’une grappe

Un ensemble de machines Des PC du commerce

Grappe

Dell PowerEdge 2550

Principes générauxStructure d’une grappe

Un ensemble de machines Des PC du commerce

Un réseau classique Lent Réservé à l’administrationRéseau lent Grappe

Principes générauxStructure 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

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)

Communications Réseaux rapides

Grande fiabilité

Faible latence Quelques µs Réactivité

Haut débit 100 ~ 1000 Mbit/s Gros volumes

Carte de communication MyricomFibre optique

Grappe Icluster par rapport au Cray T3E-900Calculs sur des tableaux

100

1000

10000

1 2 4 8 16 32 64

Nombre d'ordinateurs

Mil

lio

n d

'op

érat

ion

s p

ar s

eco

nd

es

Icluster

T3E-900

Grappe Icluster par rapport au Cray T3E-900Calculs sur des tableaux

100

1000

10000

1 2 4 8 16 32 64

Nombre d'ordinateurs

Mil

lio

n d

'op

érat

ion

s p

ar s

eco

nd

es

Icluster

T3E-900

Comparatif

Cray T3ECray 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

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

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

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

Machine A Machine B

Réseau SCI

Mémoire

MémoireBus PCI Bus PCI

Interfaces Initialisation

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

TransfertsInitialisation

BIP Basic Interface for Parallelism

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

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

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

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

Recommended