Contacts

Système d'exploitation de grappes. Résumé: Systèmes de grappes. Équipement réseau et protocoles


Département 29 "Systèmes intellectuels des gestionnaires"

Résumé sur le sujet:

Systèmes de cluster

Effectué:

groupe d'étudiants K9-292.

Popov i.a.

Moscou 2001.

1. Introduction

2. Cours de base d'ordinateurs parallèles modernes

3. Architecture de cluster d'ordinateurs parallèles

4. Objectifs de la création de systèmes de cluster

5. Groupes de basculement

6. Grappes de haute performance

7. Projet Beowulf.

8. Conclusion

9. Littérature

introduction

Développement de systèmes informatiques multiprocesseurs

Le développement des architectures traditionnelles pour la construction de systèmes informatiques, tels que SMP, MPP, Vector, les systèmes parallèles vectoriels vont assez rapidement. La productivité augmente, la fiabilité et la tolérance des pannes augmentent. Cependant, ces architectures ont un désavantage - le coût des systèmes créés, parfois inaccessible pour de nombreux utilisateurs de tels systèmes - organisations éducatives et de recherche. Il est très élevé en raison de la complication des composants matériels et logiciels du système, qui sont tenus de fournir de tels taux de croissance de la productivité. Toutefois, la nécessité de ressources de calcul est actuellement très élevée dans de nombreux domaines d'activités scientifiques et pratiques et manquent de ressources des systèmes de supercalculateur traditionnels.

Les systèmes de grappes sont apparus comme une solution moins chère au problème du manque de ressources informatiques et reposent sur l'utilisation de technologies généralisées et relativement peu coûteuses dans leur architecture, leur matériel et logiciel, tels que PC, Ethernet, Linux, etc. L'utilisation de la technologie de masse dans les systèmes de cluster est devenue possible grâce à des progrès significatifs dans le développement de composants des systèmes informatiques classiques, tels que les processeurs centraux, les systèmes d'exploitation, les supports de communication.

Étant donné que les systèmes de cluster sont architecturalement, le développement de systèmes avec le parallélisme masse député, le rôle principal de leur développement est de la progression dans le domaine des technologies du réseau. À ce jour, des solutions de communication peu coûteuses, mais efficaces sont apparues. Cela prédéterminé l'apparence rapide et le développement de systèmes informatiques en grappes. D'autres facteurs ont également contribué à l'avancement du développement des systèmes de cluster.

La performance des ordinateurs personnels basées sur des processeurs Intel a également augmenté de manière significative ces dernières années. De tels ordinateurs ont commencé à créer une concurrence grave dans des stations de travail basées sur des processeurs RISC plus coûteux et puissants. Dans le même temps, il a commencé à acquérir une popularité croissante du système d'exploitation Linux - gratuitement la version UNIX distribuée. Dans le même temps, dans des organisations scientifiques et des universités, où la plupart des systèmes de grappes sont développés, en règle générale, il existe des spécialistes de Linux OS.

Le degré élevé de développement des systèmes de cluster à ce jour montre que, dans la liste des supercalculateurs les plus puissants des installations de clusters mondiaux Top500 - 11, est répertoriée.


Cours de base d'ordinateurs parallèles modernes

Les systèmes de cluster sont le développement de systèmes parallèles. Pour rendre la place des systèmes de grappes entre autres types d'architectures parallèles de systèmes informatiques, vous devez donner leur classification. Les systèmes parallèles peuvent être classés selon divers critères.

À partir d'un point de vue matériel, le paramètre principal de la classification des ordinateurs parallèles est la disponibilité de la mémoire générale (SMP) ou de la mémoire distribuée (MPP). La moyenne entre SMP et MPP est une architecture Numa, où la mémoire est physiquement distribuée, mais est logiquement accessible.

Systèmes multiprocesseurs symétriques

SMP Le système est composé de plusieurs processeurs homogènes et d'une matrice de mémoire générale. L'une des approches SMP fréquemment utilisées de la formation d'un système de mémoire publique évolutive consiste en une organisation uniforme de l'accès à la mémoire en organisant un canal de processeur de mémoire évolutif:

Chaque opération d'accès à la mémoire est interprétée comme une transaction sur le bus de la mémoire du processeur. La cohérence de cache est maintenue par le matériel.

Dans SMP, chaque processeur a au moins une mémoire cache propre (et peut-être plusieurs).

On peut dire que le système SMP est un ordinateur avec plusieurs processeurs égaux. Tout le reste est en une seule instance: une mémoire, un sous-système d'E / S, un système opérateur. Le mot "égal" signifie que chaque processeur peut faire tout ce qui est autre. Chaque processeur a accès à toute la mémoire, peut effectuer toute opération d'entrée / sortie, d'interrompre d'autres processeurs, etc.

L'inconvénient de cette architecture est la nécessité d'organiser les processeurs de processeur de canaux avec une bande passante très élevée.

Systèmes massives parallèles

Le système MPP massif-parallèle est composé de nœuds informatiques homogènes, notamment:

  • un ou plusieurs processeurs centraux (généralement RISC)
  • la mémoire locale (accès direct à la mémoire d'autres nœuds est impossible)
  • processeur de communication ou adaptateur réseau
  • disques durs et / ou autres appareils dans / dans

Des composants spéciaux d'E / S et des nœuds de commande peuvent être ajoutés au système. Les nœuds sont associés à un environnement de communication (réseau à grande vitesse, commutateur, etc.)

Systèmes avec accès non uniforme à la mémoire numa

Numa (accès à la mémoire nonuniforme) Contrairement à la SMP habituelle de l'architecture de la mémoire partagée est plusieurs processeurs distincts, chacun desquels, en plus de son propre cache, dispose également de la mémoire locale:

Dans une telle architecture, le processeur et les modules de mémoire sont donc étroitement intégrés, la vitesse d'accès à la mémoire locale est beaucoup plus élevée qu'à la mémoire du processeur "adjacent". Les sous-systèmes d'E / S peuvent faire partie de chaque nœud ou consolidé sur les nœuds d'E / S sélectionnés. Si la cohérence de cache est maintenue dans tout le système, une telle architecture s'appelle CC-Numa.

Le moyen le plus simple de décrire le système numa, présentant un grand système SMP, divisé en plusieurs parties, ces pièces sont associées à l'autoroute de communication connectée aux pneus système, et chaque partie comprend sa propre mémoire de base et un sous-système d'entrée / sortie. Ceci est Numa: Grand SMP, cassé dans un ensemble de SMP plus petits et simples. Le problème principal Numa est d'assurer la cohérence de cache. L'équipement vous permet de travailler avec tous les périphériques séparés de la mémoire principale des composants du système (appelé habituellement nœuds) comme avec une seule mémoire géante.

Architecture de cluster

Considérez l'emplacement de l'architecture de cluster de systèmes informatiques dans cette classification.

Le cluster est un ensemble lié d'ordinateurs à part entière utilisées comme une ressource unique. Sous le concept d'un "ordinateur à part entière" est compris par le complété système d'ordinateurAvoir tout ce qui est requis pour son fonctionnement, y compris les processeurs, la mémoire, le sous-système d'E / S, ainsi que le système d'exploitation, les sous-systèmes, les applications, etc. Habituellement, des ordinateurs personnels ou des systèmes parallèles pouvant avoir des architectures SMP et même NUMA conviennent à cela. Les clusters sont des systèmes à faible perte, les liens de nœud sont utilisés par l'une des technologies de réseau standard (Rapide / Gigabit Ethernet, Myrinet) sur la base de l'architecture ou du commutateur de bus. Par conséquent, ils sont moins chers dans la construction de la modification de l'architecture MPP.

Architecture groupée d'ordinateurs parallèles

Principes généraux

Comme déjà mentionné précédemment, le cluster de calcul est un ensemble d'ordinateurs combinés dans un certain réseau pour résoudre une tâche (figure 3), qui est soumis à l'utilisateur en tant que ressource unique. Un tel concept de cluster a été suggéré pour la première fois et mis en œuvre dans les équipements numériques de la Corporation du début des années 80, qui, à ce jour, développe cette technologie.

Le concept de "ressource unifiée" désigne la disponibilité de logiciels qui vous donne la possibilité d'utiliser des utilisateurs, des administrateurs et des programmes d'application afin de supposer qu'une seule entité avec laquelle ils fonctionnent est une grappe. Par exemple, le système de traitement de paquets de cluster vous permet d'envoyer une tâche pour le traitement du cluster et non un ordinateur séparé. Un exemple plus complexe sont les systèmes de base de données. Presque tous les fabricants de systèmes de base de données ont des versions fonctionnant en mode parallèle sur plusieurs machines de cluster. À la suite de l'application utilisant la base de données, ne prenez pas soin de l'endroit où leur travail est effectué. Le SGBD est responsable de la synchronisation de l'action parallèle et de maintenir l'intégrité de la base de données.

Ordinateurs formant un cluster - les nœuds de grappes soi-disant - sont toujours relativement indépendants, ce qui permet d'arrêter ou de désactiver l'un d'entre eux pour travail préventif Ou installer des équipements supplémentaires sans perturber les performances de l'ensemble du cluster.

En tant que noeuds de calcul dans le cluster, les ordinateurs personnels à processeur unique sont généralement utilisés, des serveurs SMP de deux ou quatre processeurs. Chaque nœud exécute sa copie du système d'exploitation, qui est le plus souvent utilisé par les systèmes d'exploitation standard: Linux, NT, Solaris, etc. La composition et la puissance des nœuds peuvent varier même dans le même groupe, permettant ainsi de créer des systèmes inhomogènes. Le choix d'un support de communication particulier est déterminé par de nombreux facteurs: les caractéristiques de la classe de tâches résolues, la nécessité d'une expansion de grappes ultérieure, etc. Il est possible d'activer des ordinateurs spécialisés dans la configuration, tels qu'un serveur de fichiers, et, en règle générale, la possibilité d'un accès à distance au cluster via Internet est fournie.

De la définition de l'architecture des systèmes de cluster, il s'ensuit qu'il inclut une très large gamme de systèmes. Considérant les points extrêmes, le cluster peut être considéré comme une paire de PC connectés par le réseau local de 10 mégabits réseau Ethernet et le système informatique créé dans le cadre du projet CLANT dans le laboratoire national Sandia: 1400 postes de travail basés sur des processeurs alpha associés à un Réseau Myrinet haute vitesse.

Ainsi, on peut voir qu'il y a beaucoup de différentes options de construction de grappes. Dans le même temps, les technologies de communication et les normes d'occasion sont d'une grande importance dans l'architecture des clusters. Ils déterminent en grande partie la gamme de tâches, pour lesquelles des grappes construites sur la base de ces technologies peuvent être utilisées.

Technologies de la communication pour la construction de grappes

Les clusters peuvent supporter les deux à la fois sur des pneus de transmission de données à grande vitesse spécialisés et sur la base de technologies de réseau de masse. Parmi les normes de communication de masse est désormais la plus souvent utilisée par le réseau Ethernet ou plus de son option productive - Ethernet rapide, en règle générale, sur la base des commutateurs. Cependant, de grands rapports de surcharge pour l'envoi de messages dans Fast Ethernet entraînent de graves restrictions sur la gamme de tâches pouvant être résolues efficacement sur un tel cluster. Si un groupe nécessite une grande performance et une polyvalence, il est nécessaire d'utiliser plus de rapidité et de technologies spécialisées. Celles-ci incluent SCI, Myrinet, Clan, ServerNet, etc. Les caractéristiques comparatives de ces technologies sont données dans
Tableau 1.

Serveur

Ethernet rapide

LATENCE (MPI)

Bande passante (MPI)

180 mb / c

Bande passante (quincaillerie)

400 mb / c

160 mb / c

150 mb / c

12,5 mb / c

Mise en œuvre MPI

HPVM, MPICH-GM, etc.

Tableau 1.

La performance des réseaux de communication dans les systèmes de cluster est déterminée par plusieurs caractéristiques numériques. Les principales caractéristiques sont deux: latence - le délai initial lors de l'envoi de messages et de bande passante réseau, qui détermine la vitesse de transfert d'informations via des canaux de communication. Dans le même temps, il n'ya pas tant de caractéristiques de pointe indiquées dans la norme comme réelle, réalisée au niveau des applications utilisateur, par exemple au niveau de l'application MPI. En particulier, après contesté par l'utilisateur d'envoyer un message envoyé (), le message passera systématiquement à travers tout un ensemble de couches déterminées par les fonctionnalités de l'organisation et de l'équipement du logiciel, avant de quitter le processeur - il existe donc une planification significative sur les normes de valeurs de latence. La présence de latence conduit au fait que le taux de transfert maximal sur le réseau ne peut pas être atteint sur des messages avec une petite longueur.

La vitesse de transmission de données sur le réseau dans la technologie Ever Fast Ethernet et Scalapable Coherent Interface (SCI) dépend de la longueur du message. Pour Fast Ethernet, une grande variété de latence est caractérisée - 160-180 μs, tandis que la latence pour SCI est une valeur d'environ 5,6 μs. Taux de transfert maximal pour ces mêmes technologies 10 MB / C et 80 Mo / s, respectivement.

Objectifs de créer des systèmes de cluster

Les développeurs d'architectures du système de cluster ont vérifié diverses fins lorsqu'elles les créent. Le premier était le matériel numérique avec des clusters VAX / VMS. Le but de créer cette voiture était d'améliorer la fiabilité du système, garantissant la haute disponibilité et la tolérance aux pannes du système. Actuellement, il existe de nombreuses architecture de système similaire d'autres fabricants.

Un autre but de créer des systèmes de cluster est de créer des systèmes informatiques parallèles haut de gamme bon marché. L'un des premiers projets qui a donné un nom à une classe entière de systèmes parallèles - le cluster Beowulf - a créé au centre du centre de vol spatial de la NASA Goddard pour soutenir les ressources informatiques nécessaires du projet Terre et Space Sciences. Le projet Beowulf a débuté à l'été 1994 et il a bientôt été assemblé sur des processeurs Intel 486DX4 / 100 MHz. Chaque nœud a été installé sur 16 Mo mémoire vive et 3 adaptateurs Ethernet réseau. Ce système a eu beaucoup de succès en ce qui concerne le prix / la performance. Une telle architecture a donc commencé à développer et à utiliser largement dans d'autres organisations et instituts scientifiques.

Pour chaque classe de grappes, les architectures et le matériel utilisé sont caractéristiques. Considérez-les plus en détail.

Clusters de basculement

Principes de construction

Pour assurer la fiabilité et la tolérance aux pannes de systèmes informatiques, de nombreuses solutions matérielles et logicielles sont appliquées. Par exemple, dans le système, tous les sujets soumis à des défaillances - alimentations, processeurs, mémoire opérationnelle et externe peuvent être dupliqués. Ces systèmes tolérants de défaut avec réservation de composants sont utilisés pour résoudre des problèmes dans lesquels il n'y a pas assez de fiabilité des systèmes informatiques conventionnels actuellement estimés par probabilité. travail sans problème 99%. Ces tâches nécessitent une probabilité de 99,999% et plus. Une telle fiabilité peut être obtenue en utilisant différentes méthodes d'augmentation de la tolérance aux défaillances. En fonction du niveau de préparation du système informatique, quatre types de fiabilité sont alloués à l'utilisation:

Niveau de préparation,%

Max. temps d'arrêt

Type de système

3,5 jours par an

Conventionnel)

8.5 heures par an

Grande précision (haute disponibilité)

1 heure par an

Défaut résilient)

5 minutes par an

TOLÉRANCE DE PANNE)

Tableau 2.

Contrairement aux systèmes tolérants de pannes avec des composants excédentaires, ainsi que divers variants de multipérapage, des grappes combinent des machines relativement indépendantes, chacune peut être arrêtée pour la prévention ou la reconfiguration, sans casser la capacité de travail du cluster dans son ensemble. Des performances de grappes élevées et une minimisation de temps d'arrêt de l'application sont obtenues en raison du fait que:

  • en cas de panne de courant sur l'un des nœuds, l'application continue de fonctionner ou redémarre automatiquement sur d'autres nœuds de cluster;
  • l'échec de l'un des nœuds (ou plusieurs) ne conduira pas à l'effondrement de l'ensemble du système de cluster;
  • les travaux de prévention et de réparation, la reconfiguration ou le changement de versions de logiciels peuvent être effectués dans les nœuds de cluster alternativement, sans interrompre les opérations d'autres nœuds.

Une partie intégrante du cluster est un logiciel spécial qui, en fait, et résout le problème de la récupération du nœud en cas d'échec et résout également d'autres tâches. Le logiciel de cluster comporte généralement plusieurs scripts de récupération de système prédéterminés et peut également fournir à l'administrateur la possibilité de configurer de tels scénarios. La récupération après les défaillances peut être prise en charge à la fois pour le nœud dans son ensemble et pour les composants individuels - applications, volumes de disque, etc. Cette fonctionnalité est automatiquement initiée dans le cas d'une défaillance du système et peut également être exécutée par l'administrateur, le cas échéant, il est nécessaire d'éteindre l'un des nœuds de reconfiguration.

Les grappes peuvent avoir une mémoire partagée sur des disques externes, en règle générale, sur la matrice de disque RAID. Le tableau de disque RAID est le sous-système d'E / S de serveur pour un stockage de données volumineux. Dans les matrices RAID, un nombre important de disques relatifs à la faible capacité sont utilisés pour stocker de grandes quantités de données, ainsi que pour fournir une fiabilité et une redondance plus élevées. Un tableau similaire est perçu par un ordinateur en tant que périphérique logique unique.

La récupération après les défaillances peut être prise en charge à la fois pour le nœud dans son ensemble et pour les composants individuels - applications, volumes de disque, etc. Cette fonctionnalité est automatiquement initiée dans le cas d'une défaillance du système et peut également être exécutée par l'administrateur, le cas échéant, il est nécessaire d'éteindre l'un des nœuds de reconfiguration.

Les nœuds de cluster contrôlent les performances de chacun et échangent des informations spécifiques de «cluster», par exemple une configuration de cluster, ainsi que de transmettre des données entre les lecteurs partagés et coordonnent leur utilisation. Le contrôle de l'aide est effectué à l'aide d'un signal spécial que les nœuds de grappes se transmettent mutuellement afin de confirmer leur fonctionnement normal. La résiliation de la signalisation de l'un des nœuds signaux logiciels de cluster sur la défaillance s'est produite et la nécessité de redistribuer la charge sur les nœuds restants. À titre d'exemple, envisagez un cluster tolérant à la faute VAX / VMS.

Cluster VAX / VMS

Dec a d'abord annoncé le concept d'un système de cluster en 1983, en le déterminant comme un groupe de machines informatiques combinées, une unité de traitement d'informations unique. Essentiellement, le cluster Vax est un système multifacère faiblement couplé avec une mémoire externe commune qui fournit un seul mécanisme de gestion et d'administration.

Le cluster VAX a les propriétés suivantes:

Séparation des ressources. Les ordinateurs VAX d'un cluster peuvent partager l'accès à des lecteurs de bande et de disque partagés. Tous les ordinateurs Vx dans le cluster peuvent accéder à des fichiers de données distincts comme local.

Grande préparation. Si l'un des ordinateurs VAX échoue, les tâches de ses utilisateurs peuvent automatiquement être transférées sur un autre ordinateur de cluster. S'il y a plusieurs contrôleurs HSC dans le système et l'un d'entre eux refuse, d'autres contrôleurs HSC récupèrent automatiquement son fonctionnement.

Débit élevé . Un certain nombre de systèmes d'application peuvent utiliser la possibilité d'une exécution parallèle de tâches sur plusieurs ordinateurs de cluster.

Commodité de la maintenance du système . Des bases de données partagées peuvent être servies d'une seule place. Les programmes appliqués ne peuvent être installés qu'une fois sur disques communs Grappe et divisé entre tous les ordinateurs de cluster.

Extensibilité . Une augmentation de la puissance de calcul de la grappe est obtenue en associant des ordinateurs VAX supplémentaires. Des dispositifs de stockage supplémentaires sur les disques magnétiques et les bandes magnétiques sont disponibles pour tous les ordinateurs inclus dans le cluster.

Le fonctionnement du cluster VAX est déterminé par deux composants principaux. Le premier composant est un mécanisme de communication à haute vitesse et le second est un logiciel système qui fournit aux clients un accès transparent au service système. Physiquement, à l'intérieur du cluster est mis en œuvre à l'aide de trois technologies de pneumatiques différentes avec des caractéristiques de performance différentes.

Les méthodes de communication de base dans le cluster Vax sont présentées à la Fig. quatre.

Figure. 4 cluster VAX / VMS

CI Computer Bus (interconnexion de l'ordinateur) fonctionne avec une vitesse de 70 Mbps et permet de connecter des ordinateurs VAX et des contrôleurs HSC à l'aide du commutateur COUPER STAR. Chaque connexion CI comporte deux lignes redondantes, deux pour la transmission et deux à recevoir, à l'aide de la technologie de base CSMA, qui utilise un délai spécifique pour ce nœud pour éliminer les collisions. La longueur maximale de la communication CI est de 45 mètres. Le commutateur étoilé en forme d'étoile de Coupleur peut prendre en charge la connexion jusqu'à 32 pneus CI, chacun conçu pour connecter l'ordinateur VAX ou le contrôleur HSC. Le contrôleur HSC est un dispositif intelligent qui contrôle le fonctionnement des disques et des lecteurs de bande.

Les ordinateurs VAX peuvent être combinés dans un cluster également via un réseau local.

Ethernet à l'aide de Ni - Interconnexion réseau (appelé clusters de Vax locaux), mais les performances de ces systèmes sont relativement faibles en raison de la nécessité de partager la bande passante du réseau Ethernet entre les ordinateurs de cluster et d'autres clients du réseau.

Les clusters peuvent également coûter des pneus DSSI (système de stockage numérique interconnexion). Dans le bus DSSI, vous pouvez être combiné à quatre ordinateurs VAX Basse et de classe moyenne. Chaque ordinateur peut prendre en charge plusieurs adaptateurs DSSI. Un bus DSSI distinct fonctionne avec une vitesse de 4 Mb / s (32 Mbps) et vous permet de connecter jusqu'à 8 périphériques. Les types de périphériques suivants sont pris en charge: adaptateur système DSSI, contrôleur de disque de la série RF et contrôleur de ruban de série TF. DSSI limite la distance entre les nœuds de la grappe de 25 mètres.

Software Software Clusters

Pour garantir l'interaction correcte des processeurs les uns avec les autres lors de l'accès aux ressources partagées, telles que les disques, DEC utilise un gestionnaire de verrouillage DLM distribué (gestionnaire de verrouillage distribué). Une caractéristique DLM très importante consiste à assurer l'état cohérent des caches disques pour les programmes d'exploitation et des programmes d'application d'E / S. Par exemple, les applications relationnelles DLM sont responsables du maintien de l'état convenu entre les tampons de base de données sur divers ordinateurs de cluster.

La tâche de maintenir la cohérence de la mémoire cache d'E / S entre les processeurs du groupe est similaire au problème de la configuration de la cohérence de cache dans un système multiprocesseur fortement connecté construit sur la base d'un certain pneu. Les blocs de données peuvent apparaître simultanément dans plusieurs caches et si un processeur modifie l'une de ces copies, d'autres copies existantes ne reflètent pas l'état actuel du bloc de données. Le concept de capture d'un bloc (propriété de bloc) est l'un des moyens de gérer de telles situations. Avant que l'unité puisse être modifiée par la propriété de bloc.

Travailler avec DLM est associé à des frais généraux importants. Les frais généraux de l'environnement VAX / VMS peuvent être importants nécessitant une transmission jusqu'à six messages sur le bus CI pour une opération d'E / S. Les frais généraux peuvent atteindre les valeurs de 20% pour chaque processeur dans le cluster.

Clusters hautes performances

Principes de construction

L'architecture des grappes hautes performances est apparue comme l'élaboration des principes de la construction de systèmes MPP sur des composantes moins productives et de masse contrôlées par l'utilisation globale de l'usage général. Les grappes ainsi que les systèmes MPP consistent en des nœuds faiblement couplés, qui peuvent être à la fois homogènes et, contrairement au député, divers ou hétérogènes. Une attention particulière dans la conception d'une architecture de grappes hautes performances est payée pour assurer l'efficacité élevée du pneu de communication connectant les nœuds de cluster. Comme il existe souvent des pneus relativement performants massifs en grappes, il est nécessaire de prendre un certain nombre de mesures pour exclure leur bande passante basse sur les performances du cluster et l'organisation de la parallélisation efficace dans le groupe. Par exemple, la bande passante de l'une des technologies Ethernet rapides de la plus grande vitesse aux commandes est inférieure à celle des interconnexions dans les supercalculateurs modernes de l'architecture MRR.

Pour résoudre les problèmes de performances de faible produit, plusieurs méthodes sont utilisées:

Le groupe est divisé en plusieurs segments, dans lesquels les nœuds sont connectés par un pneu hautes performances du type Myrinet, et la connexion entre les nœuds de différents segments est effectuée par des réseaux de type basse performance de type Ethernet / Ethernet rapide. Cela vous permet de réduire le coût des grappes pour augmenter de manière significative les performances de telles clusters tout en résolvant des tâches avec un échange de données intensives entre les processus.

L'utilisation de la soi-disant "troncing", c'est-à-dire Combinant plusieurs canaux rapides Ethernet à un canal à haut débit commun Connexion de plusieurs commutateurs. L'inconvénient évident de cette approche est la "perte" des parties de ports impliquées dans l'interconnexion des commutateurs.

Pour améliorer les performances, des protocoles d'échange d'informations spéciaux sur ces réseaux sont créés qui vous permettent d'utiliser plus efficacement la bande passante du canal et de supprimer certaines restrictions recouvertes de protocoles standard (TCP / IP, IPX). Cette méthode est souvent utilisée dans les systèmes de la classe Beowulf.

La qualité principale qui devrait avoir une grappe hautes performances sera une évolutivité horizontale, puisque l'un des principaux avantages que l'architecture de grappes offre la capacité d'augmenter la puissance. système existant En ajoutant simplement de nouveaux nœuds dans le système. De plus, l'augmentation du pouvoir survient presque proportionnellement à la puissance des ressources ajoutées et peut être effectuée sans arrêter le système pendant son fonctionnement. Dans les systèmes avec une autre architecture (en particulier, MPP), seule une évolutivité verticale est généralement possible: ajout de la mémoire, augmentant le nombre de processeurs dans des systèmes multiprocesseurs ou ajouter de nouveaux adaptateurs ou disques. Cela vous permet d'améliorer temporairement les performances du système. Cependant, le système sera défini sur le nombre maximal de mémoire, des processeurs ou des disques, les ressources système seront épuisées et augmenter la productivité, vous devrez créer un nouveau système ou traiter de manière significative l'ancien. Le système de cluster admet également une évolutivité verticale. Ainsi, par échelle verticale et horizontale, le modèle de grappe offre une plus grande flexibilité et une plus grande simplicité de la performance croissante du système.

Projet Beowulf.

Beowulf est une épopée scandinave qui raconte les événements du VII - le premier tiers du 6ème siècle, dont le participant est le héros du même nom, qui se glorifiait dans des batailles.

Un exemple de la mise en œuvre du système de cluster d'une telle structure est des grappes de beowulf. Le projet Beowulf a uni d'une douzaine d'organisations et demi (principalement des universités) aux États-Unis. Les principaux développeurs de projets sont des spécialistes de l'agence de la NASA. Dans cette forme de grappes, vous pouvez affecter les principales caractéristiques suivantes:

Le cluster Beowulf comprend plusieurs nœuds distincts, combinés dans un réseau commun, la totalité des ressources des nœuds de cluster n'est pas utilisée;

L'optimal est considérée comme créée des grappes basées sur des systèmes SMP à deux processeurs;

Pour réduire les frais généraux de l'interaction entre les nœuds, un Ethernet Fast Duplex 100 MB est utilisé (SCI est moins courant), créez plusieurs segments de réseau ou connectez les nœuds de cluster via le commutateur;

En tant que logiciel, Linux est utilisé et distribué librement des bibliothèques de communication (PVM et MPI);

Histoire du projet Beowulf.

Le projet a commencé à l'été 1994 au Centre Space Space Nasa - Goddard Space Centre (GSFC), plus précisément dans les CESDIS créés sur sa base (centre d'excellence dans les données d'espace et les sciences de l'information).

Le premier cluster Beowulf a été créé sur la base de ordinateurs Intel Architecture sous Linux OS. C'était un système composé de 16 nœuds (sur les processeurs 486DX4 / 100 MHz, de la mémoire de 16 Mo et 3 adaptateurs réseau sur chaque nœud, 3 câbles EtherLET "parallèles" pour 10MBIT). Il a été créé comme une ressource informatique du projet "Projet de Sciences de la Terre et de l'espace" (ESS).

Ensuite dans le GSFC et d'autres divisions de la NASA, d'autres grappes plus puissantes ont été collectées. Par exemple, l'environnement virtuel intégré hautement parallèle) contient 64 nœuds de 2 processeurs de mémoire Pentium Pro / 200 MHz et 4 Go de chacun, 5 commutateurs Ethernet rapides. Le coût total de ce groupe est d'environ 210 000 dollars. Le projet Beowulf a mis au point un certain nombre de pilotes de réseau haute performance et spécialisés (en particulier, le pilote d'utilisation simultanément de plusieurs canaux Ethernet).

Architecture Beowulf.

Nœuds de cluster.

Ceci est soit des serveurs PC mono-processeur, soit des serveurs SMP avec un petit nombre de processeurs (2-4, éventuellement jusqu'à 6). Pour une raison quelconque, l'optimal est considérée comme étant nécessaire pour créer des grappes basées sur des systèmes à deux processeurs, malgré le fait que, dans ce cas, le réglage du cluster sera un peu plus compliqué (principalement parce qu'il n'est pas autorisé à des cartes mères relativement peu coûteuses pour 2 processeurs Pentium II / III ). Il vaut la peine d'être installé pour chaque nœud RAM 64-128MB (pour les systèmes à deux processeurs 64-256MB).

Une des voitures doit être mise en évidence comme une centrale (tête) où installer assez gros disque dur, peut-être un processeur plus puissant et plus de mémoire que les nœuds de repos (travail). Il est logique de fournir (protégé) la connexion de cette machine avec le monde extérieur.

Lorsque les composants de travail sont configurés, il est tout à fait possible d'abandonner les disques durs - ces nœuds téléchargeront le système d'exploitation via le réseau à partir de la machine centrale, ce qui, en plus de sauvegarder des fonds, vous permet de configurer le système d'exploitation et tout ce dont vous n'avez besoin que de 1 temps (sur la machine centrale). Si ces nœuds ne sont pas utilisés simultanément comme des travaux personnalisés, il n'est pas nécessaire d'installer des cartes vidéo et des moniteurs dessus. Il est possible d'installer des nœuds dans le rack (rack), ce qui réduira l'endroit occupé par des nœuds, mais coûtera un peu plus cher.

Il est possible d'organiser des clusters sur la base des réseaux existants de postes de travail, c'est-à-dire Les postes de travail des utilisateurs peuvent être utilisés comme nœuds de cluster la nuit et le week-end. Les systèmes de ce type sont parfois appelés vache (grappe de postes de travail).

Le nombre de nœuds doit être choisi sur la base des ressources informatiques nécessaires et des ressources financières disponibles. Il faut comprendre qu'avec un grand nombre de nœuds, il devra également établir des équipements de réseau plus complexes et plus coûteux.

Les principaux types de réseaux locaux impliqués dans le projet Beowulf sont Gigabit Ethernet, Fast Ethernet et 100-VG Anylan. Dans le cas le plus simple, un segment Ethernet est utilisé (10Mbit / sec sur une paire torsadée). Cependant, le pas cher d'un tel réseau, en raison des collisions, transforme des coûts généraux importants pour les échanges interprocesseurs; Et la bonne performance d'un tel groupe devrait être attendue uniquement sur des tâches avec une structure parallèle très simple et avec des interactions très rares entre les processus (par exemple, des options de buse).

Pour obtenir de bonnes performances d'échange interprocesseur, l'Ethernet Fast-Duplex Fast est utilisé pour 100 Mbit / sec. Dans le même temps, pour réduire le nombre de collisions ou définir plusieurs segments Ethernet "parallèles" ou connecter les nœuds de cluster via le commutateur (commutateur).

Plus cher, mais aussi une option populaire consiste à utiliser des commutateurs de type Myrinet (1.28Gbit / sec, duplex intégral).

Moins populaire, mais aussi réellement utilisé lors de la construction de grappes technologies de réseau sont clan, SCI et Gigabit Ethernet Technologies.

Parfois, pour la communication entre les nœuds de cluster, plusieurs canaux de télécommunication sont utilisés en parallèle - la "liaison de canaux" (liaison de canaux), couramment utilisée pour la technologie Ethernet rapide. Dans ce cas, chaque nœud est connecté au commutateur Ethernet rapide avec plus d'un canal. Pour ce faire, les nœuds sont équipés de plusieurs cartes réseau ou de cartes de multiplication rapide Ethernet. L'utilisation de la liaison de canaux dans les nœuds exécutant le logiciel Linux vous permet d'organiser une distribution uniforme de la charge de réception / de transmission entre les canaux correspondants.

Système système

Système opérateur. Le système Linux est généralement utilisé dans les versions spécifiquement optimisées pour les calculs parallèles distribués. Le noyau Linux 2.0 a été raffiné. Dans le processus de construction de grappes, il s'est avéré que les pilotes de périphérique réseau standard sous Linux sont très inefficaces. Par conséquent, de nouveaux pilotes ont été développés, d'abord pour les réseaux rapides Ethernet et Gigabit Ethernet, et il est possible de combiner logiquement plusieurs connexions réseau parallèles entre des ordinateurs personnels (similaires à la liaison de la chaîne matérielle), ce qui permet à des réseaux locaux bon marché avec bande passante, pour construire un réseau avec une bande passante cumulative élevée.

Comme dans n'importe quel cluster, il existe une copie du noyau OS sur chaque nœud de cluster. Grâce à la finalisation, le caractère unique des identificateurs de processus dans l'ensemble du cluster, et non des nœuds individuels, sont assurés.

Bibliothèques de communication. L'interface de programmation parallèle la plus courante dans le modèle de transfert de message est MPI. MPI de mise en œuvre gratuite recommandée MPI - MPICH Paquet développé dans le laboratoire national d'Argon. Pour les grappes basées sur le commutateur Myrinet, un système HPVM a été développé, qui comprend également la mise en œuvre du MPI.

Pour une organisation efficace de parallélisme dans un système SMP, deux options sont possibles:

  1. Pour chaque processeur de la machine SMP génère un processus de MPI distinct. Processus MPI Dans ce système Exchange Messages via une mémoire partagée (vous devez configurer MPICH en conséquence).
  2. Un seul processus MPI commence sur chaque machine. À l'intérieur de chaque processus MPI, la parallélisation est faite dans le modèle "Mémoire partagée", par exemple en utilisant les directives OpenMP.

Après avoir installé la mise en œuvre du MPI, il est logique de tester performance réelle Expéditions de réseau.

En plus de MPI, il existe d'autres bibliothèques et systèmes de programmation parallèles qui peuvent être utilisés sur des grappes.

Exemple de mise en œuvre du cluster Beowulf - Avalon

En 1998, dans le laboratoire national de Los Alamos Astrophysicik Michael Warren et d'autres scientifiques d'un groupe d'astrophysics théoriques ont construit un supercalculateur Avalon, qui est un Beowulf -Claster basé sur des processeurs Dec alpha / 533 mHz. Avalon consistait à l'origine de 68 processeurs, il a ensuite été étendu à 140. Dans chaque noeud, 256 Mo de RAM, un disque dur Eide sur 3,2 Go, un adaptateur réseau de Kingston (le coût total du nœud est de 1700 $). Les nœuds sont connectés à l'aide des commutateurs 46 à 36 ports d'Ethernet rapide et du commutateur de 12 ports de 12 ports "dans le centre" Gigabit Ethernet de 3com.

Le coût total d'Avalon est de 313 000 $ et ses performances de linkpack (47,7 gflops) lui ont permis de prendre la 114e place dans la 12e édition de la liste Top500 (à côté du système de processeur de 152 IBM SP2). La configuration de 70 processeurs d'Avalon sur de nombreux tests a montré les mêmes performances que le coût du système de processeur SGI Origen2000 / 195MHz de 64 processeurs dépasse 1 million de dollars.

Actuellement, Avalon est activement utilisé dans les calculs astrophysique, moléculaire et autres scientifiques. Lors de la conférence SC "98, les créateurs d'Avalon ont présenté un rapport intitulé" Avalon: un cluster Alpha / Linux réalise 10 gfers pour 150 000 $ "et méritait un prix en termes de prix / performance (" 1998 Gordon Bell Prix / Prix / Performance Prix ").

Conclusion

Les principaux fabricants de microprocesseurs: Sun Microsystems, Dell et IBM présentent le même point de vue de l'avenir de l'industrie des supercalculateurs: pour remplacer les supercalculateurs indépendants individuels doivent venir un groupe de serveurs hautes performances combinés à un groupe. Déjà aujourd'hui, les systèmes de cluster distribués sont en avance sur les superordinateurs classiques modernes en termes de performance: l'ordinateur le plus puissant dans le monde - IBM ASCI White - a une capacité de 12 teraflops, performance du réseau [Email protégé] Il est estimé à environ 15 téraflops. Dans le même temps, IBM ASCI White a été vendu à 110 millions de dollars et dans toute l'histoire de l'existence [Email protégé] Il a été dépensé d'environ 500 mille dollars.

Littérature

2. http://www.beowulf.com.

3. http://newton.gsfc.nasa.gov/thehive/

4. Lobos, http://www.lobos.nih.gov.

5. http://parallel.ru/news/kentucky_klat2.html.

6. http://parlell.ru/news/anl_chibacity.html

7. http://parlell.ru/cluster/

8. http://www.ptc.spbu.ru.

Ordinateurs MIMD

L'ordinateur MIMD a N. processeurs performants de manière indépendante N. Streams de commande et traitement N. Flux de données. Chaque processeur fonctionne sous le contrôle de son propre flux de commandes, c'est-à-dire que l'ordinateur MIMD peut effectuer des programmes complètement différents en parallèle.


L'architecture MIMD est en outre classée en fonction de organisation physique Mémoire, c'est-à-dire si le processeur a sa propre mémoire locale et se réfère à d'autres blocs de mémoire à l'aide d'un réseau de commutation ou le réseau de commutation connecte tous les processeurs à la mémoire publique. Basé sur l'organisation de la mémoire, les types d'architectures parallèles suivants distinguent:

  • Ordinateurs avec mémoire distribuée (Mémoire distribuée.)
    Le processeur peut accéder à la mémoire locale, peut envoyer et recevoir des messages transmis sur les processeurs de connexion réseau. Les messages sont utilisés pour communiquer entre processeurs ou équivalent à la lecture et à l'écriture de blocs de mémoire distante. Dans un réseau idéalisé, le coût d'envoi d'un message entre deux nœuds de réseau ne dépend pas à la fois de l'emplacement des deux nœuds et du trafic réseau, mais dépend de la longueur du message.

  • Ordinateurs avec la mémoire générale (partagée) (Vraie mémoire partagée)
    Tous les processeurs sont conjointement référés à une mémoire commune, généralement à travers un pneu ou une hiérarchie. Dans un pram idéalisé (machine d'accès aléatoire parallèle - une machine parallèle à accès arbitraire), un modèle, souvent utilisé dans des études théoriques d'algorithmes parallèles, tout processeur peut accéder à toute cellule de mémoire en même temps. En pratique, l'évolutivité de cette architecture conduit généralement à une forme de hiérarchie de la mémoire. La fréquence d'accès à la mémoire globale peut être réduite en enregistrant des copies de données fréquemment utilisées dans le cache associé à chaque processeur. L'accès à cette mémoire de caisse est beaucoup plus rapide que d'accès directement à la mémoire globale.

  • Ordinateurs avec mémoire virtuelle partagée (partagée) (Mémoire commune virtuelle.)
    La mémoire globale est manquante. Chaque processeur a sa propre mémoire locale et peut accéder à la mémoire locale d'autres processeurs en utilisant "l'adresse globale". Si «l'adresse globale» indique que la mémoire n'est pas locale, l'accès à la mémoire est implémenté à l'aide de messages envoyés par le réseau de communication.

Un exemple de machines avec mémoire partagée peut être:

  • Sun Microsystems (postes de travail multiprocesseurs)
  • Challenge graphique de silicium (postes de travail multiprocesseurs)
  • Symétrie séquent.
  • Convexe
  • Cray 6400.

Les ordinateurs suivants appartiennent à la classe de machines avec la mémoire distribuée.

  • IBM-SP1 / SP2
  • Parsytec gc.
  • CM5 (Société de réflexion)
  • Cray T3D.
  • Paragon (Intel Corp.)
  • ncube.
  • Meiko CS-2
  • AVX (ordinateurs parallèles Alex)
  • IMS B008.

L'architecture MIMD avec mémoire distribuée peut également être classée sur la bande passante du réseau de navettage. Par exemple, dans l'architecture dans laquelle des paires du module de processeur et de mémoire (élément de processeur) sont reliées par un réseau avec topologies schgtka Chaque processeur a le même nombre de connexions réseau, quel que soit le nombre de processeurs informatiques. La largeur de bande totale d'un tel réseau augmente linéairement par rapport au nombre de processeurs. D'autre part en architecture ayant un réseau avec des topologies hyperkub Le nombre de connexions de processeur sur le réseau est une fonction logarithmique du nombre de processeurs, et la bande passante réseau augmente plus rapidement que linéairement par rapport au nombre de processeurs. En topologie clique Chaque processeur doit être connecté à tous les autres processeurs.


Réseau avec topologie 2D schgtka (tOR)

Réseau avec topologie 2D tOR


Réseau avec topologie clique

Centre national des applications de supercalculateur (Université PC. Illinois, Urbana-Champaign)

MPI: l'interface de passage de message

Le nom "Interface de transmission de message", parle pour elle-même. Il s'agit d'un mécanisme bien normalisé pour la construction de programmes parallèles dans le modèle de messagerie. Il existe des "liaisons" standard MPI aux langues C / C ++, Fortran 77/90. Il existe des implémentations gratuites et commerciales pour presque toutes les plates-formes supercalculatrices, ainsi que pour les réseaux de postes de travail UNIX et Windows NT. Actuellement, MPI est l'interface la plus largement utilisée et de développement dynamique de sa classe.

Beowulf - clusters basé sur le système d'exploitation Linux

Mikhail kuzminsky

"Systèmes ouverts"

Sur le seuil des millénaires, nous avons toutes les chances d'assister à la monopolisation de l'industrie informatique, qui peut couvrir à la fois des microprocesseurs et des systèmes d'exploitation. Bien sûr, nous parlons de microprocesseurs d'Intel (Merced menace de doniguer les processeurs d'architecture RISC) et du système d'exploitation de Microsoft.

Dans les deux cas, le succès est largement déterminé par la puissance de la machine marketing, et pas seulement les propriétés "consommateurs" des produits produits. À mon avis, la communauté informatique n'a pas encore réalisé l'ampleur des conséquences possibles.

Certains experts comparent la monopolisation potentielle du marché informatique avec la domination de monopole IBM observée dans les années 70 - dans la zone des ordinateurs centraux et des systèmes d'exploitation. J'ai travaillé avec cette technique pendant une longue période et, comme le distribué UNIX est distribué dans notre pays, il est de plus en plus conscient de nombreux avantages du système d'exploitation IBM MVS. Néanmoins, je partage un point de vue commun qu'un tel monopole n'a pas contribué à l'accélération des progrès.

Les universités occidentales, qui, à la fois parmi les premières passées à l'utilisation de UNIX, toujours dans leurs développements prometteurs reposent sur ce système et Linux devient de plus en plus élu en tant que plate-forme. Cet article est dédié à l'un des développements académiques instructifs.

Linux en tant que phénomène social

Nous ne sommes plus surpris par le fait que Linux a montré un phénomène notable de la vie informatique. En combinaison avec l'ensemble le plus riche de logiciels librement distribués GNU, ce système d'exploitation est devenu extrêmement populaire avec des utilisateurs non commerciaux comme nous l'avons et à l'étranger. Sa popularité augmente. Versions Linux existent non seulement pour plateformes Intel X86, mais aussi pour d'autres architectures de processeur, y compris Dec Arrha, et sont largement utilisés pour les applications Internet, ainsi que les tâches de la nature estimée. En bref, Linux est devenu une sorte de "système d'exploitation de personnes". Presque, cependant, disent que Linux n'a aucun endroit faible; L'un d'entre eux est un soutien insuffisant pour les architectures SMR.

Le moyen le moins cher de construire des ressources informatiques, y compris la puissance de calcul, consiste à créer un cluster. Des supercalculateurs massifs parallèles avec une mémoire opérationnelle distribuée physiquement et logiquement peuvent également être considérés comme des clusters particuliers. L'exemple le plus vivant d'une telle architecture est le célèbre ordinateur IBM SP2.

Toute la question est que les ordinateurs (nœuds) dans le cluster se lient. Dans les "vrais" supercalculateurs, un équipement spécialisé et donc coûteux conçu pour fournir une bande passante élevée. Dans les clusters, en règle générale, les normes de réseau ordinaires sont appliquées - Ethernet, FDDI, ATM ou HIRI.

Les technologies de cluster utilisant le système d'exploitation Linux ont commencé à se développer il y a plusieurs années et sont disponibles bien avant que le Wolfrack n'apparaisse pour Windows NT. Donc, au milieu des années 90, le projet Beowulf est originaire.

Héros du poème épique

Beowulf est une épopée scandinave qui raconte les événements du VII - le premier tiers du 7ème siècle, dont le participant est le héros du même nom, qui s'est glorifié en batailles. On ignore si les auteurs du projet étaient conçus, avec qui luttent maintenant Beowulf (probablement avec Windows NT?) Cependant, l'image héroïque a permis de combiner environ une et demi des dizaines d'organisations dans le consortium (principalement universités) aux États-Unis. On ne peut pas dire que les centres de supercalculateur dominent parmi les participants au projet, cependant, les clusters Loki et Megalon sont installés dans les célèbres centres d'informatique haute performance, tels que Los Alamos et le laboratoire Sandia du département de l'énergie des États-Unis; Les principaux développeurs de projets sont des spécialistes de l'agence de la NASA. En général, sans exception, les clusters créés par les participants au projet reçoivent des noms forts.

Outre Beowulf, une technologie de cluster plus proche est connue - maintenant. En présent, les ordinateurs personnels contiennent généralement des informations sur eux-mêmes et des tâches elles-mêmes et les tâches de l'administrateur système d'un tel groupe incluent la formation de ces informations. Les grappes Beowulf à cet égard (c'est-à-dire du point de vue de l'administrateur système), est plus simple: il ne se connecte pas à la configuration du cluster. Un seul noeud sélectionné contient des informations de configuration; Et seulement il a une connexion sur le réseau avec le monde extérieur. Tous les autres nœuds de cluster sont combinés avec un réseau local, et seul le "pont mince" de l'unité de commande avec le monde extérieur est connecté.

Les nœuds de la technologie Beowulf sont des cartes mères PC. Habituellement, les disques durs locaux sont également impliqués dans les nœuds. Les types standard de réseaux locaux sont utilisés pour connecter des nœuds. Nous examinerons cette question ci-dessous, d'abord nous allons nous arrêter sur le logiciel.

Sa fondation à Beowulf est le système OS Linux disponible commercial habituel, qui peut être acheté sur le CD-ROM. Au début, la majorité des participants au projet ont été axés sur des CD publiés par Slackware, et maintenant les préférences sont préférées par la version de Redhat.

Dans le système d'exploitation Linux habituel, vous pouvez installer des moyens bien connus de parallélisation dans le modèle de messagerie (Lam IRM 6.1, PVM 3.3.11 et autres). Vous pouvez également utiliser la norme R-threads et le moyen standard d'interaction interprocesseur, qui sont inclus dans n'importe quel système UNIX V. Dans le cadre du projet BEOWULF, des développements supplémentaires graves ont été effectués.

Tout d'abord, il convient de noter le raffinement du noyau Linux 2.0. Dans le processus de construction de grappes, il s'est avéré que les pilotes de périphérique réseau standard sous Linux sont très inefficaces. Par conséquent, de nouveaux pilotes ont été développés (par la plupart des développements - Donald Becker), tout d'abord pour les réseaux rapides Ethernet et Gigabit Ethernet, et il est possible de combiner logiquement plusieurs connexions réseau parallèles entre ordinateurs personnels, ce qui permet de réseaux locaux bon marché avec plus de Vitesse modeste., Construisez un réseau avec une bande passante cumulative élevée.

Comme dans chaque groupe, sa propre copie du noyau du système d'exploitation vit dans chaque noeud. Grâce à la finalisation, le caractère unique des identificateurs de processus dans l'ensemble du cluster, et non des nœuds individuels, ainsi que la "livraison à distance" des signaux de système d'exploitation Linux sont assurés.

De plus, il est nécessaire de marquer les téléchargements sur le réseau (netbotte) lorsque vous travaillez avec les cartes mères Intel Pr44444444. Elles peuvent également être utilisées pour travailler avec d'autres cartes mères équipées d'AMI BIOS.

Des fonctionnalités très intéressantes fournissent des mécanismes de mémoire virtuelle réseau ou de la mémoire distribuée partagée partagée DSM (mémoire partagée distribuée), vous permettant de créer une "illusion" spécifique de la mémoire globale des nœuds.

Réseau - Matérielle délicate

Depuis la parallimisation des applications de supercalculateur en général, et en particulier en particulier, une bande passante élevée et des délais faibles dans la messagerie entre les nœuds sont nécessaires, les caractéristiques du réseau deviennent des paramètres qui définissent les performances du cluster. Le choix des microprocesseurs pour les nœuds est évident - ce sont des processeurs de production Intel standard; Mais avec la topologie du cluster, du type de réseau et des cartes de circuit de réseau, vous pouvez expérimenter. C'est dans ce domaine que la recherche principale a été effectuée.

Lors de l'analyse des différentes cartes réseau PC présentées aujourd'hui sur le marché, une attention particulière a été accordée à des caractéristiques telles que le support de diffusion efficace (multidiffusion), en soutenant des travaux avec des forfaits de grande taille, etc. Les principaux types de réseaux locaux impliqués dans le projet Beowulf, - C'est Gigabit Ethernet, Fast Ethernet et 100-VG Anylan. (Les capacités de la technologie ATM ont également été activement étudiées, mais dans la mesure de l'auteur, cela a été fait en dehors du cadre de ce projet.)

Comment recueillir un superordinateur

Après avoir analysé les résultats des travaux effectués dans le projet Beowulf, vous pouvez arriver à la conclusion suivante: Les solutions trouvées vous permettent d'assembler indépendamment un cluster hautes performances en fonction des composants standard des composants PC et d'utiliser le logiciel habituel. Parmi les plus grands instances, il est impossible de ne pas marquer le cluster 50 nœuds dans Cesdis, qui comprend 40 nœuds de traitement de données (basé sur le WINTS-processeur Rentenium РRO / 200 MHz) et 10 nœuds de mise à l'échelle (planche à double processeur de la Rente Р / 166 MHz). Le ratio des performances de coût / de pointe dans un tel cluster est très réussi. La question est de savoir quelle efficacité est que cela est possible de paralyer les applications - en d'autres termes, ce qui sera réel et non de performance maximale. Les participants au projet travaillent maintenant sur la solution de ce problème.

Il convient de noter que la construction de grappes de PC ordinaires devient assez à la mode aujourd'hui dans un environnement scientifique. Certaines institutions académiques de notre pays envisagent également de créer des grappes similaires.

Lors de la combinaison des ordinateurs dans un groupe de puissance différente ou d'une architecture différente, ils disent des clusters hétérogènes (inhomogènes). Les nœuds de cluster peuvent être utilisés simultanément comme des postes de travail personnalisés. Dans le cas où il n'est pas nécessaire, les nœuds peuvent être significativement facilités et / ou installés dans le rack.

Les postes de travail à système d'exploitation standard sont utilisés, le plus souvent, distribué librement - Linux / FreeBSD, ainsi que des moyens spéciaux de prise en charge de la programmation parallèle et de la distribution de la charge. Programmation, en règle générale, dans le cadre du modèle de transfert de message (le plus souvent - MPI). Il est discuté plus en détail dans le paragraphe suivant.

L'histoire du développement de l'architecture de grappes.

Dec a d'abord annoncé le concept d'un système de cluster en 1983, en le déterminant comme un groupe de machines informatiques combinées, une unité de traitement d'informations unique.

L'un des premiers projets qui a donné un nom à la classe entière de systèmes parallèles - Beowulf clusters - est originaire du centre de vol de vol spatial de la NASA Goddard pour soutenir les ressources informatiques nécessaires du projet Terre et Space Sciences. Le projet Beowulf a débuté à l'été 1994 et un groupe de 16 transformations a été collecté bientôt sur des processeurs Intel 486DX4 / 100 MHz. Chaque nœud a été installé 16 Mo de RAM et 3 adaptateurs Ethernet de réseau. Pour travailler dans cette configuration, des pilotes spéciaux distribuant le trafic entre les cartes réseau disponibles ont été développés.

Plus tard dans GSFC, une grappe de l'environnement virtuel intégré hautement parallèle, dont la structure est illustrée à la Fig. 2. Ce cluster se compose de quatre sous-clusters E, B, G et DL, combinant 332 processeurs et deux hôtes sélectionnés. Tous les nœuds de ce cluster sont en cours d'exécution Redhat Linux.

En 1998, dans le laboratoire national de Los Alamos de Astrophysicik Michael Warren et d'autres scientifiques d'un groupe d'astrophysicien théorique construit une supercalculatrice Avalon, qui est un cluster Linux basé sur des processeurs Alpha 21164a avec une fréquence d'horloge de 533 MHz. Initialement, Avalon consistait en 68 processeurs, puis étendue à 140. Dans chaque nœud, 256 Mo de RAM, un disque dur sur un 3 Go et un adaptateur réseau Ethernet rapide a été installé. Le coût total du projet Avalon était de 313 000 dollars et la performance indiquée sur le test LinPack - 47,7 Gflops, lui a permis de prendre la 114e place dans la 12e édition de la liste Top500 à côté du système de processeur de 152 IBM RS / 6000 SP. Dans le même établissement de 1998, à la conférence la plus prestigieuse dans le domaine de la supercalaise informatique hautes performance'98, Avalon a fait un rapport "Avalon: un cluster Alpha / Linux atteint 10 gfers pour 150 000 $", qui a reçu le premier prix de la nomination Nomination «Meilleur prix / performance».

En avril de cette année, une grappe de vélocité +, composée de 64 nœuds avec deux processeurs Pentium III / 733 MHz et 2 Go de RAM chacun, et 2 Go de RAM chacun et avec un disque total 27 Go ont été installés pour des études biomédicales dans L'Université de Cornell. Les nœuds travaillent sous contrôle de Windows 2000 et combiné par le clan Giganet.

Les nombreuses cases sur le projet Shelfes sont mises en œuvre à l'Institut national de la santé des États-Unis en avril 1997 et sont intéressantes pour utiliser Gigabit Ethernet comme environnement de communication. Premièrement, le cluster consistait en 47 nœuds avec deux processeurs Pentium Pro / 200 MHz, 128 Mo de RAM et un disque de 1,2 Go sur chaque nœud. En 1998 a été mis en œuvre

la prochaine étape du projet est lobos2, au cours de laquelle les nœuds ont été transformés en ordinateurs de bureau tout en maintenant la combinaison dans une grappe. Maintenant, Lobos2 se compose de 100 nœuds informatiques contenant deux processeurs Pentium II / 450 MHz, 256 Mo de mémoire opérationnelle et de 9 Go de mémoire de disque. En plus du cluster, 4 ordinateurs de contrôle avec une capacité totale de la matrice RAID de 1,2 To sont connectés.

L'un des derniers développements de cluster était le supercalculateur AMD Presto III, qui est un groupe Beowulf de 78 processeurs Athlon. L'ordinateur est installé dans l'Institut technologique de Tokyo. À ce jour, AMD a construit 8 supercalculateurs unis dans des clusters utilisant la méthode Beowulf exécutant Linux OS.

Clusters IBM

Rs / 6000.

IBM offre plusieurs types de systèmes mal liés basés sur RS / 6000, combinés en grappes et fonctionnant sous contrôle produit logiciel MultiProcesseur à haute disponibilité / 6000 (HACMP / 6000).

Les nœuds de cluster fonctionnent en parallèle, partageant l'accès aux ressources logiques et physiques à l'aide des capacités du gestionnaire de verrouillage incluse dans le HACMP / 6000.

À partir de l'annonce en 1991, le produit HACMP / 6000 évolue constamment. Il comprend un gestionnaire de ressources parallèle, un gestionnaire de verrouillage distribué et un gestionnaire de volume de logique parallèle, et celui-ci a fourni la possibilité d'équilibrer la charge au niveau de l'ensemble du cluster. Le nombre maximum de nœuds dans le cluster a augmenté à huit. Actuellement, les nœuds avec traitement de multipérapage symétrique, intégré à l'aide d'un interrupteur de la barre transversale de données, qui fournit une croissance de la performance linéaire avec une augmentation du nombre de processeurs est apparu sur le cluster.

Les grappes RS / 6000 sont construites sur la base de réseaux locaux Ethernet, de jeton ou de FDDI et peuvent être configurés de différentes manières en termes d'amélioration de la fiabilité élevée:

  • Réserve chaude ou commutation facile en cas d'échec. Dans ce mode, le nœud actif effectue des tâches d'application et la sauvegarde peut effectuer des tâches non critiques pouvant être arrêtées si nécessaire lorsque l'ensemble actif est nécessaire.
  • Réserve symétrique. Semblable à la réserve chaude, mais le rôle des nœuds principaux et de sauvegarde n'est pas corrigé.
  • Pick-up mutuel ou mode avec distribution de charge. Dans ce mode, chaque nœud du cluster peut «ramasser» des tâches effectuées sur tout autre nœud de cluster.

IBM SP2.

IBM SP2 conduit dans la liste des plus grands supercalculateurs TOP500 en termes de numéro d'installation (141 Installation et au total, 8275 d'ordinateurs fonctionnent avec un nombre total de nœuds supérieurs à 86 mille. La base de ces supercalculateurs est basée sur l'architecture En tant qu'approche de grappes utilisant un interrupteur central puissant. IBM utilise cette approche depuis de nombreuses années.

Architecture générale SP2.

La vue d'ensemble de l'architecture SP2 donne du riz. 1. Sa caractéristique principale de l'architecture est l'utilisation d'un interrupteur à grande vitesse avec de faibles retards pour connecter des nœuds entre eux. Ce schéma extrêmement simple de manière externe, car l'expérience montrait était extrêmement flexible. Premièrement, les nœuds SP2 étaient un seul processeur, puis les nœuds avec une architecture SMP sont apparus.

En fait, tous les détails sont cachés dans la structure des nœuds. De plus, les nœuds sont différents types et même les processeurs des nœuds voisins peuvent être différents. Il offre

grande flexibilité de sélection de la configuration. Le nombre total de nœuds dans le système informatique peut atteindre 512. Les nœuds SP2 sont en réalité des ordinateurs indépendants et leurs analogues directs sont vendus à IBM sous des noms indépendants. L'exemple le plus frappant de ceci est le serveur SMP de quatre processeurs RS / 6000 44P-270 avec des microprocesseurs de Power3-II, qui peut être attribué en soi à la classe d'ordinateurs de la classe moyenne ou même aux mini superordonnées.

Les microprocesseurs établis dans les nœuds SP2 développés en deux lignes architecturales: Power - Power2 - Power3 - Power3-II et la ligne PowerPC jusqu'au modèle 604E avec une fréquence d'horloge de 332 MHz.

Le traditionnel pour SP2 est "mince" (nœud large) et des nœuds "larges" (nœud larges) avec une architecture SMP. Ils peuvent être installés à la fois PowerPC 604E (de deux à quatre processeurs) et Power3-II (jusqu'à quatre). La capacité de la batterie des nœuds est de 256 Mo à 3 Go (lors de l'utilisation de Power3-II - jusqu'à 8 Go). Les principales différences entre les nœuds minces et larges concernent le sous-système d'E / S. Les nœuds larges sont conçus pour des tâches nécessitant des fonctionnalités d'entrée / sortie plus puissantes: elles ont dix emplacements PCI (dont trois 64 bits) contre deux emplacements en nœuds minces. En conséquence, le nombre de compartiments de montage pour dispositifs de disque Dans de grands nœuds plus.

La vitesse du commutateur est caractérisée par des valeurs de délai de faible retard: 1,2 ms (jusqu'à 2 ms avec le nombre de nœuds supérieurs à 80). C'est un ordre de grandeur mieux que ce qui peut être obtenu dans les clusters de Linux modernes Beowulf. Bande passante de pointe de chaque port: il s'agit de 150 Mo / s dans une direction (c'est-à-dire 300 Mo / s par transmission duplex). La même bande passante possède les adaptateurs de commutation situés dans les nœuds SP2. IBM fournit également d'excellents résultats de retard et de bande passante.

Les nœuds SP2 les plus puissants sont "élevés" (nœud élevé). Le nœud élevé est un complexe constitué d'un nœud de calcul avec des périphériques d'entrée / sortie / sortie connectés en une quantité à six morceaux. Un tel nœud dispose également d'une architecture SMP et contient jusqu'à 8 processeurs Power3 avec une fréquence d'horloge de 222 ou 375 MHz.

De plus, le nœud de ce type comprend une taxe d'entrée / sortie, qui est également connectée à la carte système. La carte d'E / S contient deux blocs logiques symétriques de sabre par lesquels des données sont transmises à des périphériques externes, tels que

comme des disques et des équipements de télécommunication. Sur la carte d'E / S, il existe quatre emplacements PCI 64 bits et une fente 32 bits (fréquence 33 MHz), ainsi que des contrôleurs d'ultrascies intégrés, Ethernet 10/100 Mbps, trois portons consécutifs et un port parallèle.

Avec l'avènement de nœuds élevés et de microprocesseurs de Power3-II / 375 MHz sur les tests LinPack Parlell du système IBM SP2 atteignit les performances de 723,4 GFLOPs. Ce résultat est atteint lors de l'utilisation de 176 nœuds (704 processeur). Considérant que les nœuds peuvent être configurés jusqu'à 512, ce résultat montre que IBM SP2 produit en série est potentiellement proche de 1 Tflops.

Cluster Sun Solutions Sun Microsystems Sun Systems

Sun Microsystems propose des solutions de cluster basées sur son produit SPARCLASTER PDB Server, dans laquelle SPARCSERVER SPARCSERVER SPARCSERVER 1000 et SPARCCENTER 2000 sont utilisés comme nœuds, et le SPARCSERVER 1000 peut entrer jusqu'à huit processeurs et dans SPARCCENTER 2000 à 20 processeurs SupersParc. Les composants suivants comprennent les composants suivants: deux nœuds de cluster basés sur SPARCServer 1000/1000e ou SPARCCENTER 2000/2000E, Two SPARCStorage Array Disk Array, ainsi qu'un emballage de construction d'un groupe, y compris des équipements de communication en double, la gestion de la console de la console de la catégorie de la catégorie Console, SparcCaster PDB Software Software et Package de service de cluster.

Pour assurer une performance élevée et la disponibilité des communications, le cluster prend en charge la pleine duplication de tous les déclencheurs de données. Les nœuds de grappes sont combinés avec des canaux SunFastethernet avec une bande passante de 100 Mbps. Pour connecter les sous-systèmes de disque, l'interface de canal de fibre optique de fibre optique avec une bande passante de 25 Mbps, qui admet l'élimination des lecteurs et des nœuds de l'autre à une distance allant jusqu'à 2 km. Tous les liens entre les nœuds, les nœuds et les sous-systèmes de disques sont dupliqués au niveau matériel. Les moyens de réseau de matériel, de logiciels et de clusters fournissent l'absence d'une telle place dans le système, d'une seule défaillance ou d'une défaillance qui dérivait tout le système.

Projets universitaires

Développement intéressant de l'Université du Kentucky - KLAT2 Cluster (Kentucky Linux Athlon Athlon Test 2). Le système KLAT2 est composé de 64 nœuds sans disque avec des processeurs AMD Athlon / 700 MHz et 128 Mo de RAM sur chacun. Les logiciels, les compilateurs et les bibliothèques mathématiques (Scalapack, Blacs et Atlas) ont été finalisés pour utiliser efficacement la technologie 3DNOW! Les processeurs AMD, qui ont permis d'accroître la productivité. L'intérêt important est la décision du réseau utilisé, nommée «Réseau de voisins plats» (FNN). Chaque nœud dispose de quatre adaptateurs réseau Ethernet rapides de SmartLink, et les nœuds sont connectés à l'aide de neuf commutateurs 32 ports. Dans le même temps, pour deux nœuds, il y a toujours une connexion directe à travers l'un des commutateurs, mais il n'est pas nécessaire de connecter tous les nœuds via un seul interrupteur. Grâce à l'optimisation des logiciels sous l'architecture AMD et de la topologie FNN, il était possible d'obtenir un ratio de prix / performance record - 650 $ pour 1 gflops.

L'idée de fractionnement du groupe aux sections a reçu un mode de réalisation intéressant dans le projet de la ville de Chiba mis en œuvre dans le laboratoire national de l'Argonne. La section principale contient 256 nœuds informatiques, sur chacun

sur lequel se trouvent deux processeurs Pentium III / 500 MHz, 512 Mo de RAM et un disque local d'une capacité de 9 Go. En plus de la partition informatique, la partition de visualisation comprend (32 ordinateurs personnels IBM Intellitistation avec graphiques Matrox Millenium G400, 512 Mo de RAM et 300 Go de lecteurs), section de stockage de données (8 serveurs IBM Netfinity 7000 avec processeurs Xeon / 500 MHz et 300 disques GB) et section de gestion (12 ordinateurs IBM Netfinity 500). Tous sont fusionnés par le réseau Myrinet, utilisé pour supporter des applications parallèles, ainsi que les réseaux Gigabit Ethernet et Ethernet rapides pour les gestionnaires et les fins de service. Toutes les sections sont divisées en "villes" (ville) 32 ordinateurs. Chacun d'entre eux a son propre "maire", qui sert localement sa "ville", réduisant le fardeau du réseau de services et fournissant un accès rapide aux ressources locales.

Projets de grappes en Russie

En Russie, il y avait toujours un besoin élevé de ressources informatiques hautes performances et le coût relativement faible des projets de grappes a servi de grave élan à la diffusion généralisée de telles solutions dans notre pays. L'une des premières apparaissait une "parité" de grappe, assemblée en YVVibD et composée de huit processeurs Pentium II associés au réseau Myrinet. En 1999, la solution de cluster basée sur le réseau SCI a été testée à Nicew, ce qui est essentiellement un pionnier utilisant la technologie SCI pour construire des systèmes parallèles en Russie.

Un cluster hautes performances basé sur le réseau de la SCI Communication est installé dans le Centre de recherche scientifique de l'Université d'État de Moscou. Le cluster NIVC comprend 12 serveurs à double processeur Eximère basés sur Intel Pentium III / 500 MHz, un total de 24 processeurs ayant une performance maximale maximale de 12 milliards d'opérations par seconde. Le coût total du système est d'environ 40 mille dollars ou environ 3,33 000 par 1 gflops.

Les nœuds de calcul des clusters sont connectés par des canaux réseau SCI unidirectionnels dans un Tor Tor 3x4 à deux dimensions et connectés simultanément au serveur central via le réseau auxiliaire Ethernet rapide et le commutateur Superstack 3Com. Le réseau SCI est un noyau de cluster qui rend ce système une installation informatique unique d'une classe de supercalculateur orientée vers une large classe de tâches. Le taux de change de données maximum sur le réseau SCI dans les applications utilisateur est supérieur à 80 Mo / s et le temps de latence est d'environ 5,6 μs. Lors de la construction de ce cluster de calcul, la solution Wulfkit intégrée développée par Dolphin Interconnect Solutions et Scali Computer (Norway) a été utilisée.

Le principal moyen de programmation parallèle sur le cluster est la version MPI (interface de passe-message) de Scami 1.9.1. Sur le test LinPack, lors de la résolution d'un système d'équations linéaires avec une matrice de taille de 16000x16000, la performance réelle était supérieure à 5,7 gflops. Sur les tests de package NPB, les performances du cluster sont comparables et dépassent parfois la performance des supercalculateurs de la famille Cray T3e avec le même nombre de transformateurs.

Le principal domaine d'application du cluster de calcul de la NIVC NIVC NIVC est le soutien à la recherche scientifique fondamentale et au processus éducatif.

D'autres projets intéressants, il convient de noter la décision mise en œuvre à l'Université Saint-Pétersbourg sur la base de la technologie Fast Ethernet: Les clusters collectés peuvent être utilisés et comme des classes de formation indépendantes à part entière et une installation informatique unique qui résout un seul. tâche. Dans le centre scientifique de Samara

ils ont parcouru le chemin pour créer un cluster informatique inhomogène, qui comprend des ordinateurs basés sur des processeurs Alpha et Pentium III. À l'Université technique de Saint-Pétersbourg, installant sur la base des processeurs alpha et du réseau Myrinet sans utiliser de disques locaux sur les nœuds informatiques. Dans l'Université technique de l'aviation de l'État de l'UFA, une cluster est conçue sur la base de douze alpha-stations, d'un réseau Ethernet rapide et de OS Linux.

Cluster (groupe d'ordinateurs)

Clusters de distribution de chargement

Le principe de leur action est basé sur la distribution des demandes via un ou plusieurs nœuds d'entrée qui les redirigent vers le traitement dans les nœuds de calcul restants. L'objectif initial d'un tel groupe est la productivité, cependant, des méthodes qui augmentent la fiabilité sont également utilisées dans elles. Les structures similaires sont appelées Server Farms. Le logiciel (logiciel) peut être à la fois commercial (OpenVMS, MOSIX, Platform LSF HPC, CLUSTER SOLARIS, SUITE CLUSTER, MAUI Cluster Scheduler) et GRATUITEMENT (OpenMosix, Sun Grid Engine, serveur virtuel Linux).

Clusters informatiques

Les grappes sont utilisées dans des fins de calcul, en particulier dans la recherche scientifique. Pour les clusters informatiques, des indicateurs importants sont les performances élevées du processeur dans les opérations sur des nombres de points flottants (flops) et une faible latence du réseau de combinaison, et moins significatives - la vitesse des opérations d'E / S, qui est plus importante pour les bases de données et le Web. prestations de service. Les clusters informatiques permettent de réduire la durée de calcul, par rapport à un seul ordinateur, rompant la tâche aux branches parallèles échangées par les données de liaison. L'une des configurations typiques est un ensemble d'ordinateurs collectés à partir de composants disponibles publiquement, avec le système d'exploitation Linux installé sur eux et l'Ethernet, Myrinet, InfiniBand associé au réseau ou à d'autres réseaux relativement peu coûteux. Ce système est habituel d'être appelé le cluster Beowulf. Allouer spécialement des grappes hautes performances (l'anglais est indiquée par l'abréviation Cluster HPC. - Cluster de calcul haute performance). Liste des ordinateurs hautes performances les plus puissants (peut également être noté par l'abréviation Hpc.) Vous pouvez trouver dans le classement mondial Top500. La Russie a une note des composants les plus puissants de la CEI.

Systèmes informatiques distribués (grille)

Ces systèmes ne sont pas considérés comme des grappes, mais leurs principes sont en grande partie similaires à la technologie des clusters. Ils s'appellent également des systèmes de grille. La principale différence est la faible disponibilité de chaque nœud, c'est-à-dire l'incapacité de garantir son fonctionnement à un moment donné (les nœuds sont connectés et déconnectés lors de l'opération), la tâche doit donc être divisée en un certain nombre de processus indépendants. de chacun d'eux. Un tel système, contrairement aux clusters, n'est pas comme ordinateur unique, et sert de moyen simplifié de distribution des calculs. L'instabilité de la configuration, dans ce cas, est compensée par un grand nombre de nœuds.

Les serveurs de cluster organisés par programme

Les systèmes de grappes occupent un lieu digne de la liste des supercalculateurs les plus rapides, tout en gagnant de manière significative dans le prix. Pour juillet 2008, la 7ème place du top 500 est le cluster SGI Altix Ice 8200 (Chippewa Falls, Wisconsin, États-Unis).

Une alternative relativement peu coûteuse aux supercalculateurs sont des clusters basés sur les concepts Beowulf, construits à partir d'ordinateurs peu coûteux ordinaires basés sur des logiciels libres. Un des exemples pratiques d'un tel système est de pierre SouperComputerComputer (UAC Ridge, Tennessee, USA,).

Le plus grand groupe appartenant à la personne privée (sur 1000 processeurs) a été construit par John Koza (John Koza).

Histoire

L'histoire de la création de grappes est inextricablement liée aux développements précoces dans le domaine des réseaux informatiques. L'une des raisons de l'émergence de la communication à grande vitesse entre les ordinateurs est devenue d'espoir de combiner les ressources informatiques. Au début des années 1970 L'équipe de développement de protocoles TCP / IP et le laboratoire Xerox Parc sont attribués des normes d'interaction réseau. Le système d'exploitation HYDRA ("HYDRA") est apparu pour les ordinateurs PDP-11 effectués par DC, créé sur cette base, le cluster a été appelé C.mp (Pittsburgh, PCs. Pennsylvanie, USA,). Cependant, uniquement près de la ville, des mécanismes ont été créés, permettant d'utiliser la répartition des tâches et des fichiers via le réseau, pour la plupart celles-ci se développaient à Sunos (système d'exploitation basé sur BSD à partir de Sun Microsystems).

Le premier projet de cluster commercial était Arcnet, créé par DataPoint en bénéfice, il ne l'a pas fait, et donc la construction de clusters ne s'est pas développée avant la ville, lorsque DEC a construit son VaxCluster basé sur le système d'exploitation VAX / VMS. ArcNet et VaxCluster ont été conçus non seulement pour des calculs communs, mais également le partage du système de fichiers et la périphérie, en tenant compte de la préservation de l'intégrité et de l'unicité des données. VaxCluster (appelé maintenant vmscluster) - est un composant intégral du système d'exploitation openvms utilisant des processeurs Alpha et Itanium.

Deux autres produits anticipé qui ont reçu une reconnaissance comprennent Tandem Hymalaya (, HA Class et IBM S / 390 parallèle Sysplex (1994).

L'histoire des grappes des ordinateurs personnels ordinaires est largement nécessaire pour projeter une machine virtuelle parallèle. Dans ce logiciel, combiner des ordinateurs dans un superordinateur virtuel ouvrit la possibilité de créer des grappes instantanées. En conséquence, la performance totale de toutes les clusters bon marché créées a ensuite dépassé la somme des capacités des systèmes commerciaux «sérieux».

Créer des clusters basés sur des ordinateurs personnels bon marché Unis par un réseau de données poursuivi dans la ville de l'American Airospace Agency (NASA), puis le développement des clusters Beowulf spécialement développés sur la base de ce principe. Les succès de ces systèmes ont poussé le développement de réseaux de grille, qui existaient depuis la création d'UNIX.

Logiciel

Un outil largement répandu pour organiser une excès d'interaction est la bibliothèque MPI prenant en charge les langues et les mandataires. Il est utilisé, par exemple, dans le programme de modélisation des intempéries MM5.

Le système d'exploitation Solaris fournit un logiciel de cluster Solaris, utilisé pour assurer une disponibilité élevée et une rupture d'utilisateur des serveurs exécutant Solaris. Pour OpenSolaris, il y a une réalisation avec open source intitulé OpenSolaris HA Cluster..

Plusieurs programmes sont populaires parmi les utilisateurs GNU / Linux:

  • dISCCC, MPICH, etc. - des moyens spécialisés pour la parallélisation de programmes. DISCCC permet une compilation parallèle dans la collection GNU Compiler.
  • Server Virtual Linux, Linux-Ha - logiciel de nœud pour la distribution de requêtes entre serveurs informatiques.
  • Mosix, OpenMosix, Krighed, OpenSsi - Les environnements de cluster complets intégrés au noyau distribuent automatiquement des tâches entre des nœuds homogènes. OpenSsi, OpenMosix et Kerrigned Create entre les nœuds.

Les mécanismes de grappes sont prévus pour être intégrés au noyau de la BSD de Dragonfly, ramifié en 2003 à partir de FreeBSD 4.8. Dans les plans lointains qui le transforment aussi en mercredi d'un seul système d'exploitation.

Microsoft est fabriqué par un cluster HA pour le système d'exploitation Windows. On pense qu'il est basé sur la technologie de la Société numérique de l'équipement, prend en charge jusqu'à 16 nœuds (depuis 2010) dans un cluster, ainsi que des travaux sur le réseau SAN (réseau de stockage). L'ensemble API est utilisé pour prendre en charge les applications distribuées, il existe des blancs pour travailler avec des programmes qui ne fournissent pas de travail dans le cluster.

Windows Compute Cluster Server 2003 (CCS) publié en juin 2006 est conçu pour les applications de haute technologie nécessitant une calcul de cluster. La publication est conçue pour le déploiement sur une variété d'ordinateurs collectés dans un cluster pour obtenir des capacités de superordinateur. Chaque cluster sur Windows Compute Server Server est constitué d'une ou de plusieurs machines de contrôle qui distribuent des tâches et plusieurs machines subordonnées effectuant l'opération principale. En novembre 2008, Windows HPC Server 2008 est conçu pour remplacer Windows Compute Cluster Server 2003.

Le principe de leur action est basé sur la distribution des demandes via un ou plusieurs nœuds d'entrée qui les redirigent vers le traitement dans les nœuds de calcul restants. L'objectif initial d'un tel groupe est la productivité, cependant, des méthodes qui augmentent la fiabilité sont également utilisées dans elles. Les structures similaires sont appelées Server Farms. Le logiciel (logiciel) peut être à la fois commercial (OpenVMS, MOSIX, Platform LSF HPC, CLUSTER SOLARIS, SUITE CLUSTER, MAUI Cluster Scheduler) et GRATUITEMENT (OpenMosix, Sun Grid Engine, serveur virtuel Linux).

Clusters informatiques

Les grappes sont utilisées dans des fins de calcul, en particulier dans la recherche scientifique. Pour les clusters informatiques, des indicateurs importants sont les performances élevées du processeur dans les opérations sur des nombres de points flottants (flops) et une faible latence du réseau de combinaison, et moins significatives - la vitesse des opérations d'E / S, qui est plus importante pour les bases de données et le Web. prestations de service. Les clusters informatiques permettent de réduire la durée de calcul, par rapport à un seul ordinateur, rompant la tâche aux branches parallèles échangées par les données de liaison. L'une des configurations typiques est un ensemble d'ordinateurs collectés à partir de composants disponibles publiquement, avec le système d'exploitation Linux installé sur eux et l'Ethernet, Myrinet, InfiniBand associé au réseau ou à d'autres réseaux relativement peu coûteux. Ce système est habituel d'être appelé le cluster Beowulf. Allouer spécialement des grappes hautes performances (l'anglais est indiquée par l'abréviation Cluster HPC. - Cluster de calcul haute performance). Liste des ordinateurs hautes performances les plus puissants (peut également être noté par l'abréviation Hpc.) Vous pouvez trouver dans le classement mondial Top500. La Russie a une note des composants les plus puissants de la CEI.

Systèmes informatiques distribués (grille)

Ces systèmes ne sont pas considérés comme des grappes, mais leurs principes sont en grande partie similaires à la technologie des clusters. Ils s'appellent également des systèmes de grille. La principale différence est la faible disponibilité de chaque nœud, c'est-à-dire l'incapacité de garantir son fonctionnement à un moment donné (les nœuds sont connectés et déconnectés lors de l'opération), la tâche doit donc être divisée en un certain nombre de processus indépendants. de chacun d'eux. Un tel système, contrairement aux grappes, ne ressemble pas à un ordinateur unique et sert de moyen simplifié de distribution des calculs. L'instabilité de la configuration, dans ce cas, est compensée par un grand nombre de nœuds.

Les serveurs de cluster organisés par programme

Les systèmes de grappes occupent un lieu digne de la liste des supercalculateurs les plus rapides, tout en gagnant de manière significative dans le prix. Pour juillet 2008, la 7ème place du top 500 est le cluster SGI Altix Ice 8200 (Chippewa Falls, Wisconsin, États-Unis).

Une alternative relativement peu coûteuse aux supercalculateurs sont des clusters basés sur les concepts Beowulf, construits à partir d'ordinateurs peu coûteux ordinaires basés sur des logiciels libres. Un des exemples pratiques d'un tel système est de pierre SouperCompacutateur dans le laboratoire national Ok-Ridge (Tennessee, USA, 1997).

Le plus grand groupe appartenant à la personne privée (sur 1000 processeurs) a été construit par John Koza.

Histoire

L'histoire de la création de grappes est inextricablement liée aux développements précoces dans le domaine des réseaux informatiques. L'une des raisons de l'émergence de la communication à grande vitesse entre les ordinateurs est devenue d'espoir de combiner les ressources informatiques. Au début des années 1970, les développeurs de protocoles TCP / IP et le laboratoire de Parc Xerox ont été attribués aux normes d'interaction du réseau. Le système d'exploitation de HYDRA pour les ordinateurs PDP-11 fabriqués par DCR, créé sur cette base, le cluster a été nommé C.MPP (Pittsburgh, Pennsylvania, USA, 1971). Cependant, seulement vers 1983, des mécanismes ont été créés, permettant d'utiliser la distribution des tâches et des fichiers via le réseau, car ils se développaient la plupart de ceux-ci se développaient à Sunos (système d'exploitation basé sur BSD à partir de Sun Microsystems).

Le premier projet de cluster commercial était créé par ARCNET par DataPoint en 1977. Il n'a pas profité de manière rentable et donc la construction de clusters ne s'est développée qu'en 1984, lorsque DEC a construit son VaxCluster basé sur le système d'exploitation VAX / VMS. ArcNet et VaxCluster ont été conçus non seulement pour des calculs communs, mais également le partage du système de fichiers et la périphérie, en tenant compte de la préservation de l'intégrité et de l'unicité des données. VaxCluster (appelé maintenant vmscluster) - est un composant intégral du système d'exploitation openvms à l'aide de processeurs Dec alpha et d'itanium.

Deux autres produits anti-grappes qui ont reçu la reconnaissance comprennent Tandem Hymalaya (1994, classe) et IBM S / 390 parallèle sysplex (1994).

L'histoire des grappes des ordinateurs personnels ordinaires est largement nécessaire pour projeter une machine virtuelle parallèle. En 1989, ce logiciel de combinaison d'ordinateurs à un supercalculateur virtuel a ouvert la possibilité de créer des grappes instantanées. En conséquence, la performance totale de toutes les clusters bon marché créées a ensuite dépassé la somme des capacités des systèmes commerciaux «sérieux».

La création de clusters basée sur des ordinateurs personnels bon marché associés au réseau de données s'est poursuivi en 1993 par l'American Aerospace Agency Agency NASA, puis en 1995, ils ont reçu le développement des clusters de Beowulf développés spécifiquement sur la base de ce principe. Les succès de ces systèmes ont poussé le développement

Système de cluster

Qu'est-ce qu'un groupe?

Le cluster est une totalité de serveurs, de lecteurs et de postes de travail qui:
· Agir comme un seul système;
· Soumettre aux utilisateurs en tant que système;
· Géré comme un système;
Le cluster est également la capacité d'utiliser ressources de calcul Votre système de sorte que le système résultant dépasse ses capacités avec les possibilités totales de ses pièces.

Les principaux avantages du cluster sont:
· Assurer un niveau de préparation élevé par rapport à l'ensemble fragmenté d'ordinateurs ou de serveurs. L'amélioration de la préparation du système assure le travail d'applications critique pour les entreprises au cours de la période la plus longue. Critique inclut toutes les applications qui dépend directement de la capacité de la société à tirer profit, de fournir un service ou de fournir d'autres fonctions vitales. L'utilisation du cluster vous permet de vous assurer que si le serveur ou une application cesse de fonctionner normalement, un autre serveur de la cluster, continuant d'effectuer vos tâches, prendra le rôle d'un serveur défectueux afin de minimiser les temps d'arrêt des utilisateurs en raison d'un dysfonctionnement. dans le système.
· Augmentation significative de la performance globale du réseau (haute qualité). Le cluster vous permet d'augmenter de manière flexible la puissance de calcul du système, en ajoutant de nouveaux nœuds et sans interrompre les utilisateurs.
· Réduire le coût de l'administration du réseau local (bonne manipulation).
· Assurer la haute disponibilité des services réseau. Même avec l'échec de l'un des serveurs de clusterTous les services fournis par un cluster restent disponibles pour les utilisateurs.

Séparation sur les systèmes d'avalibilité élevés et de haute performance

Dans la classification fonctionnelle, les clusters peuvent être divisés en "systèmes haute vitesse" (hautes performances, HP), "systèmes de haute disponibilité" (haute disponibilité, ha), ainsi que "systèmes mixtes".
Les grappes à grande vitesse sont utilisées pour des tâches nécessitant une puissance de calcul importante. Les zones classiques dans lesquelles des systèmes similaires sont utilisés sont:
· Traitement de l'image: rendu, reconnaissance d'image
· Recherche scientifique: physique, bioinformatique, biochimie, biophysique
· Industrie (tâches d'information géographique, modélisation mathématique)
et plein d'autres…
Les grappes qui appartiennent à des systèmes de haute disponibilité sont utilisées partout où le coût de l'oisiveté possible dépasse le coût du coût requis pour construire un système de cluster, par exemple:
· Systèmes de remplissage
· Opérations bancaires
· commerce électronique
· Gestion des entreprises, etc. ....
Les systèmes mixtes combinent les caractéristiques des premier et secondes. Les positionnant, il convient de noter que le cluster, qui possède les paramètres de haute performance et de haute disponibilité, perdra certainement à la vitesse d'un système à haute vitesse orienté système et dans un système orienté système de temps d'inactivité éventuellement élevé. disponibilité.

Qu'est-ce qu'un groupe de préparation élevé?
Un cluster de haute disponibilité est une variété de systèmes de cluster conçus pour assurer un fonctionnement continu d'applications ou de services critiques. L'utilisation d'un cluster de haute disponibilité vous permet d'empêcher les deux tirets non planifiés causés par l'équipement et les défaillances logicielles et les tirets planifiés nécessaires pour mettre à jour le logiciel ou la réparation de l'équipement préventif.

Le cluster se compose de deux nœuds (serveurs) connectés à un tableau de disques partagé. Tous les composants de base de ce réseau de disques - Alimentation d'alimentation, lecteurs de disque, contrôleur d'E / S - ont une redondance avec la possibilité de remplacement chaud. Les nœuds de cluster sont interconnectés par le réseau interne pour échanger des informations sur son état actuel. L'alimentation du cluster est effectuée à partir de deux sources indépendantes. Connexion de chaque nœud au réseau local externe est également dupliqué.
Ainsi, tous les sous-systèmes de grappes ont une redondance, alors lorsque le cluster ne parvient pas à refuser tout élément dans son ensemble, il restera dans la condition de travail.

Comment le cluster est arrangé
Le cluster est plusieurs ordinateurs appelés nœuds sur lesquels le système d'exploitation Unix ou Windows Base fonctionne. Ces serveurs par rapport au reste du réseau agissent comme un seul objet: un serveur "virtuel" puissant. Les clients sont connectés au cluster, ne sachant pas quel type d'ordinateur traitera réellement de leur service. L'accès ininterrompu aux grappes est obtenu grâce à la détection opportune des violations dans le fonctionnement de matériel et de logiciels et de transfert automatique de processus de traitement de données vers un bon nœud. Dans un cluster standard, chaque nœud est responsable de la mise en place d'un certain nombre de ressources. En cas d'échec ou de ressources de nœud, le système transmet une partie des ressources à un autre nœud et leur fournit une accessibilité aux clients.

State Université des technologies de l'information et de la communication

abstrait

de la discipline "circuit informatique"

sur le sujet: "Systèmes de grappes modernes et leur utilisation"

Effectué: Groupe d'étudiants de CSD-32

Muzalevsky evgeny


Entrée 3.

1. Principes généraux des systèmes de cluster 4

2. Classification 4.

3. Utilisation de systèmes de cluster 5

Conclusions 6.

Références 6.
introduction

Le cluster est un système multiprocesseur modulaire créé sur la base de nœuds informatiques standard connectés par un support de communication à grande vitesse. Maintenant, les mots "cluster" et "supercalculateur" sont en grande partie synonymes, mais avant de devenir possible de parler avec confiance, le matériel a eu lieu un long cycle d'évolution. Au cours des 30 premières années du moment de l'apparition des ordinateurs, jusqu'au milieu des années 1980, dans le cadre des technologies "Supercomputer" comprises exclusivement la production de processeurs puissants spécialisés spécialisés. Cependant, l'apparition d'un microprocrocesseur à puce unique a failli effacer la différence entre les processeurs «de masse» et «particulièrement puissants», et à partir de ce moment que le seul moyen de créer un supercalculateur était la façon de combiner des processeurs pour une solution parallèle à une seule tâche. .

Une caractéristique attrayante des technologies de cluster est qu'elles permettent de réaliser les performances nécessaires pour combiner des ordinateurs de types différents dans des ordinateurs simples, allant des ordinateurs personnels et se terminant par de puissants superordonnés. Les technologies de grappes généralisées obtenues comme moyen de créer des systèmes de classe de supercaliniste provenant de parties composantes de la production de masse, ce qui réduit considérablement le coût du système informatique.


1. Principes généraux Systèmes de grappes

Comme déjà mentionné précédemment, le cluster informatique est une totalité
Les ordinateurs combinés dans un certain réseau pour résoudre une tâche, qui est soumis à l'utilisateur en tant que ressource unique.

Le concept de "ressource unique" désigne la disponibilité de logiciels donnant
la possibilité d'utilisateurs, d'administrateurs et de programmes appliqués à considérer
Qu'il n'y a qu'une seule entité avec laquelle ils travaillent est un groupe.
Par exemple, le système de traitement des paquets de cluster vous permet d'envoyer une tâche sur
Traitement de grappes, pas d'ordinateur séparé. Plus complexe
Un exemple est les systèmes de base de données. Presque tous les fabricants
Les systèmes de base de données ont des versions fonctionnant en mode parallèle
Plusieurs machines de cluster. En conséquence, les applications utilisant la base de données
Les données ne doivent pas s'occuper de l'endroit où leur travail est effectué. DBMS
responsable de la synchronisation de l'action et de la maintenance parallèles
Intégrité de la base de données.

Ordinateurs formant un cluster - les nœuds dites de cluster - toujours
relativement indépendant, qui permet d'arrêter ou d'éteindre n'importe lequel de
eux pour le travail préventif ou l'installation de
Équipement sans perturber les performances de l'ensemble du cluster.

Comme les nœuds de calcul dans le cluster sont couramment utilisés
Ordinateurs personnels à processeur, SMP de deux ou quatre processeurs
Les serveurs. Chaque nœud fonctionne sous le contrôle de sa copie du fonctionnement
systèmes, qui est le plus souvent utilisé standard
Systèmes d'exploitation: Linux, NT, Solaris, etc. Composition et puissance des nœuds
peut varier même dans un cluster, donner la possibilité de créer
Systèmes inhomogènes. Le choix d'un environnement de communication spécifique est déterminé.
De nombreux facteurs: caractéristiques de la classe de tâches résolues, nécessité
expansion de groupe ultérieure, etc. Il est possible d'activer dans la configuration.
ordinateurs spécialisés, tels que le serveur de fichiers, et, en règle générale,
A propos de la possibilité d'un accès à distance au cluster via Internet.
De la définition de l'architecture du système de cluster, il s'ensuit qu'il inclut dans
vous-même une très large gamme de systèmes.

2. Classification

Les systèmes de cluster peuvent utiliser une variété de plates-formes et, en règle générale, ne sont pas classées par l'ensemble des composants, mais par des applications. Quatre types de systèmes de grappes sont distingués: clusters informatiques, clusters de base de données, clusters tolérants et clusters de défaut pour la distribution de téléchargement. Le groupe le plus nombreux concerne les clusters informatiques. Il peut être brisé en sous-groupes; VRAI, il n'y a pas d'autres machines informatiques à l'intérieur de ce groupe, mais des solutions de grappes de logiciels et de matériel prêt à l'emploi. Ces systèmes «clé en main» ont un logiciel appliqué préinstallé requis par le client pour résoudre ses tâches. Solutions optimisées pour différentes applications diffèrent dans la sélection de composants assurant le travail le plus productif de ces applications avec le meilleur rapport qualité / prix.

Les clusters de base de données sont apparus récemment. Ces systèmes fonctionnent avec versions parallèles Les bases de données et sont utilisées dans les grandes organisations pour le travail des systèmes CRM et ERP, ainsi que des bases de données transactionnelles. Aujourd'hui, ces systèmes sont un concurrent sérieux des serveurs traditionnels avec une mémoire partagée en raison de la meilleure productivité, de l'évolutivité et de la tolérance aux pannes.

Les grappes de basculement sont conçues pour assurer la fiabilité des applications critiques de la meilleure façon possible. L'application est dupliquée sur différents nœuds et en cas d'erreur dans l'une d'entre elles, l'application continue de travailler ou redémarre automatiquement de l'autre. Ces clusters ne sont pas importants et les utilisateurs les construisent souvent eux-mêmes. Les technologies de cluster sont également utilisées pour distribuer un grand flux de requêtes pour de nombreux serveurs. Ces solutions sont souvent utilisées pour prendre en charge les sites Web avec un contenu dynamique qui accède en permanence à des bases de données, telles que les moteurs de recherche. En fonction de la taille du service, les grappes d'allocation de démarrage peuvent avoir un nombre suffisamment grand de nœuds.

Le travail des systèmes de cluster est fourni par quatre types d'applications spécialisées, telles que: Systèmes d'exploitation (généralement Linux), outils de communication, outils d'application parallèles et outils d'administration de cluster.

3. Utilisation de systèmes de cluster

Les développeurs d'architectures du système de cluster ont poursuivi diverses fins lorsque
leur création. Le premier était le matériel numérique avec des clusters VAX / VMS.
Le but de créer cette voiture était d'améliorer la fiabilité du système,
Assurer la haute disponibilité et la tolérance aux pannes. Maintenant
Il existe de nombreux systèmes similaires pour l'architecture des systèmes d'autres.
fabricants.

Un autre but de créer des systèmes de cluster est de créer des
systèmes informatiques parallèles hautes performances. L'un des premiers
Projets qui ont donné un nom pour une classe entière de systèmes parallèles - Cluster Beowulf
- est originaire du centre du centre de vol spatial de Nasa Goddard pour soutenir
Ressources informatiques connexes du projet Sciences de la Terre et de l'Espace.
Le projet Beowulf a commencé à l'été 1994 et 16 transformateur a été collecté bientôt
Cluster sur les processeurs Intel 486Dx4 / 100 MHz. Sur chaque noeud était
16 Mo de RAM et 3 Réseau Ethernet
adaptateur. Ce système a été très réussi par rapport à
prix / performance, donc une telle architecture a commencé à se développer et
Largement utilisé dans d'autres organisations scientifiques et instituts.
Pour chaque classe de clusters se caractérisent par des architectures et
Matériel appliqué.

En moyenne, les supercalculateurs nationaux sont toujours très inférieurs aux performances occidentales: les machines utilisées pour la recherche scientifique, 15 fois, les ressources informatiques des sociétés financières - 10 fois, des supercalculateurs industriels - 9 fois.


conclusions

Le cluster est un complexe de logiciels et matériels complexes consistant en des nœuds informatiques basés sur des processeurs standard connectés par un réseau de système à haute vitesse, ainsi que des réseaux auxiliaires et de services.

Il existe quatre types de systèmes de cluster: clusters informatiques, clusters de base de données, clusters tolérants et clusters de défaut pour la distribution de téléchargement.

La portée de l'application de systèmes de cluster n'est maintenant pas du tout que les supercalculateurs avec une autre architecture: elles ne font pas moins de succès avec la tâche de modéliser une variété de processus et de phénomènes. La modélisation de supercalculateur peut avoir beaucoup de temps et accélérer la conclusion sur le marché des nouveaux produits, ainsi que d'améliorer leur qualité.



Avez-vous aimé l'article? Partagez-le