Eseguire il software di simulazione di serbatoi in Azure

Azure CycleCloud
Insieme di credenziali chiave di Azure
Macchine virtuali di Azure

La simulazione di serbatoi usa modelli di computer a elevato utilizzo di dati per prevedere flussi complessi di fluidi come petrolio, acqua e gas sotto la superficie terrestre. In questo esempio viene configurato un software di simulazione di serbatoi in un'infrastruttura HPC (High Performance Computing) di Azure. Azure consente di eseguire questo tipo di carico di lavoro con prestazioni, scalabilità ed efficienza dei costi ottimizzate.

Architettura

Diagramma che illustra l'architettura di simulazione del serbatoio.

Scaricare un file di Visio di questa architettura.

Flusso di lavoro

Questo diagramma offre una panoramica generale dell'architettura usata nell'esempio. Il flusso di lavoro prevede le fasi seguenti:

  1. Gli utenti accedono al nodo head tramite SSH per preparare i modelli per le risorse di calcolo.

  2. PBS Pro 19.1 viene eseguito nel nodo head e pianifica i processi nei nodi di calcolo.

  3. OPM Flow viene eseguito nei nodi di calcolo. Le macchine virtuali di calcolo vengono distribuite come set di scalabilità di macchine virtuali, un gruppo di macchine virtuali identiche che vengono ridimensionate in base alle esigenze delle attività di calcolo.

  4. OPM Flow invia i risultati calcolati a una condivisione file nel nodo head. Un disco premium è connesso al nodo head e configurato come server NFS per i nodi di calcolo e la macchina virtuale di visualizzazione.

  5. OPM ResInsight in esecuzione in una macchina virtuale Windows Standard-NV6 visualizza le visualizzazioni 3D dei risultati. Gli utenti possono accedere alla macchina virtuale di visualizzazione tramite RDP.

Componenti

Tecnologie chiave usate per implementare questa architettura:

Dettagli dello scenario

L'architettura di questo esempio supporta OPM Flow, un noto pacchetto open source di simulazione di serbatoi per gas e petrolio dell'iniziativa Open Porous Media (OPM). Il software OPM Flow viene eseguito in macchine virtuali (VM) HPC di Azure che offrono prestazioni simili o migliori rispetto alle attuali infrastrutture locali.

Gli utenti si connettono a una macchina virtuale del nodo head Linux per inviare modelli alle risorse HPC tramite il software di pianificazione dei processi PBS Pro 19.1. Le risorse HPC eseguono OPM Flow e inviano i risultati calcolati a una condivisione file. In questo esempio, la condivisione file è un file system di rete (NFS) di 4 terabyte (TB) nella macchina virtuale del nodo head. A seconda del modello e dei requisiti di input e output (I/O), è possibile usare altre opzioni di archiviazione.

Una macchina virtuale di Microsoft Azure che esegue OPM ResInsight, uno strumento di visualizzazione open source, accede alla condivisione file al modello e visualizza i risultati calcolati. Gli utenti possono connettersi alla macchina virtuale tramite RDP (Remote Desktop Protocol) per visualizzare le visualizzazioni.

L'uso di una macchina virtuale di Azure consente di evitare la spesa per una workstation di visualizzazione di fascia alta. Le applicazioni OPM traggono vantaggio dall'hardware HPC e da una posizione di archiviazione condivisa per i file di input e di output.

Potenziali casi d'uso

  • Eseguire la modellazione e la visualizzazione di serbatoi 3D di dati sismici.

  • Testare INTERSECT, un simulatore di serbatoi ad alta risoluzione di Schlumberger. È possibile vedere un'implementazione INTERSECT di esempio in GitHub.

  • Testare Nexus di Landmark-Halliburton usando una configurazione simile in Azure.

Considerazioni

Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Microsoft Azure Well-Architected Framework.

Questo esempio usa la serie HB di macchine virtuali ad alte prestazioni. La serie HB è ottimizzata per le applicazioni basate sulla larghezza di banda della memoria, come la fluidodinamica computazionale (CFD), e la macchina virtuale Standard_HB120rs_v2 è la più recente della serie. Per l'hardware basato su Intel, la macchina virtuale , Standard_HC44rs è un'opzione.

Per testare questa architettura OPM Flow in Azure, l'implementazione di esempio in GitHub installa il caso Norne, un caso open-benchmark di un giacimento petrolifero reale nel Mare di Norvegia. Per eseguire questo test case, è necessario:

  • Usare Azure Key Vault per l'archiviazione di chiavi e segreti, un requisito degli script di installazione di GitHub.

  • Installare le librerie Linear Algebra PACKage (LAPACK) in tutti i nodi di calcolo. Gli script di installazione di GitHub includono questo passaggio.

  • Installare HP Remote Graphics Software (RGS) in qualsiasi computer da usare come destinatario per le visualizzazioni. In questo esempio, un utente si connette alla macchina virtuale di visualizzazione per eseguire ResInsight e visualizzare il caso Norne.

Utilità di pianificazione dei processi

I carichi di lavoro a elevato utilizzo di calcolo traggono vantaggio dal software di orchestrazione HPC in grado di distribuire e gestire l'infrastruttura di calcolo e archiviazione HPC. L'architettura di esempio include due modi per distribuire il calcolo: il framework azurehpc o Azure CycleCloud.

Azure CycleCloud è uno strumento per la creazione, la gestione, l'uso e l'ottimizzazione di cluster HPC e Big Compute in Azure. È possibile usarlo per effettuare il provisioning dinamico dei cluster HPC di Azure e orchestrare dati e processi per flussi di lavoro ibridi e cloud. Azure CycleCloud supporta anche diversi gestori di carichi di lavoro per i carichi di lavoro HPC in Azure, ad esempio Grid Engine, HPC Pack, HTCondor, LSF, PBS Pro, Slurm e Symphony.

Rete

Questo carico di lavoro di esempio distribuisce le macchine virtuali all'interno di subnet diverse. Per una maggiore sicurezza, è possibile definire gruppi di sicurezza di rete per ogni subnet. Ad esempio, è possibile impostare regole di sicurezza che consentono o impediscono il traffico di rete da o verso i vari nodi. Se questo livello di sicurezza non è necessario, non sono necessarie subnet separate per questa implementazione.

Archiviazione

Le esigenze di archiviazione dati e accesso variano notevolmente a seconda della scalabilità del carico di lavoro. Azure supporta diversi approcci per la gestione della velocità e della capacità delle applicazioni HPC. Il repository GitHub azurehpc include script HPC di Azure di esempio.

Gli approcci seguenti sono comuni nell’industria petrolifera e del gas. Scegliere la soluzione più adatta ai requisiti specifici di I/O e capacità.

  • Per carichi di lavoro a scalabilità ridotta come l'esempio corrente, è consigliabile eseguire NFS nel nodo head, usando una macchina virtuale della serie Lsv2 ottimizzata per l'archiviazione con dischi temporanei di grandi dimensioni o macchine virtuali serie D con Archiviazione Premium di Azure, a seconda delle esigenze. Questa soluzione è adatta a carichi di lavoro con 500 core o meno, velocità effettiva fino a 1,5 gigabyte al secondo (GiB/s) e fino a 19 TB di RAM e 100 TB di archiviazione.

  • Carichi di lavoro a elevato utilizzo di lettura da media a larga scalabilità: è consigliabile usare Avere vFXT per Azure (da 6 a 24 nodi). Questa soluzione funziona per carichi di lavoro fino a 50.000 core, velocità effettiva fino a 2 GiB/s per le operazioni di scrittura e fino a 14 GiB/s per le operazioni di lettura, una cache fino a 192 TB e un file server fino a 2 petabyte (PB).

  • Carichi di lavoro a medio livello bilanciati o a elevato utilizzo di scrittura: È consigliabile usare Azure NetApp Files per carichi di lavoro di un massimo di 4.000 core, con una velocità effettiva fino a 6,5 GiB/s, archiviazione fino a 100 TB/volume e dimensioni massime del file di 12 TB.

  • Carichi di lavoro a larga scalabilità: usare un servizio file parallelo orchestrato, come Lustre o BeeGFS. Questo approccio funziona per un massimo di 50.000 core, con velocità di lettura/scrittura fino a 50 GiB/s e 500 TB di archiviazione. Per i cluster ancora più grandi, può essere più conveniente un approccio bare metal. Ad esempio, Cray ClusterStor è una soluzione di archiviazione HPC gestita con la flessibilità necessaria per supportare cluster elastici più grandi in tempo reale.

Distribuire lo scenario

Ottenere un’implementazione di esempio di questa architettura OPM Flow in GitHub.

Passaggi successivi