Köra programvara för simulering av reservoarer i Azure

Azure CycleCloud
Azure Key Vault
Azure Virtual Machines

Simulering av reservoarer använder dataintensiva datormodeller för att förutsäga komplexa flöden av vätskor som olja, vatten och gas under jordens yta. I det här exemplet konfigureras programvara för simulering av reservoarer i en infrastruktur för databehandling med höga prestanda i Azure. Azure gör det möjligt att köra den här typen av arbetsbelastning med maximal prestanda, skalbarhet och kostnadseffektivitet.

Arkitektur

Diagram som visar arkitekturen för reservoarsimulering.

Ladda ned en Visio-fil med den här arkitekturen.

Arbetsflöde

Det här diagrammet ger en översikt på hög nivå över arkitekturen som används i exemplet. Arbetsflödet är följande:

  1. Användare loggar in på huvudnoden via SSH för att förbereda sina modeller för beräkningsresurserna.

  2. PBS Pro 19.1 körs på huvudnoden och schemalägger jobben på beräkningsnoderna.

  3. OPM Flow körs på beräkningsnoderna. De virtuella datorerna för beräkning distribueras som en VM-skalningsuppsättning, en grupp med identiska virtuella datorer som skalas för att uppfylla kraven för beräkningsuppgifterna.

  4. OPM Flow skickar beräknade resultat till en filresurs på huvudnoden. En Premium-disk är ansluten till huvudnoden och konfigureras som en NFS-server för beräkningsnoderna och den virtuella visualiseringsdatorn.

  5. OPM ResInsight som körs på en virtuell Standard-NV6 Windows-dator visar 3D-visualiseringar av resultat. Användare kan komma åt den virtuella visualiseringsdatorn via RDP.

Komponenter

Viktiga tekniker som används för att implementera den här arkitekturen:

Scenarioinformation

Arkitekturen i det här exemplet stöder OPM Flow, ett populärt simuleringspaket för olje- och gasreservoarer med öppen källkod från OPM-initiativet (Open Porous Media). OPM Flow-programvaran körs på virtuella Azure HPC-datorer (VM) som ger prestanda nära eller bättre än nuvarande lokala infrastrukturer.

Användare ansluter till en virtuell Linux-huvudnod för att skicka modeller till HPC-resurserna via PBS Pro 19.1-jobbschemaläggningsprogram. HPC-resurserna kör OPM Flow och skickar beräknade resultat till en filresurs. I det här exemplet är filresursen ett NFS-utrymme (4 terabyte) på huvudnodens virtuella dator. Beroende på din modell och dina krav på indata och utdata (I/O) kan du använda andra lagringsalternativ .

En virtuell Microsoft Azure-dator som kör OPM ResInsight, ett visualiseringsverktyg med öppen källkod, kommer åt filresursen för att modellera och visualisera de beräknade resultaten. Användare kan ansluta till den virtuella datorn via RDP (Remote Desktop Protocol) för att visa visualiseringarna.

Om du använder en virtuell Azure-dator sparas kostnaden för en avancerad visualiseringsarbetsstation. OPM-programmen drar nytta av HPC-maskinvara och en delad lagringsplats för indata- och utdatafilerna.

Potentiella användningsfall

  • Modellera och visualisera seismiska data med 3D-reservoarer.

  • Testa INTERSECT, en högupplöst reservoarsimulator från Schlumberger. Du kan se ett exempel på INTERSECT-implementering på GitHub.

  • Testa Nexus genom att Landmark-Halliburton med en liknande konfiguration i Azure.

Överväganden

Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.

I det här exemplet används HB-serien med högpresterande virtuella datorer. HB-serien är optimerad för program som drivs av minnesbandbredd, till exempel beräkningsströmningsdynamik (CFD), och den Standard_HB120rs_v2 virtuella datorn är den senaste i serien. För Intel-baserad maskinvara är den Standard_HC44rs virtuella datorn ett alternativ.

För att testa den här OPM Flow-arkitekturen på Azure installerar GitHub-exempelimplementeringen Norne-fallet, ett öppet benchmark-fall för ett verkligt norskt havsoljefält. Om du vill köra det här testfallet måste du:

  • Använd Azure Key Vault för att lagra nycklar och hemligheter, ett krav för GitHub-konfigurationsskripten.

  • Installera LAPACK-biblioteken (Linear Algebra PACKage) på alla beräkningsnoder. GitHub-installationsskripten innehåller det här steget.

  • Installera HP Remote Graphics Software (RGS) på alla datorer som du vill använda som mottagare för visualiseringarna. I det här exemplet ansluter en användare till den virtuella visualiseringsdatorn för att köra ResInsight och visa Norne-ärendet.

Jobbschemaläggare

Beräkningsintensiva arbetsbelastningar drar nytta av HPC-orkestreringsprogram som kan distribuera och hantera HPC-beräknings- och lagringsinfrastrukturen. Exempelarkitekturen innehåller två sätt att distribuera beräkning: azurehpc-ramverket eller Azure CycleCloud.

Azure CycleCloud är ett verktyg för att skapa, hantera, använda och optimera HPC- och stora beräkningskluster i Azure. Du kan använda den för att dynamiskt etablera Azure HPC-kluster och samordna data och jobb för hybrid- och molnarbetsflöden. Azure CycleCloud stöder också flera arbetsbelastningshanterare för dina HPC-arbetsbelastningar i Azure, till exempel Grid Engine, HPC Pack, HTCondor, LSF, PBS Pro, Slurm och Symphony.

Nätverk

Den här exempelarbetsbelastningen distribuerar de virtuella datorerna i olika undernät. För ytterligare säkerhet kan du definiera nätverkssäkerhetsgrupper för varje undernät. Du kan till exempel ange säkerhetsregler som tillåter eller nekar nätverkstrafik till eller från de olika noderna. Om du inte behöver den här säkerhetsnivån behöver du inte separata undernät för den här implementeringen.

Storage

Datalagrings- och åtkomstbehoven varierar kraftigt beroende på arbetsbelastningsskalan. Azure har stöd för flera metoder för att hantera hastighet och kapacitet för HPC-program. Azurehpc GitHub-lagringsplatsen innehåller exempel på Azure HPC-skript.

Följande metoder är vanliga inom olje- och gasindustrin. Välj den lösning som passar bäst för dina unika I/O- och kapacitetskrav.

  • För lågskaliga arbetsbelastningar som det aktuella exemplet bör du överväga att köra NFS på huvudnoden med hjälp av en lagringsoptimerad virtuell dator i Lsv2-serien med stora tillfälliga diskar eller virtuella datorer i D-serien med Azure Premium Storage, beroende på dina krav. Den här lösningen passar arbetsbelastningar med 500 kärnor eller färre, ett dataflöde på upp till 1,5 gigabyte per sekund (GiB/s) och upp till 19 TB RAM-minne och 100 TB lagringsutrymme.

  • Medelstora till storskaliga läsintensiva arbetsbelastningar: Överväg att använda Avere vFXT för Azure (6 till 24 noder). Den här lösningen fungerar för arbetsbelastningar med upp till 50 000 kärnor, ett dataflöde på upp till 2 GiB/s för skrivningar och upp till 14 GiB/s för läsningar, en cache på upp till 192 TB och en filserver på upp till 2 petabyte (PB).

  • Balanserade eller skrivintensiva arbetsbelastningar i medelskala: Överväg att använda Azure NetApp Files för arbetsbelastningar på upp till 4 000 kärnor, med ett dataflöde på upp till 6,5 GiB/s, lagring upp till 100 TB/volym och en maximerad filstorlek på 12 TB.

  • Storskaliga arbetsbelastningar: Använd en samordnad parallell filtjänst, till exempel Lustre eller BeeGFS. Den här metoden fungerar för upp till 50 000 kärnor, med läs-/skrivfrekvenser på upp till 50 GiB/s och 500 TB lagringsutrymme. För ännu större kluster kan en bare metal-metod vara mer kostnadseffektiv. Cray ClusterStor är till exempel en hanterad HPC-lagringslösning med flexibiliteten att stödja större elastiska kluster i farten.

Distribuera det här scenariot

Få en exempelimplementering av den här OPM Flow-arkitekturen på GitHub.

Nästa steg