Passer au contenu principal

Qu’est-ce que le cluster computing ?

Le cluster computing consiste à utiliser plusieurs nœuds informatiques, appelés clusters, afin d’augmenter la puissance de traitement pour résoudre des problèmes complexes. Les cas d’utilisation complexes comme la recherche pharmaceutique, l’analyse des protéines et l’entraînement des modèles d’IA nécessitent le traitement parallèle de millions de points de données pour des tâches complexes de classification et de prédiction. La technologie de cluster computing coordonne plusieurs nœuds informatiques, chacun doté de ses propres processeurs, cartes graphiques et mémoire interne, afin qu’ils travaillent ensemble sur la même tâche de traitement de données. Les applications sur une infrastructure de cluster computing fonctionnent comme si elles étaient exécutées sur une seule machine et ignorent les complexités du système sous-jacent.

Comment la technologie du cluster computing a-t-elle évolué ?

Les clusters informatiques ont été inventés dans les années 1960 afin de fournir une puissance de traitement parallèle, de la mémoire et du stockage sur plusieurs ordinateurs. Les premiers clusters étaient composés d’ordinateurs personnels, de stations de travail et de serveurs. Chaque ordinateur était connecté à un réseau local (LAN), ce qui permettait aux utilisateurs d’accéder aux ressources comme s’ils utilisaient un seul ordinateur.

Au fil des ans, les technologies permettant le cluster computing ont évolué, conduisant à des cas d’utilisation plus diversifiés, comme le calcul haute performance (HPC). Le calcul haute performance utilise plusieurs processeurs connectés, pouvant atteindre plusieurs centaines de milliers, afin de fournir une puissance de calcul parallèle considérable. Les organisations utilisent le HPC pour prendre en charge les charges de travail dans les applications gourmandes en ressources comme l’analyse de données, la recherche scientifique, la machine learning et le traitement visuel.

Cluster computing dans le cloud

Traditionnellement, la mise en place de clusters informatiques nécessite l’installation et la configuration manuelles de l’ordinateur, du système d’exploitation, des capacités réseau et des mécanismes de distribution des ressources. De plus, une installation sur site impose une charge financière aux organisations, car la mise à l’échelle du cluster nécessite d’investir dans davantage de matériel serveur.

Aujourd’hui, de nombreux fournisseurs de services cloud proposent des clusters de calcul haute performance (HPC) gérés sur lesquels les organisations peuvent facilement déployer leurs charges de travail. Au lieu d’installer des milliers d’ordinateurs connectés sur site, vous pouvez accéder à une puissance de traitement illimitée dans le cloud grâce à AWS HPC.

AWS HPC permet aux équipes logicielles d’innover et de mettre à l’échelle les charges de travail gourmandes en calcul grâce aux services de calcul de cluster computing. Par exemple, Hypersonix utilise le calcul haute performance pour exécuter des simulations de dynamique des fluides à grande vitesse impliquant des millions de cellules dans le cloud AWS.

Quels sont les cas d’utilisation du cluster computing ?

Nous présentons ci-dessous les applications typiques des technologies de cluster computing.

Analytique du big data

Le cluster computing peut accélérer l’analyse des données en distribuant les tâches analytiques à de multiples ordinateurs en parallèle. Par exemple, vous pouvez exécuter des calculs complexes comme Monte-Carlo, la génomique ou l’analyse de sentiments avec des clusters cloud computing conçus pour soutenir les charges de travail HPC.

Intelligence artificielle et machine learning

Les applications d’intelligence artificielle et de machine learning (IA/ML) consomment une puissance de traitement massive lors de la formation et du traitement des données. Grâce à une infrastructure de cluster computing spécialement conçue, les scientifiques des données peuvent accélérer la production de résultats. Par exemple, vous pouvez exécuter votre charge de travail d’IA/ML sur des clusters d’IA dans le cloud propulsés par AWS Trainium, une puce informatique conçue pour accélérer la recherche sur l’IA. 

Rendu 3D

Le cluster computing permet le rendu de cluster, un processus par lequel plusieurs ordinateurs interconnectés synchronisent des images ou des vidéos sur divers écrans. Vous pouvez également utiliser le rendu de cluster pour prendre en charge l’ingénierie assistée par ordinateur, la réalité virtuelle et d’autres applications qui nécessitent une puissance de traitement graphique intense.

Simulations

Les organisations utilisent des clusters informatiques pour simuler les résultats possibles des données afin d’orienter les décisions opérationnelles.  Lorsque plusieurs ordinateurs sont interconnectés, ils permettent un flux de travail interactif dans lequel des experts humains peuvent extraire, examiner et affiner les résultats des modèles sous-jacents. Par exemple, vous pouvez effectuer une analyse des risques financiers en alimentant les charges de travail de machine learning sous-jacentes avec les ressources des ordinateurs connectés. 

Comment fonctionne le cluster computing ?

Le cluster computing connecte deux ou plusieurs ordinateurs via un réseau afin qu’ils fonctionnent de manière cohérente comme un seul et même système. En général, une configuration en cluster se compose de nœuds de calcul, d’un nœud principal, d’un équilibreur de charge et d’un mécanisme de pulsation. Lorsque le nœud principal reçoit une requête, il transmet la tâche aux nœuds de calcul. Selon la configuration du cluster par les ingénieurs, chaque nœud peut agir sur la tâche séparément ou simultanément. Nous expliquons le fonctionnement de chaque composant ci-dessous.

 

Nœuds informatiques

Les nœuds de calcul sont des serveurs (ou des instances cloud) qui traitent des tâches distribuées. Souvent, ils partagent le même processeur, la même carte graphique, la même mémoire, le même espace de stockage, le même système d’exploitation et d’autres spécifications informatiques. C’est ce que nous appelons une configuration homogène. Une configuration hétérogène peut parfois être utilisée, dans laquelle certains nœuds du cluster ont des spécifications informatiques différentes.

Nœud principal

Un nœud principal est un ordinateur chargé de coordonner le fonctionnement conjoint des autres nœuds informatiques. Le nœud principal reçoit les requêtes entrantes et distribue les tâches aux différents nœuds sous sa responsabilité. Si le nœud principal tombe en panne, un autre nœud prend sa place à l’issue d’un processus électoral, généralement par consensus des nœuds restants.

Équilibreur de charge

L’équilibreur de charge est un dispositif réseau qui distribue le trafic entrant vers les nœuds informatiques appropriés. Il assure le suivi des activités réseau, de l’utilisation des ressources et des échanges de données entre les nœuds du cluster. Dans le cluster computing, l’équilibreur de charge empêche les nœuds de calcul d’être submergés par une augmentation soudaine des demandes. Parfois, le nœud principal agit comme un équilibreur de charge grâce à un outil logiciel dédié à l’équilibrage de charge.

Mécanisme Heartbeat

Le mécanisme Heartbeat surveille tous les nœuds informatiques du cluster afin de s’assurer qu’ils sont opérationnels. Lorsqu’un nœud ne répond pas, le mécanisme Heartbeat alerte le nœud principal, qui redistribue la tâche à d’autres nœuds fonctionnels. 

Quels sont les types de cluster computing ?

Les organisations peuvent mettre en place des clusters informatiques pour soutenir divers objectifs commerciaux, opérationnels et de performance.

Clusters d’équilibrage de charge

Les clusters d’équilibrage de charge assurent la stabilité opérationnelle en coordonnant automatiquement la gestion des ressources. Lorsque le cluster reçoit une requête, il répartit la tâche de manière uniforme entre tous les nœuds disponibles. Cette répartition empêche tout nœud individuel d’être submergé. Par exemple, les entreprises hébergent des sites Web de commerce électronique sur des clusters d’équilibrage de charge afin de faire face aux pics de trafic saisonniers. Tous les nœuds traitent la requête de manière collaborative, par conséquent, les utilisateurs bénéficient d’une performance constante malgré le volume élevé de trafic.

Clusters à haute disponibilité

Les clusters à haute disponibilité (HA) garantissent la disponibilité des services en maintenant des nœuds redondants. Lorsqu’un nœud unique est défectueux, l’équilibreur de charge redistribue le trafic vers les nœuds de secours, garantissant ainsi la continuité du service à tout moment. Un équilibreur de charge redondant est généralement inclus dans la configuration afin d’éviter un point de défaillance unique. De cette manière, l’ensemble du cluster peut se rétablir rapidement en cas de défaillance de ses composants.

Vous pouvez configurer les clusters haute disponibilité de deux manières.

Configurations actives-actives

Tous les nœuds sont opérationnels, qu’ils aient reçu une tâche ou non. Cependant, en cas d’échec, l’équilibreur de charge redistribue la tâche aux nœuds sains.

Configurations actives-passives.

Certains nœuds restent inactifs pendant le fonctionnement normal. Ils ne sont activés qu’en cas de défaillance d’un nœud.

Clusters à hautes performances

Les clusters à hautes performances combinent plusieurs ordinateurs ou supercalculateurs afin de résoudre des tâches informatiques complexes à une vitesse de traitement élevée. Au lieu d’effectuer un traitement séquentiel, les clusters à hautes performances traitent les données en parallèle. Ce traitement est avantageux pour les applications gourmandes en ressources comme l’exploration de données. En outre, les nœuds informatiques peuvent échanger des données à mesure qu’ils travaillent vers un objectif commun. 

Quel est le rôle du cluster computing dans l’IA ?

Les charges de travail liées à l’IA nécessitent d’énormes ressources informatiques, des capacités de stockage importantes et des connexions réseau à faible latence. Auparavant, les organisations déployaient les charges de travail liées à l’IA dans des centres de données sur site. Toutefois, à mesure que les applications d’IA deviennent plus complexes, elles nécessitent davantage de puissance de calcul et d’espace de stockage. Lorsqu’il est réutilisé pour les charges de travail liées à l’IA, le cluster computing crée un réseau massif de superordinateurs sur lesquels les charges de travail liées à l’IA peuvent être exécutées. Au lieu de processeurs centraux (CPU), les supercalculateurs sont équipés de processeurs graphiques (GPU) et de processeurs TPU afin de répondre à des exigences informatiques élevées. Ces architectures de cluster, également appelées superclusters d’IA, permettent aux organisations de créer, déployer et mettre à l’échelle des systèmes de deep learning autonomes, l’analytique du big data et d’autres applications d’IA.

Comment AWS peut-elle vous aider à répondre à vos besoins en matière de cluster computing ?

AWS Parallel Computing Service (AWS PCS) est un service géré qui utilise Slurm pour exécuter et mettre à l’échelle des charges de travail de calcul haute performance (HPC) sur AWS. Vous pouvez utiliser AWS PCS pour :

  • simplifier vos opérations de cluster grâce aux fonctionnalités intégrées de gestion et d’observabilité ;
  • créer des clusters informatiques qui intègrent les capacités de calcul, de stockage, de mise en réseau et de visualisation d’AWS ;
  • exécuter des simulations ou créer des modèles scientifiques et techniques.

Elastic Fabric Adapter (EFA) est une interface réseau pour les nœuds informatiques fonctionnant sur des instances Amazon EC2. Son interface personnalisée améliore les performances des communications inter-instances, ce qui est essentiel pour mettre à l’échelle les applications de cluster computing.

AWS ParallelCluster est un outil open source de gestion de clusters qui facilite le déploiement et la gestion des clusters Amazon EC2. Vous pouvez utiliser une interface utilisateur graphique (GUI) simple ou un fichier texte pour modéliser et provisionner les ressources nécessaires à vos applications HPC de manière automatisée et sécurisée.

Commencez à utiliser le cluster computing sur AWS en créant un compte gratuit dès aujourd’hui.