Clustering - PowerPoint PPT Presentation

About This Presentation
Title:

Clustering

Description:

all about clustre – PowerPoint PPT presentation

Number of Views:407
Slides: 57
Provided by: meradiyounes
Category:
Tags:

less

Transcript and Presenter's Notes

Title: Clustering


1
CLUSTERING
  • Grappe d'ordinateurs

2
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

3
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.

4
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

5
Définition d'un cluster
  • Cluster agrégat de machines dans un but de
    travail coopératif. Systèmes informatiques
    indépendants, à couplage lâche,se comportant
    comme un seul système.
  • Architecture NORMA NO Remote Memory Access
  • Ce n'est pas une architecture SMP (machines
    parallèles)
  • Architecture de cluster
  • Systèmes en clustering tâches réparties sur
    plusieurs machines (les sites web importants).
  • Logiciels en clustering une seule et une même
    tâches est répartie sur chaque machine (calculs).

6
Clustering les besoins
  • Augmentation de la puissance de traitement
    (scalability) on veut que la puissance de
    traitement suive de manière linéaire le nombre de
    machines du cluster.
  • Augmentation de la disponibilité (availability)
    on veut minimiser les inconvénients liées aux
    pannes par la redondance des machines entre
    elles.
  • Calcul Haute-Performance et Partage de charge
    configurations à plusieurs dizaines (centaines)
    de nœuds.

7
Clustering La haute disponibilité
  • Assurer un redemarrage rapide en quelques minutes
    en cas de problème imprévu - redondance de
    machines.
  • Pas de rupture de service perceptible aux
    utilisateurs.
  • Ce n'est pas de la tolérance de panne

8
Architecture physique
9
Concepts de base
  • L accès réseau cest le point de passage entre
    les machines du cluster et les machines de
    lextérieur
  • Le support du système de fichier
  • Baie disque partagées (SCSI / Fiber Channel)
  • Disques locaux des machines
  • Le coeur de calcul n couples mémoire-CPU.
  • Ressources matérielles et logicielles nécéssaires
    à l éxécution dun service sur un nœud
  • Un service est démarré sur un nœud que si ce
    dernier a accès à l ensemble du groupe de
    ressource nécessaire à l exécution du service.

10
Clustering Partage de charge
  • La fonction de partage de charge peut être
    centralisée ou répartie.
  • Toutes les machines éxecutent le même service
    simultanément.

11
Schéma général
12
Gestion par le réseau
  • Systèmes par partage de charge grâce au DNS
    multiples IP pour un nom, priorités dans les
    entrées
  • Mais
  • - les entrées A sont cachées par les systèmes
  • - les entrées MX privilègie un serveur par
    rapport à lautre (Haute-Disponibilité).

13
Avantages
  • Scalability réponse à la demande
  • Rajouts de serveurs.
  • Administration aisée de n serveurs absolument
    identiques en données

14
Cadre d'utilisation
  • Services à données statiques serveur web,
    serveur ftp (en lecture seule).
  • Services à données dynamiques utilisation d un
    système de fichiers  cluster .
  • Problèmatique de la cohérence des données.
  • Utilisation dun File System spécifique qui
    permettent la concurrence transparente des accès
    (Distributed Lock Manager).

15
Données partagées
  • Solution de partage de charge à données partagées
  • Les applications écrites spécifiquement sont très
    chères (Oracle Parallel Server)
  • Solution BdD OpenSource MySQL
  • Haute-disponibilité en écriture
  • Lecture distribuée

16
Clustering Calcul scientifique
  • L'ensemble des nodes cumulent leur puissance de
    calcul pour arriver à des performance égales à
    celles qu'atteignent les super calculateurs.
  • Ce cluster utilise des applications spécialisées
    dans la paraléllisation de calcul à travers une
    couche de communication commune.
  • Il est possible de gérer la mémoire partagée
    accessible par l'ensemble des processeurs du
    système à travers ses nodes.

17
Clustering Stockage de données
  • Mise en place d'une vaste capacité de stockage
    virtuel afin de répondre à l'augmentation des
    flux de données et donc nécessitant une capacité
    de stockage supérieure à celle d'un seul disque
    dur.
  • Le fichier est découpé en bloc de taille
    raisonnable et stocké par morceau sur plusieurs
    disque.
  • Virtuellement, on a l'impression que l'espace de
    stockage illimité et que notre fichier est stocké
    en un seul morceau sur un disque unique.
  • Technologie SAN et NAS

18
Clustering Stockage de données
  • Le but est de disribuer les données par
    l'entremise de plusieurs disques répartis sur les
    nodes du cluster stockage combiné.
  • L'utilisateur peut travailler avec des fichiers
    de très grandes tailles, tout en minimisant les
    tranferts, dans l'éventualité ou la taille des
    blocs adoptée reste raisonnable.

19
Les solutions Globales
  • Clusters propriétaires IBM, SUN, Hewlet
    Packard, Compaq, Fujitsu, ....
  • Clusters Commerciaux systèmes proposés par des
    sociétés de prestations en informatique.

20
Clustering Microsoft
  • Il répond aux besoins croissants des entreprises
    en terme de messagerie éléctronique, de base de
    données et depuis quelques années de serveurs web
    ou ftp
  • Microsoft propose deux types de clustering
  • Le clustering de service, permettant de réaliser
    des cluster d'application et de rendu de service,
    c'est à dire un cluster de haute disponibilité, à
    tolérance aux fautes.
  • Le clustering à répartition de charge, c'est à
    dire une répartition de charge réseau sur un flux
    IP à travers un cluster constitués de 32 nodes au
    maximum.

21
Clustering Microsoft
  • Les inconvénients
  • Toutes les applications doivent provenir de
    Microsoft.
  • Les systèmes d'exploitations proposés subissent
    trop souvent des correctifs.
  • Il faut u matériel robuste, puissant et pas très
    nombreux(lt32).
  • Les solutions de clustering Microsoft sont
    particulièrement onéreuses.

22
Les solutions Microsoft
  • Clusters Microsoft Windows 2000 Advanced et
    Datacenter Server.
  • MSCS haute disponibilité
  • Network Load Balancing répartition de charge

23
Les solutions linux
  • Clusters Linux LVS, Beowulf, PVFS, Linux
    HA-Project, Alinka, Mosix.

24
Avantages Linux
  • Mise en place d'un clustering répondant à toutes
    les attentes.
  • Des applications Open Source de cluster son
    disponibles sur le réseau Internet.
  • Quasi gratuité des applications.

25
Inconvénients Linux
  • Le système n'est pas livré clé en main.
  • Il faut un investissement humain considérable
    notamment en terme de formation
  • De bonnes connaissances en informatique, sur le
    réseau et le monde Linux.

26
clusters dapplication
27
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

28
Architecture multiprocesseurs
29
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

30
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
31
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

32
Architecture en clusters
33
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

34
Architecture en clusters
Application
Echange de messages
Node Server
Node
Node
35
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

36
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

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

38
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
39
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

40
Émission de messages
  • Concepts
  • application client / serveur
  • émission des informations propres à un processus
    vers le node client afin que ce dernier puisse
    exécuter le code ( fork  sur le réseau )
  • librairies portables
  • bande passante importante

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

42
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

43
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

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

45
É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
  • bande passante (entre 20 et 50 Mbits par seconde)
  • demande de faible temps de latence (moins de 200
    ms)

46
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

47
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

48
Les clusters de fichiers
49
Les clusters de fichiers
  • mise en place de sauvegardes fiables et de gros
    volume
  • sécurité
  • redondance
  • multi-sites
  • pratiques
  • facilement administrables

50
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

51
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

52
Structure des fichiers
MetaUnit contrôle les inodes et les
emplacements des fichiers
DataStructure Plus petite unité de stockage (1
Mb à 4 Gb) autonome
53
Composants MOPI
Niveau utilisateur et application
Démons Interface shell
Niveau système
54
Conclusion clusters de fichiers
  • stockage massif de données
  • haute disponibilité
  • sécurité
  • rapidité

55
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.

56
Bibliographie et sites Internet
  • http//clusters.top500.org/
  • http//www.sun.com/clusters/ 
  • http//hp-linux.cern.ch/ 
  • http//www.microsoft.com/windows2000/technologies/
    clustering/default.asp 
  • http//www.linuxvirtualserver.org/ 
  • http//www.beowulf.org/ 
  • http//www.mosix.org/
Write a Comment
User Comments (0)
About PowerShow.com