Qu’est-ce qu’un cluster ?

Un cluster est un assemblage d’ordinateurs reliés par des réseaux rapides, et permettant d’effectuer des opérations de calcul haute performance : résolutions numériques d’équations, traitement de données massives, visualisation à haute résolution. Il est composé des noeuds de calcul et utilise des logiciels pour coordonner l’exécution, sur les différents processeurs interconnectés, de tâches de calcul intensif. Les données d’entrée et de sortie sont stockées de manière rapide sur des systèmes de fichiers partagés par le réseau.

L’utilisation d’un cluster repose sur deux modes :

  • un mode interactif permettant la préparation d’un calcul ou d’un traitement, par exemple la compilation d’un programme ou la définition d’un maillage, et le traitement des données, particulièrement la génération de figures issues des résultats ;

  • un mode batch pour lequel on soumet des jobs (via des scripts) qui s’executent en fonction de la disponibilité des ressources de calcul.

Ce sont des machines qui s’utilisent à distance, généralement en ligne de commande via une connexion SSH ou via des protocoles de visualisations comme X2Go. Ci-dessous vous est présenté une vision simplifiée de l’infrastructure du cluster mutualisé de l’École Centrale de Lyon, avec les machines interactives, les noeuds de calcul et les volumes de stockage.

Schéma de l'architecture de Newton

Plus de détails sont disponibles sur la page Newton.

Terminologie

  • frontale : il s’agit d’une ou plusieurs machines sur lesquelles les utilisateurs se connectent pour accéder aux ressources. Ce sont des machines de connexion (ou login). Au PMCS2I, la machine de login est dédiée aux transferts de données. La compilation des codes ou l’exécution de travaux n’y est pas admise. La compilation peut être confiée aux machines de prepost, qui permettent également un accès aux ressources de calcul et de données ;

  • prepost : ce sont des machines spécifiques à des parties distinctes de l’architecture, qui sont dédiées aux travaux de pré- et post-traitement des calculs. Elles permettent également une connexion en mode graphique efficace, via un serveur X2Go ;

  • noeud de calcul : ce sont les machines sur lesquelles les travaux doivent être exécutés. Les différentes tâches sont gérées par un un logiciel appelé SLURM qui permet l’ordonnancement de l’exécution des travaux des utilisateurs sur les moyens de calcul. Il gère les files d’exécution afin d’optimiser l’occupation de la plate-forme et réduire le temps d’attente des utilisateurs ;

  • coeurs : ils désignent ici les coeurs physique d’un processeur. Chaque noeud possède plusieurs coeurs. Généralement, les processus de calcul sont exécutés sur les coeurs physiques ;

  • partition : ce sont les files d’attente configurées dans le SLURM. Elles correspondent ici à des générations homogènes de processeurs et possèdent chacune une machine de prepost dédiée.

  • batch : désigne le mode de soumission des travaux via une file d’attente, par opposition à une exécution en direct, lors d’un travail en interactif.

  • job : un travail demandé au calculateur via l’utilisation de ressources définies (coeur, mémoire, gpu) dans un fichier de soumission pour exécuter différentes instructions ou calculs.

pdf de présentation

pdf