Introduction aux clusters Qu est ce que le terme Cluster veut dire? Un cluster peut être défini comme un ensemble limité (de l ordre de la dizaine) de systèmes informatiques interconnecté qui partagent des ressources de façon transparentes. Ces ressources partagées sont désignées comme «ressources clusterisées». Chacun de ces systèmes peut être considéré comme un système à part entière : Il dispose d un ensemble complet de ressources : mémoire, disques, processeurs etc Les systèmes qui composent un cluster sont appelés nœuds. Les clusters sont aussi désignés sous l appellation de systèmes faiblement couplés car ils ne partagent pas de mémoire. Tandem a introduit le concept de cluster à la fin des années 1970 et Digital l a repris avec le VAX VMS (VaxCluster) à partir de 1983. CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 1
Introduction aux clusters Un Cluster n est pas un système distribué : Un cluster est composé de nœuds similaires. C est-à-dire provenant d un même fournisseur, correspondant à des configurations précisément définies et fonctionnant sous le contrôle d une même version du système d exploitation. Les clusters offrent aux utilisateurs l illusion qu ils sont en présence d un système unique. Les différents nœuds qui composent le cluster sont proches les uns des autres. La synchronisation entre les nœuds est assurée au moyen d un gestionnaire de verrous distribués, appelé DLM (Distribued Lock Manager). Le système d exploitation d un cluster repose soit sur un système spécialement conçu pour cela (cas de Tandem), soit sur un système dérivé d un système existant. L avantage principal est la haute disponibilité parce qu ils possèdent des caractéristiques de redondance et de résistance aux défaillances (en particulier défaillance logiciel). CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 2
Introduction aux clusters Le Cluster UNIX : IBM HACMP/Bull Power Cluster Charge de travail répartie Ressources clusterisees : -Disques -Connexion reseau Accès concurrents Le DLM est une fonction dont l implémentation est répartie sur les différents nœuds qui composent les cluster. DPX/20 Gestion du verrouillage (Distribued Lock Manager) DPX/20 Le réseau d interconnexion du cluster peut être doublé de façon à augmenter la disponibilité du système. Server A Oracle Parallel Server Disque 1 Disque 2 Server A Oracle Parallel Server CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 3
Introduction aux clusters Client CLINFO Client CLINFO Client CLINFO CLUSTER Gestionnaire de verrous Gestionnaire du cluster Agent SNMP Cluster Architecture très générale du Cluster HACMP/6000 d IBM CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 4
Introduction aux clusters Le gestionnaire du cluster. Actif sur tous les nœuds du cluster, il se charge de maintenir à jour la configuration du cluster. Son rôle consiste aussi à refléter l état de fonctionnement du cluster vis-à-vis des autres systèmes. CLINFO (Cluster Information Service). C est un composant optionnel tant sur le cluster que sur les clients. Il donne des informations aux clients sur l état du cluster au moyen d une API. Ces informations sont communiquées aussi aux agents SNMP. L agent SNMP, cluster SNMP (Simple Network Management). C est un produit standard de fait pour l administration des systèmes distribués dans le monde Unix. Le gestionnaire de cluster lui transmet des informations qu il rend accessibles à travers SNMP. Le gestionnaire de verrous fournit un service de synchronisation distribué aux différents services et aux applications fonctionnant sur un cluster. CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 5
Introduction aux clusters Client Client TruCluster Software de Compaq C est typiquement un cluster à haute disponibilité. SCSI Controller SCSI Controller Disques partagés SCSI Controller SCSI Controller Chaque nœud est équipé d un disque système.un nœud peut s initialiser de façon autonome avant de rejoindre le cluster. Un nœud peut aussi posséder ses propres disques qui ne seront pas récupérés par le cluster. Les différents nœuds exercent une surveillance réciproque les uns sur les autres. Le cluster se gère comme un système unique. Disque privé Disque système Disque système Le système de fichiers clustérisé avec racine unique partagée. Domaine unique de sécurité, la désignation d un utilisateur se fait une seule fois. CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 6
Une machine massivement parallèle (MPP pour Massively Parallel Processing) possède un ensemble important (plusieurs centaines) de systèmes appelés nœuds reliés par un réseau d interconnexion. Chaque nœud dispose de ses propres ressources, processeurs, mémoire, contrôleurs d entrées sorties et de sa propre copie du système d exploitation. Chaque nœud est donc totalement indépendant. Les différences avec les clusters sont : Le nombre maximal de nœuds, une dizaine pour un cluster, plusieurs centaines pour les MPP. L organisation physique des systèmes, conçue pour supporter un grand nombre de nœuds et en faciliter l ajout. Le réseau d interconnexion spécifique à haute performance, alors que pour les clusters il s agit plutôt de FDDI ou ethernet à 100 Mb. Les nœuds peuvent être des SMP, ils sont alors qualifiés de nœuds multi processeurs. Les applications sont développés spécifiquement pour ce type d architecture. Elles visent surtout le calcul numérique intensif. CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 7
Ce type machines concurrencent directement les machines vectorielles (Cray Nec). Actuellement : Développement de MPP pour les systèmes d aide à la décision. Les SGBD ont été adaptés au traitement parallèle pour les grandes bases de données. Il est impératif que le réseau d interconnexion soit performant car une application MPP comprend : Des phases de communication (notamment les données pour les processus qui s exécutent en parallèle). Des phases de calcul. La performance du réseau est donc fondamentale pour la performance des applications. CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 8
Performance des réseaux d interconnexion : La topologie du réseau. Le nombre maximal de nœuds supportés. La performance (latence et bande passante). La simplicité et la généralité de l interface matériel logiciel. Le caractère bloquant ou non bloquant du réseau (ici on s intéresse uniquement aux réseaux non bloquant). Le coût. La résistance aux défaillances, en général les réseaux sont redondants. En fonctionnement normal, deux réseaux sont utilisés, chacun s occupe de 50% de la charge, en cas de défaillance de l un des réseaux, la totalité du trafic est assurée par le réseau valide. La conformité à un standard ou la possibilité d en devenir un. CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 9
Exemple de topologie d interconnexion : BUS ANNEAU Complètement connecté CrossBar Grille 2D Grille 2D Hiérarchisé Réseau Oméga CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 10
Paramètres de caractérisation de la performance d un réseau d interconnexion : La latence Le temps nécessaire à l acheminement d un message depuis l espace d adressage d un processus jusqu à l espace d un autre processus. Le débit ou bande passante : Le nombre d octets communiqués par unité de temps. On distingue : La bande passante totale : il s agit de la bande passante d un lien multipliée par le nombre de liens existant dans le réseau d interconnexion. La bande passante totale suppose que les nœuds exploitent en totalité les différents liens et qu il n y ait aucun conflit sur ces liens. La bande passante réellement utilisable : c est la moyenne passant par les différents nœuds, la notion de bissection bandswitch est utilisée pour définir cette moyenne. CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 11
La bissection bandswitch : LES MULTI PROCESSEURS Pour un réseau symétrique, c est la bande passante observée sur une coupe en deux du réseau d interconnexion. Pour un réseau dissymétrique, c est la bande passante minimale observée sur l ensemble de coupes du réseau. Un réseau d interconnexion parfait : Une latence constante (indépendante du nombre de nœuds). Le temps nécessaire à l acheminement d un message entre deux nœuds quelconques est indépendant du nombre de nœuds du système. Une bissection croissant linéairement avec le nombre de nœuds. L ajout d un nœud dans le système apporte alors une contribution constante à la bande passante. Remarque : Pour les clusters, le réseau est souvent fondé sur les technologies de réseau local, la latence augmente avec le nombre de nœuds car il y a contention tandis que le débit global est constant. Alors que dans le cas des MPP, le réseau d interconnexion cherche à se rapprocher des caractéristiques idéal : latence constante et débit dépendant linéairement du nombre de nœuds. CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 12
Caractéristiques comparées de quelques topologies de réseaux d interconnexion Bande Passante Critères Bus Anneau Grille 2D Hypercube Complètement connecté Bande Passante Totale 1 64 112 192 2016 Bissection 1 2 8 32 1024 Coût Port par Switch Pas applicable 3 5 7 64 Nombre total de liens 1 128 176 256 2080 Un réseau complètement connecté possède une topologie telle que tout nœud possède un lien dédié avec tous les autres nœuds du système. Le tableau met en évidence la différence importante qui existe entre la bande passante totale et la bissection. Le choix d une topologie résulte d un compromis entre sa bande passante et son coût. CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 13
Caractéristiques du réseau d interconnexion Spider de SGI (topologie HyperCube) Nombre de nœuds Latence moyenne (ns) Bissection Go/s 8 118 6.4 16 156 12.8 64 274 51.2 256 344 205.5 512 371 410.0 Ce réseau présente les caractéristiques idéal en terme de bande passante, croissance linéaire de la bissection en fonction du nombre de nœuds. La latence augmente de façon sensible avec le nombre de nœuds connectés. Remarque sur la latence : Pour l essentiel, la latence est du au logiciel et non au matériel. CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 14
IBM RS/6000 SP LES MULTI PROCESSEURS C est un système massivement parallèle dont les nœuds sont dérivés des serveurs SMP standard. Ce système est composé : 512 nœuds maximum sur demande spéciale et 128 sinon. Les nœuds se répartissent en : nœud mince (thin node) pouvant avoir 1 ou 2 processeurs Power3 cadencés à 220 Mhz. nœud large (wide node) pouvant avoir 2 ou 4 processeurs 604e cadencés à 332 Mhz ou Power3 à 200 Mhz. nœud haut (high node) pouvant compter jusqu à 8 processeurs Power3 cadencés à 222 Mhz. Le tout est regroupés dans des armoires, une armoire contient 4 à 16 nœuds suivant les types de nœuds. Le réseau d interconnexion des nœuds est de topologie oméga utilisant des Cross Bars de 4x4. chaque nœud possède une liaison bidirectionnelle avec le réseau d interconnexion dont le débit est de 150 Mo/s par direction. Ce système est surtout utilisé pour les applications de calcul numérique et l aide à la décision au travers des bases de données de grande taille. CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 15
Architecture générale du NCR WorldMark 5200 Les nœuds sont des SMP à 4 processeurs Xeon. Le système supporte jusqu à 512 nœuds, soit 2048 processeurs. BYNET Noeud SMP Noeud SMP Noeud SMP Noeud SMP Noeud SMP Noeud SMP Noeud SMP Noeud SMP Le réseau BYNET est doublé pour répondre à la fois aux critères de performances et de disponilité. La bissection croit linéairement en fonction du nombre de nœuds (bissection = 20.8 Mo/s x nombre_de_noeuds). La latence moyenne pour une communication entre des niveaux «application» est de 300 μs. CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 16
Exemple de machines vectorielles NEC SX-5 L architecture vectorielle est une forme particulière de parallélisme des données. Elle met au service de l exécution des boucles portant sur des tableaux un nombre élevé d unité arithmétiques fonctionnant en parallèle pour diviser dans les mêmes proportions le temps d exécution. DO I=1, 256 ENDDO Z(i)=X(i)+Y(i) Se transforme sur une architecture classique en <Initialisation I = 1> test : <test conditions d entrée dans boucle sinon aller à sortie> <calcul de X(i)+Y(i)> <Rangement du résultat dans Z(i)> <incrémentation de i> <saut inconditionnel à test> sortie : < > Le sx-5 comporte 16 opérateurs arithmétiques parallèles, les instructions de calcul et de rangement seront réparties sur ces opérateurs. Le temps de la boucle sera alors divisée par 16. CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 17
Architecture d un nœud SX-5 CPU 0 CPU 1 CPU 14 CPU 15 MMU Mémoire principale SDRAM 2 Go 256 Go 32-1024 Go/s IOP 0 IOP 1 IOP 2 IOP 3 3.2 Go/s 3.2 Go/s 3.2 Go/s 3.2 Go/s Un nœud comprend au maximum 16 processeurs et 4 circuits d entrées sorties (IOP pour Input Output Processor). Le MMU signifie ici Main Memory Unit pour unité principale de mémoire (et non Memory Management Unit, circuit de gestion de la mémoire virtuelle). CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 18
Architecture interne d un processeur SX-5 Mémoire principale MMU Load/Store 32/64 Go/s 256 MASK 64 Vector Data Registers 256 8 8 Shift logical 8/16 vector arithmetic registers Inst Stack (8 Ko) CACHE 128 Ko Registres scalaires 128 Unité scalaire CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 19
La mémoire principale MMU est raccordée à chaque processeur élémentaire par l intermédiaire d une unité de chargement rangement qui se charge des échanges avec les registres de l université vectorielle. Le débit mémoire est assuré d une part par l utilisation de Cross Bar et d autre part par un niveau d entrelacement très important. La mémoire utilise des puces SDRAM répartie sur des bancs indépendants, cela permet de répartir les blocs de données d adresses successives sur les différents bancs. L accès à des blocs de données consécutifs s adressent à des bancs indépendants qui peuvent travailler en parallèle. Le processeur est constitué de deux éléments, l unité vectorielle et l unité scalaire, les deux unités peuvent fonctionner en parallèle. L unité vectorielle est composée de 8 ou 16 pipelines, chacun réalisant des opérations différentes (multiplication, addition, décalage, opérations logiques, masquage et division) sur des vecteurs. Les capacités vectorielles de cette machine peuvent être exercées au moyen des différents compilateurs disponibles : FORTRAN 90, C et C++. La performance du système réside dans l utilisation optimale de l unité vectorielle. CNAM 2009-2010 Patrick Arlaud - Jerome Dupire 20