Le calcul hautes performances (HPC, High Performance Computing) consiste à agréger des ressources informatiques afin d'obtenir des performances supérieures à celles d'une station de travail, d'un serveur ou d'un ordinateur unique. Le HPC peut prendre la forme de superordinateurs personnalisés ou de groupes d'ordinateurs individuels appelés clusters. Le HPC peut être exécuté sur site, dans le cloud ou dans une combinaison des deux. Chaque ordinateur d'un cluster est souvent appelé nœud, chaque nœud étant responsable d'une tâche différente. Les nœuds contrôleurs exécutent les services essentiels et coordonnent le travail entre les nœuds, les nœuds interactifs ou les nœuds de connexion qui font office d'hôtes, que les utilisateurs se connectent via une interface utilisateur graphique ou une ligne de commande. Les nœuds de calcul ou de calcul exécutent les calculs. Les algorithmes et les logiciels sont exécutés en parallèle sur chaque nœud du cluster pour faciliter l'exécution de la tâche donnée. Le HPC comporte généralement trois composants principaux : le calcul, le stockage et la mise en réseau.
Le HPC permet aux entreprises et aux chercheurs d'agréger des ressources informatiques afin de résoudre des problèmes trop volumineux pour être traités individuellement par des ordinateurs standards, ou trop longs à traiter. Pour cette raison, on parle aussi parfois de supercalcul.
Le HPC permet de résoudre des problèmes dans les domaines de la recherche universitaire, de la science, de la conception, de la simulation et de l'informatique décisionnelle. La capacité du HPC à traiter rapidement d'énormes quantités de données alimente certains des aspects les plus fondamentaux de la société d'aujourd'hui, comme la capacité des banques à valider des fraudes sur des millions de transactions par carte de crédit en une seule fois, pour permettre aux constructeurs automobiles de tester la conception de votre voiture en termes de sécurité en cas d'accident, ou pour savoir quel temps il fera demain.
En savoir plus sur le HPC chez Google.
Le calcul hautes performances se compose de trois composants principaux:
En termes simples, les nœuds (calcul) du système HPC sont connectés à d'autres nœuds pour exécuter simultanément des algorithmes et des logiciels. Ils sont ensuite connectés (réseau) à des serveurs de données (stockage) pour capturer le résultat. Les projets HPC étant généralement volumineux et complexes, les nœuds du système doivent généralement échanger les résultats de leurs calculs entre eux, ce qui signifie qu'ils ont besoin de disques rapides, d'une mémoire à haut débit, ainsi que d'une mise en réseau à faible latence et à haut débit entre les nœuds et les systèmes de stockage.
Le HPC peut généralement être divisé en deux types de conception généraux : l'informatique en cluster et l'informatique distribuée.
L'informatique parallèle est réalisée avec un ensemble d'ordinateurs (clusters) fonctionnant ensemble, tels qu'un groupe de serveurs connectés situés à proximité les uns des autres, physiquement et dans la topologie du réseau, afin de minimiser la latence entre les nœuds.
Le modèle informatique distribué relie la puissance de calcul de plusieurs ordinateurs dans un réseau qui se trouve soit à un seul endroit (souvent sur site), soit réparti sur plusieurs emplacements, et cela peut inclure du matériel sur site et des ressources cloud.
En outre, les clusters HPC peuvent faire la distinction entre les modèles matériels homogènes et hétérogènes. Dans les clusters homogènes, toutes les machines ont des performances et une configuration similaires, et sont souvent considérées comme identiques et interchangeables. Dans les clusters hétérogènes, il existe un ensemble de matériel présentant différentes caractéristiques (nombre élevé de cœurs de processeur, accélération par GPU, etc.). Le système est mieux exploité lorsque des nœuds se voient attribuer des tâches, afin de tirer le meilleur parti de leurs avantages.
Dans un environnement HPC, les charges de travail se déclinent généralement en deux types différents: faiblement couplé et étroitement couplé.
Les charges de travail faiblement couplées (souvent appelées tâches parallèles ou à haut débit) sont des tâches indépendantes qui peuvent être exécutées simultanément sur le système. Les tâches peuvent partager un espace de stockage commun, mais elles ne dépendent pas du contexte et n'ont donc pas besoin de communiquer les résultats entre elles au fur et à mesure qu'elles sont terminées. Un exemple de charge de travail faiblement couplée serait le rendu d'images générées par ordinateur (CGI) dans un long métrage, où chaque image de la vidéo est rendue indépendamment des autres images, bien qu'elles partagent les mêmes données d'entrée (arrière-plans et modèles 3D, par exemple).
Les charges de travail étroitement couplées consistent en de nombreux petits processus, chacun géré par différents nœuds d'un cluster, qui dépendent les uns des autres pour mener à bien la tâche globale. Les charges de travail étroitement couplées nécessitent généralement une mise en réseau à faible latence entre les nœuds, ainsi qu'un accès rapide à la mémoire et au stockage partagés. La communication inter-processus pour ces charges de travail est gérée par une interface de transmission de messages (MPI, Message Passing Interface), à l'aide de logiciels tels qu'OpenMPI et Intel MPI. Les prévisions météorologiques sont un exemple de charge de travail à couplage fort. Elles impliquent une simulation physique de systèmes dynamiques et interdépendants impliquant la température, le vent, la pression, les précipitations, etc. Ici, chaque nœud de cluster peut calculer des solutions partielles à différents facteurs météorologiques, contribuant ainsi à la prévision globale.
Le HPC peut être effectué sur site avec un équipement dédié, dans le cloud ou dans un environnement hybride.
Le HPC dans le cloud offre les avantages de la flexibilité et de l'évolutivité sans avoir à acheter ni à entretenir des superordinateurs dédiés coûteux. Le HPC dans le cloud fournit toute l'infrastructure nécessaire pour effectuer des tâches importantes et complexes telles que le stockage de données, les solutions de mise en réseau, les ressources de calcul spécialisées, la sécurité et les applications d'intelligence artificielle. Les charges de travail peuvent être exécutées à la demande, ce qui signifie que les entreprises peuvent économiser du temps sur les équipements et le temps sur les cycles informatiques, en n'utilisant que les ressources dont elles ont besoin, quand elles en ont besoin.
Voici quelques éléments à prendre en compte lorsque vous choisissez d'exécuter le HPC dans le cloud:
Latence et bande passante : avec la quantité de données exécutées dans les charges de travail HPC, les fournisseurs de services cloud doivent fournir des fonctionnalités réseau robustes (> 100 Go/s) avec une faible latence.
Performances: le HPC dans le cloud fonctionne mieux avec les fournisseurs qui mettent constamment à jour les systèmes pour optimiser les performances, en particulier dans les processeurs informatiques, les solutions de stockage et les capacités de mise en réseau.
Durabilité: le HPC est une forme de calcul utilisant beaucoup de ressources, qui nécessite beaucoup plus d'électricité que les charges de travail normales. Les ordinateurs hautes performances sur site peuvent coûter des millions de dollars par an en énergie. Les clouds publics qui donnent la priorité aux énergies renouvelables, comme Google Cloud, peuvent atténuer l'impact du HPC sur l'énergie.
Stockage: compte tenu de la taille de la plupart des tâches HPC, le stockage de données évolutif est un facteur important à prendre en compte lors de l'exécution de charges de travail HPC. Les fournisseurs de services cloud capables de stocker et de gérer facilement de grandes quantités de données (par exemple, via Cloud Storage Filestore High Scale ou DDN EXAScaler) ont un avantage sur le HPC.
Sécurité: un fournisseur de services cloud disposant d'une infrastructure mondiale gérée de manière privée garantit que les données et les applications sont moins exposées à l'Internet public. Les réseaux de cloud privé virtuel (VPC) permettent la connectivité entre les nœuds et peuvent configurer des pare-feu pour les applications HPC. Les fonctionnalités d'informatique confidentielle permettent le chiffrement en cours d'utilisation, ainsi que le chiffrement au repos et en cours de transfert.
Rapidité et performances
Le calcul hautes performances permet de traiter les données et les tâches beaucoup plus rapidement qu'avec un seul serveur ou ordinateur. Les tâches pouvant prendre des semaines ou des mois sur un système informatique standard peuvent prendre des heures en calcul hautes performances.
Flexibilité et efficacité
Le HPC dans le cloud permet de faire évoluer les charges de travail à la hausse ou à la baisse en fonction des besoins. Avec une connexion Internet robuste, le HPC est accessible partout dans le monde.
Économies
Grâce à la rapidité, à la flexibilité et à l'efficacité du HPC dans le cloud, les entreprises peuvent économiser du temps et de l'argent sur les ressources informatiques et les heures de travail.
Tolérance aux pannes
Si un nœud d'un cluster HPC tombe en panne, le système est suffisamment résilient pour que le reste du système ne tombe pas en panne. Compte tenu des tâches volumineuses et complexes effectuées par le HPC, la tolérance aux pannes est un avantage majeur.
R&D accélérée
Le HPC offre un avantage aux entreprises qui effectuent des recherches et des développements en accélérant les résultats de projets utilisant beaucoup de données, tels que la modélisation de produits pharmaceutiques, la conception de nouvelles machines et pièces, ou la simulation d'expériences pour réduire les tests physiques.
Coût initial
Les coûts initiaux des clusters HPC et des superordinateurs sur site sont élevés. Le HPC sur site serait hors de portée pour la plupart des entreprises si l'on tient compte du coût de l'équipement, de la main-d'œuvre, des logiciels et de la configuration.
Consommation énergétique
Les coûts énergétiques liés à l'installation de superordinateurs sur site peuvent être élevés. Pour les entreprises soucieuses de l'environnement et des coûts, la consommation d'énergie du HPC peut être durable en exécutant le HPC sur le cloud le plus propre au monde.
Maintenance
Le HPC fonctionne de manière optimale avec du matériel et des logiciels optimisés de dernière génération. La mise à jour d'un cluster HPC ou d'un superordinateur sur site pour garantir des performances optimales peut rapidement devenir une dépense importante et récurrente.
L'écosystème moderne est inondé de données et d'outils utilisant beaucoup de ressources de calcul pour les analyser. Le HPC permet aux entreprises et aux organisations de traiter toutes ces données en temps opportun, afin d'alimenter de nouvelles perspectives, des innovations et des découvertes scientifiques. Cela permet aux entreprises de prévoir des scénarios commerciaux, de prévoir les fluctuations des marchés et de faire des recommandations. Le domaine médical, quant à lui, est en train de se transformer grâce à un accès facile au HPC dans le cloud, ce qui permet de modéliser d'éventuelles épidémies, de décoder le génome des cellules cancéreuses et de comprendre l'évolution des maladies.
Pour résumer, le HPC accélère les progrès scientifiques, technologiques et commerciaux, ce qui aide l'humanité à façonner un avenir plus prospère.
Voici quelques cas d'utilisation du calcul hautes performances.
Recherche
Le HPC est utilisé dans la recherche universitaire et scientifique pour effectuer l'analyse et le calcul de grands ensembles de données, tels que des données astronomiques provenant de satellites et de télescopes, de création de matériaux, de découverte de nouveaux médicaments ou de modélisation de protéines.
Simulation
Le HPC est utilisé pour simuler des scénarios physiques tels que des collisions automobiles, la circulation de l'air au-dessus des ailes d'avion ou à l'intérieur des moteurs, ou la façon dont de potentiels nouveaux médicaments interagissent avec les cellules humaines.
Conception
Les fabricants utilisent souvent le HPC et l'intelligence artificielle pour concevoir de nouvelles machines telles que des avions et des automobiles dans des logiciels avant de construire des prototypes physiques. Sans la puissance de calcul du HPC, la conception et le rendu de modèles potentiels prendraient beaucoup plus de temps et ralentiraient le processus de fabrication. Les fabricants de puces informatiques utilisent le HPC pour modéliser de nouvelles puces avant de les prototyper en fonderie.
Optimisation
Le HPC peut vous aider à optimiser des ensembles de données volumineux et complexes, comme des portefeuilles financiers, ou les itinéraires les plus efficaces pour l'expédition et la logistique.
Prévision
Le HPC peut prendre des ensembles de données volumineux et complexes et effectuer des prédictions en temps opportun. De nombreuses entreprises aérospatiales utilisent le HPC pour prédire quand leurs machines nécessiteront de la maintenance. La plupart des prévisions météorologiques sont effectuées avec un calcul hautes performances, ce qui permet aux météorologues de prédire la trajectoire des tempêtes ou de modéliser le changement climatique.
Analyse de données
Le HPC permet d'analyser les plus grands ensembles de données. Lorsqu'il est utilisé avec des applications de machine learning et d'intelligence artificielle, le HPC peut contribuer à faire des recommandations ou à détecter des fraudes pour les cartes de crédit. Le HPC a considérablement augmenté la vitesse de séquençage des génomes.
Profitez de 300 $ de crédits gratuits et de plus de 20 produits Always Free pour commencer à créer des applications sur Google Cloud.