Redigera

Dela via


Köra programvara för reservoarsimulering på Azure

Azure CycleCloud
Azure Key Vault
Azure Virtual Machines

Reservoarsimulering 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 reservoarsimulering i en Infrastruktur för databehandling med höga prestanda i Azure (HPC). 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 beräkningsdatorerna distribueras som en VM-skalningsuppsättning, en grupp med identiska virtuella datorer som skalar 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:

Information om scenario

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 initiativet Open Porous Media (OPM). 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 in- och utdatafilerna.

Potentiella användningsfall

  • Utför 3D-reservoarmodellering och visualisering av seismiska data.

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

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

Att tänka på

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äkningsvätskedynamik (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 i Azure installerar GitHub-exempelimplementeringen Norne-fallet, ett öppet benchmark-fall för ett riktigt 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-fallet.

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 har också stöd för flera arbetsbelastningshanterare för dina HPC-arbetsbelastningar i Azure, till exempel Grid Engine, HPC Pack, HTCondor, LSF, PBS Pro, Slurm och Symphony.

Nätverk

I det här exemplet distribuerar arbetsbelastningen 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å arbetsbelastningsskala. 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 på upp till 50 000 kärnor, 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å ett exempel på implementering av den här OPM Flow-arkitekturen på GitHub.

Nästa steg