Stockage pour les charges de travail Azure HPC
L’accès au stockage est un facteur crucial à prendre en compte lorsque vous planifiez des performances de charge de travail hpC (High-Performance Computing). Les charges de travail HPC à grande échelle dans certains environnements peuvent créer des demandes de stockage et d’accès aux données qui dépassent les fonctionnalités des systèmes de fichiers cloud traditionnels. Cet article fournit des recommandations pour vous aider à choisir le stockage approprié pour vos charges de travail Azure HPC. Il fournit également des recommandations sur le stockage des charges de travail HPC dans les secteurs de l’énergie, des finances et de la fabrication.
Tenez compte des facteurs suivants liés aux exigences de votre application pour déterminer la solution de stockage à utiliser :
- Latence
- Opérations d’entrée/sortie par seconde (IOPS)
- Débit
- Tailles et nombre de fichiers
- Temps d'exécution de la tâche
- Coût
- Emplacement de stockage : local et Azure
Pour plus d’informations, consultez Comprendre les facteurs qui influencent la sélection du stockage HPC dans Azure.
Le diagramme suivant montre un arbre de décision destiné à un choix spécifique de système de stockage HPC.
Considérations relatives au HPC
Les sociétés pétrolières et gazières doivent être en mesure de gérer et de stocker efficacement des exaoctets de données sismiques, des données de puits, des cartes et des baux. Pour utiliser ces données, elles ont besoin d’une infrastructure hautes performances qui peut traiter et fournir des analyses en temps réel pour optimiser la production, réduire les risques environnementaux et améliorer la sécurité opérationnelle.
le stockage de données et les besoins d’accès varient largement en fonction de l’échelle de la charge de travail. Azure prend en charge plusieurs approches pour gérer la vitesse et la capacité des applications HPC.
Les charges de travail HPC et batch à grande échelle dans le secteur de l'énergie ont des exigences en matière de stockage et d'accès aux données qui dépassent les capacités des systèmes de fichiers cloud traditionnels. Les exigences d’entrée/sortie (E/S) hautes performances et les besoins massifs en matière d’extensibilité de HPC présentent des défis uniques pour le stockage et l’accès aux données.
HPC résout des problèmes complexes tels que les simulations sismiques et de réservoirs et la modélisation, qui ne sont pas pratiques ou rentables à gérer avec des techniques de calcul traditionnelles. HPC résout ces problèmes grâce à une combinaison de traitement parallèle et d’extensibilité massive pour effectuer rapidement, efficacement et de manière fiable des tâches informatiques volumineuses et complexes.
Dans les clusters Azure HPC, les nœuds de calcul sont des machines virtuelles que vous pouvez créer rapidement pour effectuer des tâches affectées au cluster. Ces nœuds distribuent les tâches de calcul sur le cluster. Cette distribution permet d’obtenir le traitement parallèle hautes performances requis pour résoudre des problèmes HPC complexes. Les nœuds de calcul doivent effectuer des opérations de lecture et d’écriture sur le stockage de travail partagé lorsqu’ils exécutent des travaux. Les nœuds accèdent à ce stockage dans une gamme de scénarios qui se situent entre les deux extrêmes suivants :
Un ensemble de données sur de nombreux nœuds de calcul. Dans ce scénario, il existe une seule source de données sur le réseau et tous les nœuds de calcul y accèdent pour les données de travail. Bien qu’elles soient structurellement simples, la capacité d’E/S de l’emplacement de stockage limite les opérations d’E/S.
De nombreux jeux de données sur de nombreux nœuds de calcul. Dans ce scénario, il existe de nombreuses sources de données sur le réseau auxquelles tous les nœuds de calcul accèdent pour les données de travail. Bien qu’elles soient structurellement simples, la capacité d’E/S de l’emplacement de stockage limite les opérations d’E/S.
Recommandations de conception HPC
Choisissez la solution qui convient le mieux à vos besoins uniques d’E/S et de capacité.
Système de fichiers réseau
Le système de fichiers réseau (NFS) est souvent utilisé pour fournir l’accès aux emplacements de stockage partagé. Une machine virtuelle de serveur qui utilise NFS partage son système de fichiers local. Dans Azure, ce système de fichiers est stocké sur un ou plusieurs disques durs virtuels (VHD) hébergés dans stockage Azure. Les clients peuvent ensuite monter les fichiers partagés du serveur et accéder directement à l’emplacement partagé.
NFS est souvent utilisé pour les répertoires de base et les espaces de projet qui nécessitent un accès sur tous les nœuds. Il peut fournir un espace pour les groupes de recherche qui partagent des données. En général, les charges de travail à haut débit sont évolutives horizontalement avec peu de dépendance entre les tâches individuelles. Les planificateurs de travaux divisent le travail entre les nœuds et coordonnent l’activité. NFS est le stockage partagé classique entre les nœuds accessibles via des réseaux TCP/IP.
NFS présente l’avantage d’être facile à configurer et à gérer et est pris en charge sur les systèmes d’exploitation Linux et Windows. Plusieurs serveurs NFS peuvent être utilisés pour répartir le stockage sur un réseau, mais les fichiers individuels ne sont accessibles qu’à l’aide d’un seul serveur.
Pour les charges de travail à faible échelle, envisagez d'exécuter NFS sur le nœud principal à l'aide d'une machine virtuelle optimisée pour le stockagede type
Dans les scénarios HPC, le serveur de fichiers peut souvent servir de goulot d’étranglement qui limite les performances globales. Les tentatives d'accès aux données non mises en cache à partir d'un seul serveur NFS, lorsqu'elles dépassent les limites de débit et d'IOPS maximales par machine virtuelle documentées, entraînent une limitation.
Dans un scénario où des dizaines de clients tentent de travailler sur des données stockées sur un seul serveur NFS, vous pouvez facilement atteindre ces limites. Ces limites peuvent entraîner la souffrance des performances de votre application entière. Plus proche d’un scénario simple à plusieurs que votre application HPC utilise, plus vous rencontrez ces limitations plus tôt.
Systèmes de fichiers parallèles sur Azure
Les systèmes de fichiers parallèles distribuent le stockage au niveau du bloc sur plusieurs nœuds de stockage réseau. Les données de fichier sont réparties entre ces nœuds, ce qui signifie que les données de fichier sont réparties entre plusieurs périphériques de stockage. Cette distribution regroupe toutes les demandes d’E/S de stockage individuelles sur plusieurs nœuds de stockage accessibles via un espace de noms commun.
Plusieurs périphériques de stockage et plusieurs chemins d’accès aux données sont utilisés pour fournir un degré élevé de parallélisme. Cette approche réduit le nombre de goulots d’étranglement imposés en accédant à un seul nœud à la fois. Toutefois, il peut être difficile de coordonner et d'optimiser les E/S parallèles si l'on travaille directement au niveau de l'interface d'API ou de l'I/O POSIX. En introduisant des couches intermédiaires d’accès aux données et de coordination, les systèmes de fichiers parallèles fournissent aux développeurs d’applications une interface de haut niveau entre la couche application et la couche E/S.
Les charges de travail MPI (Energy Messaging Passing Interface) ont des exigences uniques en fonction de la nécessité de communications à faible latence entre les nœuds. Les nœuds sont connectés via une interconnexion haute vitesse et ne sont pas facilement adaptables pour le partage avec d’autres charges de travail. Les applications MPI utilisent l’ensemble des interconnexions hautes performances via Pass-Through mode dans des environnements virtualisés. Le stockage pour les nœuds MPI est généralement un système de fichiers parallèle comme Lustre également accessible via l’interconnexion haute vitesse. Lustre et BeeGFS sont généralement utilisés pour gérer les exigences de débit importantes du traitement sismique. Dans une moindre mesure, ils sont également utilisés pour la simulation de réservoir.
Les systèmes de fichiers parallèles tels que Lustre sont utilisés pour les charges de travail d’énergie HPC qui nécessitent l’accès aux fichiers volumineux, l’accès simultané à partir de plusieurs nœuds de calcul et de grandes quantités de données. L’implémentation de systèmes de fichiers parallèles facilite la mise à l’échelle en termes de capacité et de performances. Ces systèmes de fichiers tirent parti des transferts d’accès direct à distance en mémoire avec une bande passante importante et une utilisation réduite du processeur. Le système de fichiers parallèle est souvent utilisé comme espace de travail et destiné au travail nécessitant des E/S optimisées. Les exemples incluent la configuration de la charge de travail, le prétraitement, l’exécution et le post-traitement.
Un service de fichiers parallèle orchestré, tel qu’Azure Managed Lustre, fonctionne pour 50 000 cœurs ou plus, avec des taux de lecture/écriture allant jusqu’à 500 Gbits/s et un stockage de 2,5 Pb. Pour plus d’informations, consultez systèmes de fichiers virtuels parallèles sur Microsoft Azure.
Composants HPC
Azure NetApp Files et les disques locaux sont généralement utilisés pour gérer la latence et les charges de travail sensibles aux IOPS, telles que l’interprétation sismique, la préparation du modèle et la visualisation. Envisagez d’utiliser Azure NetApp Files pour les charges de travail d’un maximum de 4 000 cœurs, avec un débit pouvant atteindre 6,5 Gbits/s et des charges de travail qui bénéficient ou nécessitent un accès multiprotocol NFS et Server Message Block (SMB) au même jeu de données.
Managed Lustre offre un stockage de capacité plus rapide et plus élevé pour les charges de travail HPC. Cette solution fonctionne pour les charges de travail moyennes à grandes et peut prendre en charge 50 000 cœurs ou plus, avec un débit pouvant atteindre 500 Gbits/s et une capacité de stockage jusqu’à 2,5 PiB.
Le stockage Blob Azure Standard ou Premium est économique, car il s'agit de l'offre cloud au coût le plus bas. Ce service fournit un accès à l'échelle exaoctet, à haut débit, à faible latence là où c'est nécessaire, une interface de système de fichiers familière et un accès multiprotocole (REST, HDFS, NFS). Vous pouvez utiliser NFS v3.0 sur le point de terminaison du service blob pour les charges de travail à débit élevé et lourdes en lecture. Vous pouvez optimiser les coûts en passant aux niveaux de stockage plus froids. Cette approche permet la gestion du cycle de vie basée sur la dernière mise à jour ou l’heure d’accès et la hiérarchisation intelligente avec des stratégies personnalisables.
Les charges de travail d’énergie pétrolière et gazière peuvent nécessiter le transfert de grandes tailles de données et de volumes entre les systèmes locaux et le cloud. La migration hors connexion utilise des services basés sur des appareils comme Azure Data Box. La migration en ligne utilise des services réseau comme Azure ExpressRoute.
Le tableau suivant fournit une comparaison entre stockage Blob, Azure Files, Managed Lustre et Azure NetApp Files.
Catégorie | Stockage Blob | Azure Files | Managed Lustre | Azure NetApp Files |
---|---|---|---|---|
Cas d’usage | Idéal pour les charges de travail à grande échelle avec accès séquentiel intensif, où les données sont ingérées une fois et modifiées au minimum. Faible coût total de possession, s’il y a une maintenance légère. Certains exemples de scénarios incluent des données analytiques à grande échelle, un calcul haute performance sensible au débit, la sauvegarde et l’archivage, la conduite autonome, le rendu multimédia et le séquencement génomique. |
Un service hautement disponible, idéal pour les charges de travail à accès aléatoire. Pour les partages NFS, Azure Files fournit une prise en charge complète du système de fichiers POSIX. Le pilote CSI intégré vous permet de l’utiliser facilement à partir de plateformes basées sur des machines virtuelles et de plateformes de conteneur telles qu’Azure Container Instances et Azure Kubernetes Service (AKS). Certains exemples de scénarios incluent des fichiers partagés, des bases de données, des répertoires de base, des applications traditionnelles, ERP, CMS, des migrations NAS qui ne nécessitent pas de gestion avancée et des applications personnalisées qui nécessitent un stockage de fichiers extensible. |
Managed Lustre est un système de fichiers parallèle entièrement géré qui convient le mieux aux charges de travail HPC de taille moyenne à grande. Active les applications HPC dans le cloud sans interrompre la compatibilité des applications en fournissant des fonctionnalités familières du système de fichiers parallèles De Lustre, des comportements et des performances. Ce service permet de sécuriser les investissements d’applications à long terme. |
Un service de fichiers entièrement managé dans le cloud, alimenté par NetApp, qui dispose de fonctionnalités de gestion avancées. Azure NetApp Files est adapté aux charges de travail qui nécessitent un accès aléatoire. Il fournit une prise en charge étendue du protocole et une protection améliorée des données. Certains exemples de scénarios incluent la migration de NAS d’entreprise sur site nécessitant des capacités de gestion enrichies, des charges de travail sensibles à la latence telles que SAP HANA, un calcul intensif à hautes performances et intensives en IOPS, ou des charges de travail nécessitant un accès simultané multi-protocole. |
Protocoles disponibles | NFS 3.0 REST Azure Data Lake Storage |
SMB NFS 4.1 (Aucune interopérabilité entre l’un ou l’autre protocole) |
Lustre | NFS 3.0 et 4.1 PME |
Fonctionnalités clés | Intégré à Azure HPC Cache pour les charges de travail à faible latence. Gestion intégrée, notamment pour la gestion du cycle de vie, les objets blob immuables, le basculement des données et l'index des métadonnées. |
Redondance interzone pour la haute disponibilité. Latence constante de quelques millisecondes. Performances et coûts prévisibles qui s’adaptent à la capacité. |
Capacité de stockage élevée jusqu’à 2,5 Po. Latence faible, environ 2 ms. Créez de nouveaux clusters en minutes. Prend en charge les charges de travail conteneurisées avec AKS. |
Latence extrêmement faible, aussi faible qu’une sous-milliseconde. Riche capacité de gestion NetApp ONTAP, comme SnapMirror Cloud. Expérience cloud hybride cohérente. |
Performance (par volume) | Au maximum 20 000 IOPS. Un débit pouvant atteindre 100 Gio/s. | Au maximum 100 000 IOPS. Un débit pouvant aller jusqu'à 80 Gio/s. | Au maximum 100 000 IOPS. Débit jusqu'à 500 Gio/s. | Au maximum 460 000 IOPS. Débit pouvant atteindre 36 Gio/s. |
Échelle | Jusqu'à 2 PiB pour un seul volume. Jusqu'à environ 4,75 Tio pour un seul fichier. Aucune exigence minimale de capacité. |
Jusqu'à 100 To pour un seul volume. Jusqu'à 4 Tio pour un seul fichier. Capacité minimale de 100 Gio. |
Jusqu'à 2,5 PiB pour un seul volume. Au maximum 32 Pb pour un seul fichier. Capacité minimale de 4 Tio. |
Au maximum 100 TiB pour un seul volume. Jusqu'à 16 TiB pour un seul fichier. Expérience cloud hybride cohérente. |
Tarification | Tarification Stockage Blob | tarification d’Azure Files | Tarification Managed Lustre | Tarification des fichiers Azure NetApp |
Recommandations en matière de conception financière
Utilisez Stockage Blob Standard ou Premium pour le stockage à haut débit et à faible latence. Il offre les avantages suivants :
Il fournit un accès à l’échelle exabyte, à haut débit et à faible latence, un système de fichiers familier et un accès multiprotocole dont REST, HDFS, NFS.
C’est rentable.
Vous pouvez monter Stockage Blob en tant que système de fichiers à l’aide de BlobFuse. Cela rend facile de permettre à plusieurs nœuds de monter le même conteneur pour des scénarios en lecture seule.
Il prend en charge NFS 3.0 sur le point de terminaison de service blob pour les charges de travail à haut débit et en lecture intensive.
Vous pouvez optimiser les coûts en déplaçant les données vers des niveaux de stockage plus froids. Cette optimisation est possible via la gestion du cycle de vie basée sur la dernière mise à jour ou l’heure d’accès et la hiérarchisation intelligente avec des stratégies personnalisables.
Utilisez Azure NetApp Files pour les applications ReadWriteMany (unique) ou en lecture unique. Il offre les avantages suivants :
Un large éventail de protocoles de fichiers, tels que NFSv3, NFSv4.1 et SMB3
Performances comparables aux performances locales, avec plusieurs niveaux (Ultra, Premium, Standard)
Déploie en minutes et offre un large éventail de niveaux et de flexibilité
Types et performances flexibles du pool de capacité, où la QoS par volume est automatiquement affectée en fonction du niveau du pool et du quota de volume
Considérations relatives à la fabrication
Il est important de s’assurer que les données requises atteignent les machines de cluster HPC au bon moment. Vous souhaitez également vous assurer que les résultats de ces machines individuelles sont rapidement enregistrés et disponibles pour une analyse plus approfondie.
Distribution du trafic de charge de travail
Considérez les types de trafic générés et processus par votre environnement HPC. Cette étape est particulièrement importante si vous envisagez d’exécuter plusieurs types de charges de travail et prévoyez d’utiliser le stockage à d’autres fins. Prenez en compte et enregistrez les types de trafic suivants :
- Flux unique par rapport à plusieurs flux
- Ratio du trafic de lecture au trafic d’écriture
- Tailles et nombres de fichiers moyens
- Modèles d’accès aléatoires et séquentiels
Localité des données
Cette catégorie tient compte de l’emplacement des données. La sensibilisation à la localisation vous permet de déterminer si vous pouvez utiliser la copie, la mise en cache ou la synchronisation en tant que stratégie de déplacement des données. Vérifiez les éléments de localité suivants à l’avance :
- Si les données sources sont locales, dans Azure ou les deux
- Si les données de résultats sont locales, dans Azure ou les deux
- Si les charges de travail HPC dans Azure doivent être coordonnées avec les chronologies de modification des données sources
- Si des données sensibles ou des données relevant de la Loi sur la portabilité et la responsabilité en matière d’assurance maladie sont incluses
Exigences en matière de performances
Les exigences en matière de performances pour les solutions de stockage sont généralement résumées comme suit :
- Débit à flux unique
- Débit à flux multiples
- Nombre maximal d’IOPS par seconde attendu
- Latence moyenne
Chaque facteur affecte les performances, de sorte que ces nombres servent de guide pour les résultats attendus d’une solution spécifique. Par exemple, une charge de travail HPC peut inclure une création et une suppression de fichiers étendues dans le cadre du flux de travail. Ces opérations peuvent affecter le débit global.
Méthodes d’accès
Tenez compte du protocole d’accès client requis et soyez clair sur les fonctionnalités du protocole nécessaires. Il existe différentes versions de NFS et SMB.
Tenez compte des exigences suivantes :
- Indique si les versions NFS/SMB sont requises
- Fonctionnalités de protocole attendues, telles que les listes de contrôle d’accès ou le chiffrement
- Solution de système de fichiers parallèle
Nombre total de besoins en capacité
La capacité de stockage dans Azure est la prochaine considération. Il permet d’informer le coût global de la solution. Si vous envisagez de stocker une grande quantité de données pendant une longue période, vous pouvez envisager la hiérarchisation dans le cadre de la solution de stockage. La hiérarchisation combine des options de stockage à moindre coût avec un stockage plus coûteux et plus performant dans un niveau chaud. Tenez compte des exigences de capacité suivantes :
- Capacité totale requise
- Capacité totale requise pour le niveau chaud
- Capacité totale de niveau chaud requise
- Capacité totale requise pour le palier froid
Méthode d’authentification et d’autorisation
Pour les exigences d’authentification et d’autorisation, telles que l’utilisation d’un serveur LDAP ou windows Server Active Directory, veillez à inclure les systèmes de prise en charge nécessaires dans votre architecture. Si vous devez prendre en charge des fonctionnalités telles que le mappage UID ou GID aux utilisateurs Windows Server Active Directory, vérifiez que la solution de stockage prend en charge cette fonctionnalité.
Tenez compte des exigences réseau suivantes :
- Local (UID ou GID sur le serveur de fichiers uniquement)
- Répertoire (LDAP ou Windows Server Active Directory)
- Mappage UID ou GID aux utilisateurs Windows Server Active Directory ou non
Système de fichiers parallèle Roll-your-own
À l’instar de NFS, vous pouvez créer un système de fichiers BeeGFS ou Lustre à plusieurs nœuds. Les performances de ces systèmes dépendent principalement du type de machines virtuelles que vous choisissez. Vous pouvez utiliser des images trouvées dans Azure Marketplace pour BeeGFS ou une implémentation de Lustre par DDN appelée Whamcloud. Si vous utilisez des images non-Microsoft provenant de fournisseurs tels que BeeGFS ou DDN, vous pouvez acheter leurs services de support. Vous pouvez utiliser BeeGFS et Lustre sous leurs licencesPG sans frais supplémentaires, en dehors des coûts des machines et des disques. Ces outils sont faciles à déployer à l’aide des scripts Azure HPC avec des disques locaux éphémères pour scratch ou Azure SSD Premium ou Azure SSD Ultra pour le stockage persistant.
Cray ClusterStor
Il est difficile pour les charges de travail plus volumineuses de répliquer les performances complètes des clusters de calcul volumineux avec de grands environnements Lustre. D’autres défis incluent l’obtention d’un débit élevé en termes de TBits/s et de gestion potentielle des PBs de stockage. Vous pouvez maintenant exécuter ces charges de travail à l’aide de Cray ClusterStor dans la solution Azure. Cette approche est un déploiement Lustre simple placé dans le centre de données Azure approprié. Les systèmes de fichiers parallèles tels que BeeGFS et Lustre offrent les performances les plus élevées en raison de leur architecture. Mais cette architecture et l’utilisation de ces technologies ont un prix de gestion élevé.
Étapes suivantes
Les articles suivants fournissent des conseils pour vous aider à différents points pendant votre parcours d’adoption du cloud.
- Introduction au scénario HPC (Calcul Haute Performance) Azure
- Gestion des identités et des accès pour azure HPC
- Topologie et connectivité du réseau pour Azure HPC dans le secteur de l'énergie
- Organisation des ressources pour le calcul haute performance dans le secteur de l’énergie
- Calculer des charges de travail d’application HPC à grande échelle dans des machines virtuelles Azure
- Accélérateur de zone d’atterrissage HPC (High-Performance Computing) Azure