Ce document présente les options de stockage dans Google Cloud pour les charges de travail de calcul hautes performances (HPC ou "High Performance Computing") et explique quand utiliser des systèmes de fichiers parallèles pour les charges de travail HPC. Dans un système de fichiers parallèle, plusieurs clients utilisent des chemins d'E/S parallèles pour accéder à des données partagées stockées sur plusieurs nœuds de stockage en réseau.
Ce document est destiné aux architectes et aux administrateurs qui conçoivent, provisionnent et gèrent du stockage pour des charges de travail HPC gourmandes en données. Dans le présent document, nous partons du principe que vous avez une connaissance conceptuelle des Systèmes de fichiers réseau (NFS), des systèmes de fichiers parallèles POSIX et des exigences de stockage des applications HPC.
Qu'est-ce que le calcul hautes performances ?
Les systèmes HPC résolvent rapidement des problèmes de calcul extrêmement complexes en agrégeant plusieurs ressources de calcul. Le HPC est à l'origine de la recherche et de l'innovation dans des secteurs tels que la santé, les sciences de la vie, les médias, le divertissement, les services financiers et l'énergie. Les chercheurs, les scientifiques et les analystes utilisent des systèmes HPC pour effectuer des tests, exécuter des simulations et évaluer des prototypes. Les charges de travail HPC telles que le traitement sismique, le séquençage génomique, le rendu multimédia et la modélisation climatique génèrent et accèdent à de grands volumes de données, à une vitesse toujours plus rapide et avec des latences toujours plus faibles. Le stockage hautes performances et la gestion des données sont des composantes essentielles d'une infrastructure HPC.
Options de stockage pour les charges de travail HPC dans Google Cloud
La création et l'exploitation d'une infrastructure HPC sur site sont coûteuses et impliquent une maintenance continue. De plus, l'infrastructure sur site ne peut généralement pas faire l'objet d'un scaling rapide pour répondre à l'évolution de la demande. La planification, l'acquisition, le déploiement et la mise hors service du matériel sur site prennent un temps considérable, ce qui entraîne un retard dans l'ajout des ressources HPC ou une sous-utilisation de la capacité. Dans le cloud, vous pouvez provisionner efficacement une infrastructure HPC qui utilise les dernières technologies et faire évoluer votre capacité à la demande.
Google Cloud et nos partenaires technologiques proposent des options de stockage économiques, flexibles et évolutives pour le déploiement d'une infrastructure HPC dans le cloud et pour l'amélioration de votre infrastructure HPC sur site. Les scientifiques, les chercheurs et les analystes peuvent ainsi rapidement accéder à une capacité HPC supplémentaire pour leurs projets lorsqu'ils en ont besoin.
Pour déployer une charge de travail HPC dans Google Cloud, vous avez le choix entre les produits et services de stockage suivants, en fonction de vos besoins :
Type de charge de travail | Produits et services de stockage recommandés |
---|---|
Les charges de travail qui nécessitent un accès à faible latence aux données, mais qui ne nécessitent pas d'E/S extrêmes pour les ensembles de données partagés et qui ont un partage de données limité entre les clients. | Utilisez le stockage NFS. Choisissez l'une des options suivantes : |
Des charges de travail qui génèrent des E/S complexes, interdépendantes et à grande échelle, telles que des applications HPC à couplage fort qui utilisent l'interface MPI (Message-Passing Interface) pour une communication fiable entre les processus. | Utilisez un système de fichiers parallèle. Choisissez l'une des options suivantes : Pour en savoir plus sur les exigences des charges de travail compatibles avec les systèmes de fichiers parallèles, consultez la section Quand utiliser des systèmes de fichiers parallèles. |
Quand utiliser des systèmes de fichiers parallèles
Dans un système de fichiers parallèle, plusieurs clients stockent et accèdent à des données partagées sur plusieurs nœuds de stockage en réseau à l'aide de chemins d'E/S parallèles. Les systèmes de fichiers parallèles sont parfaits pour les charges de travail HPC à couplage fort, telles que les charges de travail d'intelligence artificielle (IA) et les charges de travail d'analyse qui utilisent des applications SAS. Envisagez d'utiliser un système de fichiers parallèles tel que Managed Lustre pour les charges de travail HPC sensibles à la latence qui présentent l'une des exigences suivantes :
- Traitement de données à couplage fort : les charges de travail HPC telles que la modélisation météorologique et l'exploration sismique doivent traiter les données de manière répétitive en utilisant de nombreuses tâches interdépendantes qui s'exécutent simultanément sur plusieurs serveurs. Ces processus utilisent généralement le MPI pour échanger des données à intervalles réguliers et utilisent des points de contrôle pour récupérer rapidement en cas d'échec. Les systèmes de fichiers parallèles permettent aux clients interdépendants de stocker et d'accéder simultanément à de grands volumes de données partagées sur un réseau à faible latence.
- Compatibilité avec l'API d'E/S et la sémantique POSIX : les systèmes de fichiers parallèles tels que Managed Lustre sont parfaits pour les charges de travail nécessitant à la fois l'API et la sémantique POSIX. L'API et la sémantique d'un système de fichiers sont des fonctionnalités indépendantes. Par exemple, NFS est compatible avec l'API POSIX, qui permet aux applications de lire et d'écrire des données à l'aide de fonctions telles que
open()
,read()
etwrite()
. Toutefois, la façon dont NFS coordonne l'accès aux données entre différents clients diffère de la sémantique POSIX utilisée pour la coordonner l'accès aux données entre différents threads d'une machine. Par exemple, NFS n'offre pas de cohérence de cache entre les clients pour opérations POSIX lecture-écriture. NFS utilise une cohérence faible dans NFSv3 et une cohérence de type "fermer pour ouvrir" ("close-to-open") dans NFSv4. - Capacité à l'échelle du pétaoctet : les systèmes de fichiers parallèles peuvent être adaptés à plusieurs pétaoctets de capacité dans un seul espace de noms de système de fichiers. NetApp Volumes accepte jusqu'à 1 PB, et Filestore régional et zonal accepte jusqu'à 100 Tio par système de fichiers. Cloud Storage offre une capacité fiable et à faible coût qui peut évoluer automatiquement, mais peut ne pas répondre aux exigences de partage de données et de faible latence des charges de travail HPC.
- Latence faible et bande passante élevée : pour les charges de travail HPC qui nécessitent un accès haut débit à des fichiers très volumineux ou à des millions de petits fichiers, les systèmes de fichiers parallèles peuvent améliorer les performances du NFS et du stockage d'objets. La latence inférieure à la milliseconde fournie par les systèmes de fichiers parallèles est nettement inférieure à celle du stockage d'objets, ce qui peut affecter le nombre maximal d'IOPS. En outre, la bande passante maximale acceptée par les systèmes de fichiers parallèles peut être plusieurs fois supérieure à celle observée dans les systèmes basés sur NFS, qui peuvent saturer la carte d'interface réseau d'une VM.
- Scaling extrême du client : le stockage NFS peut accepter des milliers de clients. Les systèmes de fichiers parallèles peuvent évoluer afin d'accepter l'accès simultané à des données partagées depuis plus de 10 000 clients et peuvent fournir un débit élevé,quel que soit le nombre de clients.
Exemples d'applications HPC à couplage fort
Cette section décrit des exemples d'applications HPC à couplage fort qui nécessitent l'espace de stockage à faible latence et à haut débit fourni par les systèmes de fichiers parallèles.
Modélisation moléculaire basée sur l'IA
La recherche pharmaceutique est un processus coûteux et gourmand en données. Les organismes modernes de recherche pharmaceutique utilisent l'IA pour réduire les coûts de recherche et de développement, afin d'adapter efficacement leurs opérations et d'accélérer la recherche scientifique. Par exemple, les chercheurs utilisent des applications compatibles avec l'IA pour simuler les interactions entre les molécules dans un médicament et prédire l'effet des modifications apportées aux composés du médicament. Ces applications s'exécutent sur des processeurs GPU parallèles puissants qui chargent, organisent et analysent une quantité extrême de données pour effectuer rapidement des simulations. Les systèmes de fichiers parallèles fournissent les IOPS et le débit de stockage nécessaires pour optimiser les performances des applications d'IA.
Analyser les risques de crédit à l'aide d'applications SAS
Les institutions de services financiers, telles que les organismes de prêt et les banques d'investissement, doivent analyser et surveiller en permanence le score de crédit de leurs clients et de leurs portefeuilles d'investissement. Par exemple, les grands organismes de prêt collectent chaque jour des données relatives aux risques associés à des milliers de clients potentiels. Les équipes d'analystes en crédit utilisent des applications d'analyse pour examiner de manière collaborative différentes parties des données pour chaque client, telles que les revenus, l'historique de crédit et les habitudes de dépense. Les insights issus de cette analyse aident les analystes en crédit à formuler des recommandations de prêt précises et à jour.
Pour accélérer et faire évoluer les analyses de grands ensembles de données, les institutions de services financiers utilisent des plates-formes d'informatique en grille telles que SAS Grid Manager. Les systèmes de fichiers parallèles tels que Managed Lustre sont compatibles avec les exigences de stockage à haut débit et à faible latence des applications SAS multithread.
Prévisions météo
Pour prédire les tendances météorologiques dans une région géographique donnée, les météorologues divisent la région en plusieurs cellules et déploient des appareils de surveillance tels que des radars au sol et des bulles météorologiques dans chaque cellule. Ces appareils observent et mesurent des conditions atmosphériques à intervalles réguliers. Ils diffusent en continu les données vers une application de prédiction météo exécutée dans un cluster HPC.
L'application de prédiction météo traite les données diffusées à l'aide de modèles mathématiques basés sur des relations physiques connues entre les paramètres météorologiques mesurés. Une tâche distincte traite les données de chaque cellule de la région. À mesure que l'application reçoit de nouvelles mesures, chaque tâche traite les dernières données de sa cellule attribuée et échange ses résultats avec les tâches des autres cellules de la région. Pour prédire de manière fiable les modèles météorologiques, l'application doit stocker et partager des téraoctets de données que les milliers de tâches exécutées en parallèle génèrent et interrogent.
Mécanique des fluides numérique pour la conception d'avions
La dynamique des fluides numérique (CFD ou "Computational Fluid Dynamics") implique l'utilisation de modèles mathématiques, de lois physiques et d'une logique de calcul pour simuler le comportement d'un gaz ou d'un liquide autour d'un objet mobile. Lorsque les ingénieurs aéronautiques conçoivent le corps d'un avion, l'un des facteurs qu'ils prennent en compte est l'aérodynamique. Le CFD permet aux ingénieurs de simuler rapidement l'effet des modifications de conception aérodynamique avant d'investir du temps et de l'argent dans la création de prototypes coûteux. Après avoir analysé les résultats de chaque simulation, les concepteurs optimisent les attributs tels que le volume et la forme des composants individuels du corps de l'avion, puis simulent à nouveau le comportement aérodynamique. Le CFD permet aux ingénieurs aéronautiques de simuler de manière collaborative l'effet de centaines de ces modifications de conception.
Pour terminer efficacement les simulations de conception, les applications CFD nécessitent un accès aux données partagées en moins d'une milliseconde et doivent pouvoir stocker d'importants volumes de données à des vitesses allant jusqu'à 100 Gbit/s.
Présentation des options de système de fichiers parallèle
Cette section fournit une présentation générale des options disponibles dansGoogle Cloud pour les systèmes de fichiers parallèles.
Google Cloud Managed Lustre
Managed Lustre est un service géré par Google qui fournit un stockage à haut débit et à faible latence pour les charges de travail HPC à couplage fort. Il accélère considérablement les charges de travail HPC, ainsi que l'entraînement et l'inférence de l'IA, en offrant un accès à haut débit et à faible latence à des ensembles de données volumineux. Pour en savoir plus sur l'utilisation de Managed Lustre pour les charges de travail d'IA et de ML, consultez Choisir son stockage pour les charges de travail d'IA et de ML dans Google Cloud. Managed Lustre répartit les données sur plusieurs nœuds de stockage, ce qui permet à de nombreuses VM d'y accéder simultanément. Cet accès parallèle élimine les goulots d'étranglement qui se produisent avec les systèmes de fichiers conventionnels et permet aux charges de travail d'ingérer et de traiter rapidement les grandes quantités de données requises.
DDN Infinia
Si vous avez besoin d'une orchestration avancée des données d'IA, vous pouvez utiliser DDN Infinia, disponible sur Google Cloud Marketplace. Infinia fournit une solution d'intelligence des données axée sur l'IA, optimisée pour l'inférence, l'entraînement et l'analyse en temps réel. Il permet l'ingestion de données ultra-rapide, l'indexation riche en métadonnées et l'intégration fluide avec les frameworks d'IA tels que TensorFlow et PyTorch.
Voici les principales fonctionnalités de DDN Infinia :
- Hautes performances : offre une latence inférieure à la milliseconde et un débit de plusieurs téraoctets par seconde.
- Évolutivité : permet de passer de téraoctets à exaoctets et peut accueillir jusqu'à plus de 100 000 GPU et un million de clients simultanés dans un seul déploiement.
- Multitenancy avec une qualité de service (QoS) prévisible : offre des environnements sécurisés et isolés pour plusieurs locataires avec une QoS prévisible pour des performances cohérentes sur les charges de travail.
- Accès unifié aux données : permet une intégration fluide aux applications et workflows existants grâce à la prise en charge multiprotocole intégrée, y compris pour Amazon S3, CSI et Cinder.
- Sécurité avancée : inclut le chiffrement intégré, le codage d'effacement tenant compte du domaine de défaillance et les instantanés qui contribuent à assurer la protection et la conformité des données.
Sycomp Storage Powered by IBM Storage Scale
Sycomp Storage Fueled by IBM Storage Scale, disponible dans Google Cloud Marketplace, vous permet d'exécuter vos charges de travail de calcul hautes performances (HPC), d'IA et de ML, et de big data dans Google Cloud. Avec Sycomp Storage, vous pouvez accéder simultanément aux données de milliers de VM, réduire les coûts en gérant automatiquement les niveaux de stockage, et exécuter votre application sur site ou dans Google Cloud. Sycomp Storage peut être déployé rapidement et permet d'accéder à vos données via NFS et le client IBM Storage Scale.
IBM Storage Scale est un système de fichiers parallèle qui permet de gérer en toute sécurité d'importants volumes de données (pétaoctets). Sycomp Storage Scale est un système de fichiers parallèle qui est bien adapté au HPC, à l'IA, au ML, au big data et aux autres applications nécessitant un système de fichiers partagé compatible avec POSIX. Grâce à ses capacités évolutives de stockage et de scaling des performances, Sycomp Storage est compatible avec les charges de travail HPC, d'IA et de ML, quel que soit le volume.
Après avoir déployé un cluster dans Google Cloud, vous décidez de la façon dont vous souhaitez l'utiliser. Vous pouvez choisir d'utiliser le cluster uniquement dans le cloud ou en mode hybride en vous connectant à des clusters IBM Storage Scale sur site existants, à des solutions NAS NFS tierces ou à d'autres solutions de stockage basées sur des objets.
Contributeurs
Auteur : Kumar Dhanagopal | Cross-product solution developer
Autres contributeurs :
- Barak Epstein | Responsable produit
- Carlos Boneti | Ingénieur logiciel senior
- Dean Hildebrand | Directeur technique, bureau du directeur de la technologie
- Sean Derrington | Group Outbound Product Manager, Stockage
- Wyatt Gorman | Responsable produit sortant pour le HPC