Lexique du HPC




Glossaire



Ce que vous cherchez Ce que ça signifie
Architecture à mémoire distribuée Système dans lequel une unité de calcul n'a directement accès qu'à une partie de l'espace mémoire global. Dans un cluster HPC, chaque nœud de calcul est indépendant et ne peut donc accéder directement à la mémoire des autres nœuds pour effectuer des traitements parallèles. Ces accès peuvent néanmoins se faire via des interfaces de programmation ad hoc comme MPI, qui nécessitent alors un code adapté. L'adaptation du code peut représenter un travail très important.
Architecture à mémoire partagée Système dans lequel chaque unité de traitement, par exemple un cœur de processeur, peut accéder à tout l'espace mémoire. C'est typiquement le cas au sein d'un ordinateur classique, où deux processus peuvent facilement partager la mémoire pour échanger rapidement des informations.
CUDA Compute Unified Device Architecture. Ensemble de briques technologiques permettant d'utiliser les GPU NVIDIA pour des traitements de type GPGPU.
Cloud HPC Service de calcul hébergé, souvent basé sur des machines virtuelles.
Cluster HPC Grappe de serveurs visant à exécuter une application/un code sur une multitude de serveurs en parallèle. Basés en majorité sur du matériel similaire à celui utilisé pour l'informatique grand public, les clusters sont moins onéreux que les supercalculateurs vectoriels utilisés par le passé pour le HPC, et ont presque complètement supplanté ceux-ci durant la dernière décennie.
GPGPU General-Purpose (Computing on) Graphics Processing Units : calcul déporté sur un GPU afin de bénéficier de sa capacité de traitement massivement parallèle pour traiter toutes sortes d'informations (pas exclusivement graphiques). Par extension, le terme GPGPU peut désigner soit le GPU lui-même, soit l'utilisation qui en est faite.
GPU Graphics Processing Unit : à l'origine, l'unité de traitement d'une carte graphique. Les GPU modernes sont conçus selon des architectures massivement parallèles dont la puissance brute excède celle des processeurs classiques (CPU) pour certaines tâches particulières.
HPC High Performance Computing. En Français on parle de Calcul Haute Performance ou de Calcul Intensif.
HPCDrive Portail web développé par OVH pour faciliter l'utilisation et l'administration d'un cluster HPC.
HPCaaS HPC as a Service
Infiniband  Il s'agit d'un type de réseau à très haut débit et très faible latence, largement utilisé dans le HPC en raison de ses performances supérieures aux technologies Ethernet classiques.
MPI Message Parsing Interface. Il s’agit d’un standard de communication pour des nœuds exécutant des programmes parallèles sur des systèmes à mémoire distribuée tels que des clusters HPC.
Nœud de calcul Il est la brique de base d’un cluster de calcul. Equipé de processeurs dernière génération, il peut traiter rapidement les jobs que lui transmet le serveur maître. Un cluster HPC peut être constitué de plusieurs dizaines ou centaines de nœuds de calcul.
Open MP Interface de programmation pour le calcul parallèle sur architecture à mémoire partagée. Cette interface permet de paralléliser certaines parties du code avec un travail bien moins important que celui pouvant être requis par MPI, mais ne fournit pas les moyens d'exécuter ce code en le répartissant sur plusieurs nœuds d'un cluster.
OpenACC L’API OpenACC offre aux programmeurs la possibilité d’intégrer dans leurs codes des directives simples, permettant d’accélérer certaines boucles ou fonctions en tirant parti des nouvelles technologies CPU ou GPU.
OpenCL  Interface de programmation conçue pour exploiter des systèmes hétérogènes, c'est-à-dire comportant à la fois des CPU et des GPGPU. Schématiquement, OpenCL peut être envisagé comme une alternative standard à CUDA (propriétaire mais plus ancien).
Ordonnanceur En anglais : « batch scheduler ». Programme destiné à enregistrer la description de tâches à accomplir afin d'allouer les ressources nécessaires à la réalisation de ces tâches le plus efficacement possible, et donc à minimiser le temps d'attente avant qu'une tâche ne démarre réellement. L'efficacité des ordonnanceurs est une des clés de voûte des clusters HPC.
Parallélisme Ensemble de techniques matérielles et logicielles visant à traiter plusieurs informations en même temps afin de réduire le temps de traitement total. Le parallélisme constitue la clé de la puissance des clusters HPC et des processeurs modernes : une simulation numérique est typiquement découpée en sous-parties ou tâches plus ou moins indépendantes. Chacune de ces sous-parties ou tâches est alors traitée sur une unité d'exécution (un cœur de processeur) en même temps que les autres. Le parallélisme permet de gagner énormément de temps pour certains types de calcul, mais impose son lot de contraintes : tous les algorithmes ne peuvent être parallélisés, et l'échange de données entre les cœurs d'exécution nécessite souvent des bus d'entrées-sorties très rapides pour limiter le temps perdu lors de ces échanges.
SLURM Simple Linux Utility for Resource Management. SLURM est un ordonnanceur de plus en plus utilisé sur les clusters HPC, y compris les plus puissants actuellement.
SaaS Software as a service
Serveur maître il s’agit du serveur d’administration d’un cluster HPC, il gère différentes ressources du cluster, et centralise l’ensemble des informations. Il est le point central d’une infrastructure de calcul.
Simulation numérique Exécution d'un programme informatique sur un ordinateur ou réseau en vue de reproduire un phénomène réel complexe. La simulation numérique vise à réaliser virtuellement des expériences qui sont trop complexes, trop longues, trop coûteuses ou tout simplement impossibles à effectuer normalement.
Tesla Gamme de cartes accélératrices Nvidia dédiées au calcul GPGPU.
Xeon Phi Architecture multiprocesseur d'Intel, pour réaliser des traitements parallèles. Les cartes Xeon Phi se posent en concurrentes des solutions GPGPU comme Tesla, mais visent une plus grande facilité de programmation grâce à l'emploi d'unités de traitement plus proches des cœurs des processeurs classiques que celles des GPU.