La simulation de réservoir utilise des modèles d’ordinateur nécessitant beaucoup de données pour prédire des flux complexes de fluides, tels que de le pétrole, l’eau et le gaz, en sous-sol. Cet exemple configure le logiciel de simulation de réservoir sur une infrastructure HPC (High-Performance Computing) Azure. Azure permet d’exécuter ce type de charge de travail avec des performances, une évolutivité et une rentabilité optimales.
Architecture
Téléchargez un fichier Visio de cette architecture.
Workflow
Ce schéma représente l’architecture globale utilisée dans notre exemple. Le flux de travail s’articule de la façon suivante :
Les utilisateurs se connectent au nœud principal via SSH pour préparer leurs modèles pour les ressources de calcul.
PBS Pro 19.1 s’exécute sur le nœud principal et planifie les travaux sur les nœuds de calcul.
OPM Flow s’exécute sur les nœuds de calcul. Les machines virtuelles de calcul sont déployées en tant que groupe de machines virtuelles identiques, un groupe de machines virtuelles identiques qui se met à l’échelle pour répondre aux demandes des tâches de calcul.
OPM Flow transmet les résultats calculés vers un partage de fichiers sur le nœud principal. Un disque Premium est connecté au nœud principal et configuré en tant que serveur NFS pour les nœuds de calcul et la machine virtuelle de visualisation.
OPM ResInsight s’exécute sur une machine virtuelle Windows Standard-NV6 et affiche des visualisations 3D des résultats. Les utilisateurs peuvent accéder à la machine virtuelle de visualisation via RDP.
Components
Technologies clés utilisées pour implémenter cette architecture :
- Azure CycleCloud
- Azure NetApp Files
- Groupes de machines virtuelles identiques Azure
- Key Vault
- Machines virtuelles Linux dans Azure
- Machines virtuelles
Détails du scénario
L’architecture de cet exemple prend en charge la solution OPM Flow, un package open source de simulation de réservoir de pétrole et de gaz issu de l’initiative OPM (Open Porous Media). Le logiciel de fluide OPM s’exécute sur des machines virtuelles Azure HPC qui offrent des performances proches ou supérieures à celles des infrastructures locales actuelles.
Les utilisateurs se connectent à une machine virtuelle de nœud principal Linux pour soumettre des modèles aux ressources HPC via un logiciel de planification de travaux PBS Pro 19.1. Les ressources HPC exécutent OPM Flow et transmettent les résultats calculés à un partage de fichiers. Dans cet exemple, le partage de fichiers est un espace NFS (Network File System) de 4 téraoctets (TO) sur la machine virtuelle du nœud principal. Selon votre modèle et vos exigences d’entrée et de sortie, vous pouvez utiliser d’autres options de stockage.
Une machine virtuelle Microsoft Azure exécutant OPM ResInsight, un outil de visualisation Open source, accède au partage de fichiers pour modéliser et visualiser les résultats calculés. Les utilisateurs peuvent se connecter à la machine virtuelle via le protocole RDP (Remote Desktop Protocol) pour afficher les visualisations.
L’utilisation d’une machine virtuelle Azure économise les frais d’une station de travail de visualisation haut de gamme. Les applications OPM bénéficient d’un matériel HPC et d’un emplacement de stockage partagé pour les fichiers d’entrée et de sortie.
Cas d’usage potentiels
Modéliser des réservoirs en 3D et visualiser des données sismiques.
Tester INTERSECT, un simulateur de réservoir haute résolution de Schlumberger. Vous pouvez voir un échantillon d’implémentation INTERSECT sur GitHub.
Tester Nexus (de Landmark-Halliburton) à l’aide d’une configuration similaire sur Azure.
Considérations
Ces considérations implémentent les piliers d’Azure Well-Architected Framework qui est un ensemble de principes directeurs qui permettent d’améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Microsoft Azure Well-Architected Framework.
Cet exemple utilise la série HB de machines virtuelles hautes performances. La série HB est optimisée pour les applications basées sur la bande passante de la mémoire, telles que le calcul de la dynamique des fluides (CFD), et la machine virtuelle Standard_HB120rs_v2 est la dernière de la série. Pour le matériel basé sur Intel, la machine virtuelle Standard_HC44rs est en option.
Pour tester cette architecture OPM Flow sur Azure, l’exemple d’implémentation GitHub installe le cas Norne, un cas de benchmark ouvert d’un véritable gisement pétrolier situé dans la mer de Norvège. Pour exécuter ce cas de test, vous devez effectuer les opérations suivantes :
Utilisez Azure Key Vault pour stocker les clés et les secrets ; ceci est nécessaire pour l’exécution des scripts d’installation de GitHub.
Installez les bibliothèques LAPACK (Linear Algebra PACKage) sur tous les nœuds de calcul. Les scripts d’installation de GitHub incluent cette étape.
Installez RGS (HP Remote Graphics Software) sur chaque ordinateur que vous souhaitez utiliser comme récepteur pour les visualisations. Dans cet exemple, un utilisateur se connecte à la machine virtuelle de visualisation pour exécuter ResInsight et afficher le cas Norne.
Un planificateur de tâches
Les charges de travail nécessitant beaucoup de ressources bénéficient d’un logiciel d’orchestration HPC qui peut déployer et gérer l’infrastructure de calcul et de stockage HPC. L’exemple d’architecture comprend deux façons de déployer Compute : l’infrastructure azurehpc ou Azure CycleCloud.
Azure CycleCloud est un outil de création, de gestion, d’exploitation et d’optimisation de clusters HPC et Big Compute dans Azure. Vous pouvez l’utiliser pour approvisionner dynamiquement des clusters HPC Azure et orchestrer des données et des travaux pour les flux de travail hybrides et cloud. Azure CycleCloud prend également en charge plusieurs gestionnaires de charges de travail pour vos charges de travail HPC sur Azure, comme Grid Engine, HPC Pack, HTCondor, LSF, PBS Pro, Slurm et Symphony.
Réseau
Cet exemple de charge de travail déploie les machines virtuelles dans différents sous-réseaux. Pour renforcer la sécurité, vous pouvez définir des groupes de sécurité réseau pour chaque sous-réseau. Par exemple, vous pouvez définir des règles de sécurité qui autorisent ou refusent le trafic réseau vers ou à partir des différents nœuds. Si vous n’avez pas besoin de ce niveau de sécurité, vous n’avez pas besoin de sous-réseaux distincts pour cette implémentation.
Stockage
Les besoins en matière de stockage de données et d’accès varient considérablement, 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. Le référentiel GitHub azurehpc contient des exemples de scripts Azure HPC.
Les approches suivantes sont courantes dans le secteur des hydrocarbures. Choisissez la solution la mieux adaptée à vos besoins d’E/S et de capacité uniques.
Pour les charges de travail à faible échelle comme l’exemple actuel, nous vous conseillons d’exécuter NFS sur le nœud principal, à l’aide d’une machine virtuelle Lsv2-series à mémoire optimisée avec des disques éphémères volumineux, ou des machines virtuelles de la série D avec le service Stockage Azure Premium, en fonction de vos besoins. Cette solution est adaptée aux charges de travail nécessitant jusqu’à 500 cœurs, un débit allant jusqu’à 1,5 gigaoctets par seconde (Gio/s) et jusqu’à 19 To de RAM et 100 To de stockage.
Charges de travail nécessitant une lecture intensive de moyenne à grande échelle : Nous vous conseillons d’utiliser Avere vFXT pour Azure (de 6 à 24 nœuds). Cette solution fonctionne pour les charges de travail nécessitant jusqu’à 50 000 cœurs, un débit allant jusqu’à 2 Gio/s pour l’écriture et jusqu’à 14 Gio/s pour la lecture, un cache pouvant atteindre 192 To et un serveur de fichiers pouvant atteindre 2 pétaoctets (Po).
Charges de travail à l’échelle moyenne, équilibrées ou nécessitant une écriture intensive : nous vous recommandons d’utiliser Azure NetApp Files pour les charges de travail nécessitant jusqu’à 4 000 cœurs, un débit allant jusqu’à 6,5 Gio/s, un stockage allant jusqu’à 100 To/volume et une taille de fichier maximale de 12 To.
Charges de travail à grande échelle : Utilisez un service de fichiers parallèles orchestré, tel que Lustre ou BeeGFS. Cette approche fonctionne pour un maximum de 50 000 cœurs, avec des taux de lecture/écriture allant jusqu’à 50 Gio/s et un stockage de 500 To. Pour les clusters encore plus grands, une approche complète peut être plus rentable. Par exemple, Cray ClusterStor est une solution de stockage HPC gérée offrant la flexibilité nécessaire pour prendre en charge des clusters évolutifs plus importants à la volée.
Déployer ce scénario
Découvrez un exemple d’implémentation de cette architecture OPM Flow sur GitHub.
Étapes suivantes
- Consultez le blog HPC: Oil and Gas in Azure (contenu en anglais).
- Découvrez le fonctionnement d’Avere vFXT pour Azure.
- Consultez la Liste de contrôle des performances et de la scalabilité du Stockage Microsoft Azure.
- Parcourez un exemple de charge de travail d’ingénierie assistée par ordinateur (IAO) sur Azure.
- Obtenez plus d’informations à propos de HPC sur Azure.