Les clusters - PowerPoint PPT Presentation

About This Presentation
Title:

Les clusters

Description:

C dric LHERM Ing nieurs 2000 5 me ann e. Qu'est ce que le clustering ? D finition : ... n cessite un code appropri . criture des sources plus difficiles ... – PowerPoint PPT presentation

Number of Views:87
Avg rating:3.0/5.0
Slides: 36
Provided by: hp26255
Category:

less

Transcript and Presenter's Notes

Title: Les clusters


1
Les clusters
  • Cédric LHERM
  • Ingénieurs 2000
  • 5ème année

2
Sommaire
  • Présentation quest ce que le clustering ?
  • Problématique (problèmes darchitecture)
  • Les clusters dapplications
  • architecture
  • algorithmes utilisés
  • librairies
  • exemples
  • Les clusters de fichiers
  • conception
  • structure des fichiers
  • statistiques
  • Conclusion

3
Quest ce que le clustering ?
  • Définition
  • Méthode permettant daccélérer lexécution dun
    programme informatique en divisant celui-ci en
    multiples segments exécutés simultanément sur
    différentes machines

4
Quelques mots de vocabulaire
  • Node
  • Poste client connecté au réseau et capable
    dexécuter du code informatique sous lordre dun
    serveur.
  • Node Server
  • Serveur du cluster dordinateurs. Il est
    responsable de la répartition du travail entre
    les différents postes clients ainsi que de leur
    synchronisation. Il récupère également les
    erreurs et les résultats des calculs.

5
Problématique
  • Exécution dune application partagée entre
    plusieurs ordinateurs dun réseau
  • Hétérogénéité des différentes machines (Sun,
    GNU/Linux, Windows NT, )
  • Partage de la charge
  • Temps de latence

6
1ère partie
Les clusters dapplications
7
Pourquoi des clusters dapplication ?
  • Possibilité dutiliser les ressources
    matérielles de machines peu utilisées.
  • Capacités grandissante des réseaux informatiques
  • Prix du matériel informatique en constante
    baisse.
  • Compatibilité et hétérogénéité
  • Lenteur des réseaux informatique
  • Administration système des processus

8
Comparaison
  • Architecture multiprocesseurs
  • coût important
  • maximum de 16 processeurs (systèmes Linux)
  • calculs rapides
  • accès facile à lapplication et à la mémoire
  • Architecture en clusters
  • utilisation de machines du réseau
  • coût de mise en œuvre relativement abordable
  • architecture client serveur difficile à mettre en
    place
  • nécessite une bande passante importante

9
Architecture multiprocesseurs
  • Concepts
  • la mémoire physique est accessible depuis tous
    les microprocesseurs
  • le code source résidant en mémoire est lui aussi
    visible par tous les microprocesseurs
  • le noyau se charge de répartir les calculs
    importants (et prévus à cet effet) entre les
    processeurs

10
Exemple darchitecture multiprocesseurs
Répartition de lapplication
Code résident dans la mémoire commune aux trois
processeurs
CPU 1
CPU 2
CPU 3
Mémoire
11
Architecture multiprocesseurs
  • Bilan
  • mise en place aisée
  • coût important
  • limites de développement
  • problème de redondance
  • nécessite du code écrit pour être exécuté sur
    plusieurs processeurs en parallèle
  • accès à la mémoire
  • accès au code

12
Architecture en clusters
  • Concepts
  • partage de lexécution dune application entre
    plusieurs machine dun réseau
  • redondance
  • haute disponibilité
  • accélération des temps dexécution façon
    significative
  • problème de charge réseau échange de messages
  • temps de latence

13
Architecture en clusters
Application
Echange de messages
Node Server
Node
Node
14
Comment ça marche ?
  • Algorithmes utilisés
  • méthode de partage du calcul des boucles
    dexécution (for, while)
  • délégation des calculs
  • redondance
  • échange de messages

15
Partage du calcul des boucles
  • Exemple de Programme C séquentiel
  • int sum 0
  • for (i 0 i lt 1000 i)
  • sum i 50

16
Partage du calcul des boucles
  • Programme partagé dans un cluster de deux
    machines

Server Node Node
int nb_node 2 int num_node 0 int sum 0 create_cluster_group ( cal ) for (int i 0 i lt 1000 i nb_node) sum i 20 sum get_result () int nb_node 2 int num_node 1 int sum 0 join_cluster_group ( cal ) for (int inum_node ilt1000 i nb_node) sum i 20 return sum
17
Partage du calcul des boucles
  • Bilan
  • nécessite un code approprié
  • écriture des sources plus difficiles
  • langages supportés C et Fortran
  • partage dinformation sur le réseau
  • lapplication  fork  un processus dune machine
    à une autre machine du réseau

18
Émission de messages
  • Concepts
  • application client / serveur
  • émission des informations propres à un processus
    vers la node cliente afin que cette dernière
    puisse exécuter le code ( fork  sur le réseau )
  • librairies portables
  • bande passante importante

19
Émission de messages
  • Librairies permettant de passer des messages
  • PVM (Parallel Virtual Machine)
  • MPI (Message Passing Interface)
  • AFAPI (Aggregate Function API)

20
PVM (Parallel Virtual Machine)
  • Passage de messages
  • Librairie libre de droits
  • Portable
  • Implémentée dans les couches supérieures du
    modèle OSI (au dessus des sockets)
  • Réseaux hétérogènes

21
MPI (Message Passing Interface)
  • Nouveau standard dans les librairies de passage
    de messages
  • Programmation simplifiée
  • Différentes implémentations
  • LAM (Local Area Multicomputer) MPI 1.1
  • MPICH (MPI CHameleon) MPI 1.1
  • AFMPI (Aggregate Function MPI) MPI 2.0

22
AFAPI (Aggregate Function API)
  • Normalisation de la librairie PAPERS (Purdues
    Adapter for Parallel Execution and Rapid
    Synchronisation)
  • Proche du matériel
  • Rapide

23
Émission de messages
  • Bilan
  • protocole haut niveau de communication client /
    serveur afin dimplémenter les systèmes en
    cluster
  • portable et fonctionnant sur des systèmes
    hétérogènes
  • gourmand en bande passante (entre 20 et 50 Mbits
    par seconde)
  • demande de faible temps de latence (moins de 200
    ms)

24
Exemples dutilisation
  • Earth Simulator
  • Architecture NEC SX
  • 640 nodes
  • 8 processeurs par node
  • 16 Gb de mémoire par node
  • 5120 processeurs
  • 40 téra instructions par seconde
  • 10 téra octets de mémoire
  • 700 téra octets de disque dur

25
Exemples dutilisation
  • ASCI White
  • processeur IBM RS6000 SP Power3 à 375 MHz
  • 12,3 trillions dopérations par seconde
  • 8192 processeurs
  • 6 téra octets de mémoire vive

26
2ème partie
Les clusters de fichiers
27
Les clusters de fichiers
  • mise en place de sauvegardes fiables et de gros
    volume
  • sécurité
  • redondance
  • multi-sites
  • pratiques
  • facilement administrables

28
Les clusters de fichiers
  • Exemple MOPI (Mosix)
  • Principes
  • partage de fichiers entre plusieurs nodes
  • fragments de données indépendants
  • stockages de fichiers de grande taille
  • redondance
  • accès transparent aux fichiers

29
Les clusters de fichiers
  • MFS Mosix File System
  • Méthode daccès aux fichiers
  • un ou plusieurs serveurs dédiés
  • Meta Manager (MM) dont le rôle est de gérer les
    fichiers, les segments mémoire, les suppressions,
  • Migration des processus

30
Structure des fichiers
MetaUnit contrôle les inodes et les
emplacements des fichiers
DataStructure Plus petite unité de stockage (1
Mb à 4 Gb) autonome
31
Composants MOPI
Niveau utilisateur et application
Démons Interface shell
Niveau système
32
Statistiques
  • Comparaison MFS / NFS
  • 60 stations de travail
  • Architecture Pentium III 1,3 GHz 512 Mo disque
    dur, 20 Go disque dur.

Block Access Method Access Method Access Method
Block Local MFS NFS
1 K 14,4 18 162
4 K 13,2 15,4 162
8 K 13 15 161,6
16 K 13 15 162
32 K 13,8 15,4 162,8
64 K 14,2 16,4 163
33
Conclusion clusters de fichiers
  • stockage massif de données
  • haute disponibilité
  • sécurité
  • rapidité

34
Quelques références
  • Sous Linux
  • beowolf
  • Optimisation du taux doccupation de la bande
    passante
  • Nombre important de nodes sur le réseau local
  • mosix
  • Nécessite de patcher le noyau linux
  • Load balancing dynamique

35
Conclusion
  • Le clustering est particulièrement adapté pour
    les applications industrielles nécessitant des
    temps de calculs importants génome, calculs
    dimages 3D,
  • Il est également utile pour le stockage sécurisé
    dun volume important de données.
  • Ces points font des clusters un axe de
    développement très prisé par le monde industriels.
Write a Comment
User Comments (0)
About PowerShow.com