Accueil🇫🇷Chercher

Grappe de serveurs

On parle de grappe de serveurs[1], de cluster, de groupement de serveurs ou de ferme de calcul (computer cluster en anglais) pour désigner des techniques consistant à regrouper plusieurs ordinateurs indépendants appelés nœuds (node en anglais), afin de permettre une gestion globale et de dépasser les limitations d'un ordinateur pour :

Une « grappe de serveurs » composée de serveurs industriels dans une baie.

La création de petites grappes de serveurs est un procédé peu coûteux, consistant à grouper plusieurs ordinateurs en réseau, qui apparaîtront comme un ordinateur unique doté de plus de puissance du processeur, d'espace de stockage, de mémoire vive, etc., particulièrement utilisé pour les calculs parallèles. Cet usage optimisé des ressources permet la répartition des traitements sur les différents nœuds.

L'un des principaux avantages est d'éviter l'achat d'un serveur multiprocesseur coûteux, en se contentant de plus petits périphériques connectés entre eux en « grappe », permettant une meilleure adaptabilité en fonction des besoins - d'un point de vue performance comme financier. Ces grappes sont généralement situées dans un centre de données.

Historique

Les clusters sont apparus au moment de l'explosion du prix des supercalculateurs alors que les microprocesseurs devenaient de plus en plus rapides et de moins en moins chers. Dès la fin des années 1980, des ingénieurs développent un « multi-ordinateur » (en 1987, l'université du Mississippi travaille sur un cluster basé sur le Sun 4/110). C'est toutefois le projet Beowulf[2] - l'utilisation d'un système d'exploitation Linux sur des PC communs - qui a véritablement lancé l'intérêt pour les clusters, ces grappes d'ordinateurs qui fournissent en commun un travail de calcul en parallèle sur un seul problème complexe. Le coût et la modularité d'un cluster rendant les opérations de calcul moins onéreuses qu'un super-ordinateur[3].

Fonctionnement

Grappe de 2 serveurs en Ă©quilibrage de charge

Le terme cluster exprime l'idée de grappe. La Délégation générale à la langue française et aux langues de France préconise d'ailleurs l'emploi du terme « grappe ». Une grappe de serveurs est donc un groupe de serveurs indépendants fonctionnant comme un seul et même système. Un client dialogue avec une grappe, comme s'il s'agissait d'une machine unique.

Dans les domaines scientifiques, les grappes sont habituellement constituées de nœuds de calcul, de nœuds de stockage et de un ou plusieurs nœuds frontaux. Il y a quelquefois des nœuds supplémentaires dédiés au suivi (monitoring).

Les nĹ“uds peuvent ĂŞtre reliĂ©s entre eux par plusieurs rĂ©seaux. CommunĂ©ment, le rĂ©seau dont le dĂ©bit est le plus lent est dĂ©diĂ© aux tâches d'administration (chargement des systèmes sur les nĹ“uds, suivi, mesure de charge…). Ă€ ce premier rĂ©seau vient gĂ©nĂ©ralement s'adjoindre un second rĂ©seau, avec une bande passante beaucoup plus importante. Ce rĂ©seau peut utiliser des technologies de type Quadrics, Myrinet ou Infiniband. Ces dĂ©bits peuvent atteindre 40 gigabits par seconde.

Les programmes exécutés sur ce genre de machine se servent d'une API standard Message Passing Interface, utilisant la communication entre les divers processus répartis sur les nœuds avec des messages.

Lors de la défaillance d'un serveur, le logiciel de regroupement réagit en isolant le système défaillant. De même pour le partage des tâches d'un serveur surchargé avec un autre (dans le cas où les ressources sont partagées entre plusieurs tâches).

Computercluster

Utilisation

Leur utilisation est de plus en plus importante dans la communauté scientifique, où les besoins en calculs à haute performance sont toujours croissants[4], ainsi qu'en imagerie numérique notamment pour les images de synthèse au travers des fermes de rendu.

En Informatique de gestion, les grappes peuvent être utilisées pour minimiser l'impact d'une panne de serveur sur la disponibilité d'une application. Cela nécessite la mise en œuvre de disques partagés, par exemple dans le cadre d'un réseau de stockage SAN.

Dans d'autres domaines, on a de plus en plus recours aux réseaux pair à pair (P2P) comme alternative aux grappes de serveurs, et ce pour un coût moindre.

Bénéfices

  • ÉvolutivitĂ© ou scalabilitĂ© (de scalable en anglais) : capacitĂ© d'une application Ă  accepter un nombre croissant d'utilisateurs. Reposant sur plusieurs facteurs, notamment le nombre d'utilisateurs pouvant se connecter simultanĂ©ment Ă  un cluster et le temps nĂ©cessaire pour traiter une requĂŞte[5].
  • DisponibilitĂ© : la haute disponibilitĂ© peut se dĂ©finir comme la redondance. Ainsi, si un serveur tombe en panne alors qu'il est en train de traiter des requĂŞtes, d'autres serveurs du cluster doivent pouvoir les traiter d'une manière aussi transparente que possible. Tout serveur dĂ©faillant est retirĂ© du cluster dès qu'il tombe en panne de sorte que les requĂŞtes suivantes ne soient plus acheminĂ©es vers ce dernier. En matière de reprise Ă  chaud pour les applications d'entreprise, la rĂ©silience et la disponibilitĂ© revĂŞtent la plus haute importance[5].

Notes et références

Articles connexes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.