Quel est un cluster d'ordinateurs?

cluster d'ordinateurs

Un groupe informatique (un computer cluster) consiste en ordinateurs lâchement ou fermement connectés qui marchent ensemble pour, à bien des égards, puissent être considérés comme un système seul. Contrairement aux ordinateurs de grille, des groupes informatiques ont chaque ensemble de noeud pour exécuter la même tâche, contrôlée et prévue par un software.

Les composants d'un groupe sont d'habitude connectés l'un à l'autre par des réseaux locaux rapides ("LAN"), avec chaque noeud (l'ordinateur utilisé comme un serveur) la direction de son propre cas d'un système d'exploitation. Dans la plupart des circonstances, tous les noeuds utilisent le même matériel et le même système d'exploitation, bien que dans quelques configurations (c'est-à-dire l'utilisation de Ressources de Demande de Groupe Open source (OSCAR)), des systèmes différents d'exploitation puissent être utilisés sur chaque ordinateur, et-ou le matériel différent.

Ils sont d'habitude déployés pour améliorer la performance et la disponibilité sur celui d'un ordinateur seul, tandis que typiquement étant beaucoup plus rentables que les ordinateurs seuls de vitesse comparable ou la disponibilité.

Des groupes informatiques ont apparu en conséquence de la convergence d'un certain nombre de tendances de calcul incluant la disponibilité de microprocesseurs bon marché, des réseaux haut débit(à grande vitesse) et le logiciel pour le calcul distribué très performant. Ils ont une vaste gamme d'applicabilité et le déploiement, s'étendant de groupes de petite entreprise avec une poignée de noeuds à certains des superordinateurs les plus rapides dans le monde comme le Séquoia d'IBM.

Concepts fondamentaux

Le désir d'obtenir plus de puissance de calcul et la meilleure fiabilité en orchestrant un certain nombre d'ordinateurs immédiatement disponibles commerciaux bon marché a provoqué une variété d'architectures et de configurations.

L'approche pendante par grappes informatique d'habitude (mais pas toujours) connecte un certain nombre de noeuds aisément disponibles de calcul (par exemple des ordinateurs individuels utilisés comme des serveurs) via un réseau local rapide. Les activités des noeuds de calcul sont orchestrées par "l'intergiciel pendant par grappes", une couche logicielle qui est assise placé sur les noeuds et permet aux utilisateurs de traiter le groupe comme dans l'ensemble une unité cohésive de calcul, par exemple via un concept d'image de système seul.



simple cluster

L'ordinateur pendant par grappes compte sur une approche centralisée de gestion qui rend les noeuds disponibles comme orchestré des serveurs partagés. C'est distinct d'autres approches comme le pair à regarder ou le calcul de grille qui utilise aussi beaucoup de noeuds, mais avec une nature distribuée beaucoup plus.

Un cluster informatique peut être un système à deux noeuds simple qui connecte juste deux ordinateurs individuels, ou peut être un superordinateur très rapide. Une approche de base à construire un groupe est celui d'un groupe de Beowulf qui peut être construit avec quelques ordinateurs individuels pour produire une alternative rentable au calcul à haute performance traditionnel. Un premier projet qui a montré la viabilité du concept était le Soupercomputer Pierre à 133 noeuds. Les promoteurs ont utilisé Linux, la boîte à outils de Machine Virtuelle Parallèle et le Message Passant la bibliothèque d'Interface pour réaliser la haute performance à relativement bas prix.

Bien qu'un groupe puisse consister en juste quelques ordinateurs individuels connectés par un réseau simple, l'architecture de groupe peuvent aussi être utilisés pour réaliser les niveaux très élevés de performance. La liste semestrielle de l'organisation du les 500 superordinateurs les plus rapides de TOP500 inclut souvent beaucoup de groupes, par exemple la machine la plus rapide du monde en 2011 était l'ordinateur K qui a une mémoire distribuée, une architecture de groupe.

Histoire

Greg Pfister a déclaré que les groupes n'ont été inventés par aucun vendeur spécifique, mais par les clients qui ne pouvaient pas adapter tout leur travail sur un ordinateur, ou ont eu besoin d'une sauvegarde. Pfister estime la date comme quelque temps dans les années 1960. La base formelle d'ingénierie de groupe calculant comme un moyen de faire le travail parallèle de n'importe quel sorte a été sans doute inventée par Gene Amdahl d'IBM, qui en 1967 a publié ce qui est venu pour être considéré comme le papier séminal sur le traitement parallèle : la Loi d'Amdahl.

L'histoire de premiers groupes informatiques est plus ou moins directement liée dans l'histoire de premiers réseaux, comme une des motivations principales pour le développement d'un réseau devait lier des ressources de calcul, créant un groupe informatique de facto.

Le premier système de production conçu comme un groupe était le Burroughs B5700 au milieu des années 1960. Ceci permis jusqu'à quatre ordinateurs, chacun avec ou un ou deux processeurs, pour être fermement accroché à un sous-système de stockage de disque commun pour distribuer la charge de travail. Contrairement aux systèmes de multiprocesseur standard, chaque ordinateur pourrait être repris sans perturber l'opération globale.

La première publicité s'est lâchement accrochée le produit pendant par grappes était la Société Datapoint "l'Ordinateur de Ressource Attaché" (l'ARC) le système, développé en 1977 et utilisant ARCnet comme l'interface de groupe. Pendant par grappes n'est pas en soi vraiment parti jusqu'à ce que Digital Equipment n'a sorti leur produit VAXCLUSTER en 1984 pour le VAX/VMS le système d'exploitation (maintenant nommé comme OpenVMS). L'ARC et les produits VAXCLUSTER ont non seulement supporté le calcul parallèle, mais ont aussi partagé des systèmes de fichiers et des périphériques. L'idée était de fournir les avantages de traitement parallèle, en maintenant la fiabilité de données et l'unicité. Deux autres premiers groupes commerciaux remarquables étaient le Tandem Himalayens (environ 1994 le produit de disponibilité haute) et IBM S/390 Sysplex Parallèle (aussi environ 1994, principalement pour l'utilisation d'affaires).

Dans les mêmes délais, tandis que des groupes informatiques ont utilisé le parallélisme à l'extérieur de l'ordinateur sur un réseau de marchandises, des superordinateurs a commencé à les utiliser dans le même ordinateur. Après le succès du CDC 6600 en 1964, le Cray 1 a été livré en 1976 et présenté le parallélisme interne via le traitement vectoriel. Tandis que de premiers superordinateurs ont exclu les groupes et ont compté sur la mémoire partagée, dans le temps certains des superordinateurs les plus rapides (par exemple l'ordinateur K) a compté sur des architectures de groupe.

Les attributs de clusters

Des groupes informatiques peuvent être configurés pour des buts différents de s'étendre de besoins d'affaire de but généraux comme le support de service Web, aux calculs scientifiques intensifs. Dans les deux cas, le groupe peut utiliser une approche de disponibilité haute. Notez que les attributs décrits ci-dessous ne sont pas exclusifs et "un groupe informatique" peut aussi utiliser une approche de disponibilité haute, etc.

Les groupes "de répartition de charge" sont des configurations dans lesquelles les noeuds de groupe partagent la charge de travail informatique pour fournir mieux performance globale. Par exemple, un groupe de serveur Web peut assigner des questions différentes aux noeuds différents, donc le temps de réponse global sera optimisé. Cependant, les approches à la répartition de charge peuvent significativement différer parmi des demandes, par exemple un groupe très performant utilisé pour des calculs scientifiques équilibrerait la charge avec des algorithmes différents d'un groupe de serveur Web qui peut juste utiliser une méthode de circulaire simple en assignant chaque nouvelle demande à un noeud différent.

Des groupes informatiques sont utilisés pour des buts intensifs de calcul, plutôt que manipuler des opérations IO-oriented comme le service Web ou des bases de données. Par exemple, un groupe informatique pourrait supporter les simulations informatiques d'accidents de véhicule ou le temps. Très fermement des groupes informatiques couplés sont conçus pour le travail qui peut s'approcher "du supercalcul".

"Les groupes de haute Disponibilité" (aussi connu comme des groupes failover, ou des groupes HA) améliorent la disponibilité de l'approche de groupe. Ils opèrent en ayant des noeuds superflus, qui sont alors utilisés pour fournir le service quand les composants de système échouent. HA les mises en œuvre de groupe essayent d'utiliser la redondance(le licenciement économique) de composants de groupe pour éliminer les points seuls d'échec. Il y a les mises en œuvre commerciales de groupes de Disponibilité haute pour beaucoup de systèmes d'exploitation. Linux-ha le projet est celui le logiciel libre généralement utilisé HA le paquet pour le Linux le système d'exploitation.

Design et configuration

Une des questions dans la conception d'un groupe est comment s'est fermement accroché les noeuds individuels peuvent être. Par exemple, un travail informatique simple peut exiger la communication fréquente parmi des noeuds : ceci implique que le groupe partage un réseau consacré, est densément localisé et a probablement des noeuds homogènes. L'autre extrême est où un travail informatique utilise un ou peu de noeuds et a besoin de peu ou pas de communication d'inter-noeud, le calcul de grille prochain.

Dans un système Beowulf, les programmes d'application ne voient jamais les noeuds informatiques (a aussi appelé des ordinateurs d'esclave) mais interagir seulement avec "le Maître" qui est un ordinateur spécifique manipulant la planification et la gestion des esclaves. Dans une mise en œuvre typique le Maître a deux interfaces de réseau, celui qui communique avec le réseau Beowulf privé pour les esclaves, d'autre pour le réseau de but général de l'organisation. Les ordinateurs esclave ont typiquement leur propre version du même système d'exploitation et la mémoire locale et l'espace disque. Cependant, le réseau d'esclave privé peut aussi avoir un serveur de fichier grand et partagé qui stocke des données persistantes globales, eues accès par les esclaves comme nécessaire.



beowulf clusters



D'après le contraste, le but spécial le groupe DEGIMA à 144 noeuds est accordé à la course de simulations de N-corps astrophysiques utilisant la Promenade multiple treecode parallèle, plutôt que le but général des calculs scientifiques.

En raison de la puissance de calcul croissante de chaque génération de consoles de jeu, une nouvelle utilisation a apparu où ils sont se reproposent comme but dans le calcul Très performant (HPC) des groupes. Quelques exemples de groupes de console de jeu sont Sony des groupes de Playstation et des groupes de Xbox de Microsoft. Un autre exemple de produit de jeu grand public est le Nvidia Tesla le poste de travail Superinformatique Personnel, qui utilise des puces de processeur d'accélérateur graphiques multiples. En plus des consoles de jeu, des cartes graphiques hautes de gamme peuvent aussi être utilisées au lieu de cela. L'utilisation de cartes graphiques (ou plutôt leur GPU'S) pour faire des calculs pour le calcul de grille est énormément plus économique que l'utilisation de l'UC, malgré être moins précise. Cependant, en utilisant des valeurs de double précision, ils deviennent aussi précis pour marcher avec que l'UC et être toujours beaucoup moins coûteux (le coût d'achat).

Des groupes informatiques ont historiquement fonctionné sur des ordinateurs physiques séparés avec le même système d'exploitation. Avec l'apparition de virtualization, les noeuds de groupe peuvent fonctionner sur des ordinateurs physiques séparés avec les systèmes différents d'exploitation qui sont peints le susdit avec une couche virtuelle pour avoir l'air semblables. Le groupe peut aussi être virtualisé sur des configurations diverses comme le maintien a lieu. Une mise en œuvre d'exemple est Xen comme le manager virtualization avec Linux-ha.

Management du Cluster

Un des défis dans l'utilisation d'un groupe informatique est le coût de l'administrer qui peut de temps en temps être aussi haut comme le coût d'administrer des machines indépendantes N, si le groupe a des noeuds N. Dans certains cas ceci fournit un avantage pour des architectures de mémoire partagées avec des coûts d'administration inférieurs. Ceci a aussi fait aux machines virtuelles populaires, en raison de la facilité d'administration.

Planification de tâche

Quand un grand groupe multiposte doit avoir accès aux très grandes quantités de données, la planification de tâche devient un défi. Dans un groupe d'UC-GPU hétérogène avec un environnement complexe d'application, la performance de chaque travail dépend des caractéristiques du groupe sous-jacent. Donc, dressant la carte de tâches sur des cœurs d'UC et des dispositifs GPU fournit des défis significatifs. Ceci est une zone(un domaine) de recherche en cours; on a proposé les algorithmes qui combinent et prolongent MapReduce et Hadoop et étudié.

Gestion d'échec de noeud

Quand un noeud dans un groupe échoue, les stratégies comme "la clôture" peuvent être employées pour garder le reste du système opérationnel. La Clôture est le processus d'isoler un noeud ou protéger des ressources partagées quand un noeud semble mal fonctionner. Il y a deux classes de clôturer des méthodes; on met hors de service un noeud lui-même et l'autre rejette l'accès aux ressources comme des disques partagés.

La méthode STONITH signifie "Blessent l'Autre Noeud À la tête" en signifiant que le noeud soupçonné est mis hors de service. Par exemple, le pouvoir clôturant des utilisations un contrôleur de pouvoir pour éteindre un noeud inopérable.

Les ressources clôturant l'approche rejettent l'accès aux ressources sans faire fonctionner du noeud. Ceci peut inclure la clôture de réservation persistante via le SCSI3, la clôture de chaîne de fibre pour mettre hors de service le port de chaîne de fibre, ou le dispositif de bloc de réseau global (GNBD) clôturant pour mettre hors de service l'accès au serveur GNBD.

References