Dela via


Lagring för Azure HPC-arbetsbelastningar

Lagringsåtkomst är en viktig faktor att tänka på när du planerar för prestanda för HPC-arbetsbelastningsprestanda (databehandling med höga prestanda). Storskaliga HPC-arbetsbelastningar i specifika miljöer kan skapa krav på datalagring och åtkomst som överskrider funktionerna i traditionella molnfilsystem. Den här artikeln innehåller rekommendationer som hjälper dig att välja rätt lagring för dina Azure HPC-arbetsbelastningar.

Tänk på följande faktorer som är relaterade till programmets krav för att avgöra vilken lagringslösning som ska användas:

  • Fördröjning
  • Indata-/utdataåtgärder per sekund (IOPS)
  • Genomströmning
  • Filstorlekar och antal filer
  • Jobbkörning
  • Kostnad
  • Lagringsplats (lokalt jämfört med Azure)

Mer information finns i Förstå faktorer som påverkar valet av HPC-lagring i Azure.

Följande diagram visar ett beslutsträd som är till för ett specifikt val av HPC-lagringssystem.

diagram som visar ett beslutsträd med överväganden när du väljer en lagringslösning.

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

HPC-överväganden

  • datalagrings- och åtkomstbehov varierar mycket beroende på arbetsbelastningsskala.

  • Kraven på indata/utdata med höga prestanda (I/O) och enorma skalbarhetsbehov för HPC- medför unika utmaningar för datalagring och åtkomst.

  • HPC använder parallell bearbetning och massiv skalbarhet för att snabbt och tillförlitligt utföra stora och komplicerade databehandlingsuppgifter som inte är praktiska eller kostnadseffektiva att hantera med hjälp av traditionella databehandlingstekniker.

Beräkningsnoddistribution i HPC-kluster

I Azure HPC-kluster kan du skapa beräkningsnoder som virtuella datorer för att utföra jobb som har tilldelats till ett kluster. För att uppnå den högpresterande parallella bearbetning som krävs för att lösa komplexa HPC-problem distribuerar beräkningsnoderna dessa jobb i klustret.

När du kör jobb måste beräkningsnoder utföra läs- och skrivåtgärder på en delad datakälla. Noder får åtkomst till den här datakällan i en rad scenarier som ligger mellan de två följande extremvärdena.

  • En datakälla till många beräkningsnoder: I det här scenariot finns det en enda datakälla i nätverket som alla beräkningsnoder har åtkomst till för arbetsdata. Även om beräkningsnoderna är strukturellt enkla begränsar I/O-kapaciteten för lagringsplatsen I/O-åtgärderna.

  • Många datakällor till många beräkningsnoder: I det här scenariot finns det många datakällor i nätverket som alla beräkningsnoder har åtkomst till för arbetsdata. Trots den strukturella enkelheten hos beräkningsnoderna begränsar I/O-kapaciteten för lagringsplatsen I/O-åtgärderna.

Fördelning av arbetsbelastningstrafik

Överväg vilka typer av trafik som HPC-miljön genererar och processer. Det här steget är särskilt viktigt om du planerar att köra flera typer av arbetsbelastningar och planerar att använda lagringen för andra ändamål. Överväg och registrera följande trafiktyper:

  • Enkel ström jämfört med flera strömmar
  • Förhållandet mellan lästrafik och skrivtrafik
  • Genomsnittlig filstorlek och filantal
  • Mönster för slumpmässig åtkomst jämfört med sekventiella åtkomstmönster

Datalokalitet

Den här kategorin tar hänsyn till platsen för data. Lokalitetsmedvetenhet hjälper dig att avgöra om du kan använda kopiering, cachelagring eller synkronisering som din strategi för dataflytt. Kontrollera följande lokala objekt i förväg:

  • Om källdata finns lokalt, i Azure eller både och
  • Om resultatdata är lokala, i Azure eller både och
  • Om HPC-arbetsbelastningar i Azure behöver samordnas med tidslinjer för ändring av källdata
  • Om känsliga uppgifter eller data som omfattas av Health Insurance Portability and Accountability Act (HIPAA) ingår

Prestandakrav

Prestandakraven för lagringslösningar sammanfattas vanligtvis som:

  • Enkelt strömgenomflöde.
  • Genomströmning med flera strömmar.
  • Förväntad maximal IOPS.
  • Genomsnittlig svarstid.

Varje faktor påverkar prestanda, så dessa tal fungerar som en guide för de förväntade resultaten av en specifik lösning. En HPC-arbetsbelastning kan till exempel innehålla omfattande skapande och borttagning av filer som en del av arbetsflödet. Dessa åtgärder kan påverka det totala dataflödet.

Åtkomstmetoder

Överväg det protokoll för klientåtkomst som du behöver och ange de funktioner som krävs. Det finns olika versioner av NFS (Network File System) och SMB (Server Message Block).

Tänk på följande krav:

  • Om NFS- eller SMB-versioner krävs
  • De protokollfunktioner som du behöver, till exempel åtkomstkontrollistor eller kryptering
  • Om en parallell filsystemlösning krävs

Totalt kapacitetskrav

Lagringskapaciteten i Azure påverkar den totala kostnaden för lösningen. Om du planerar att lagra en stor mängd data under en lång tid kanske du vill överväga nivåindelning som en del av lagringslösningen. Nivåindelning kombinerar lagringsalternativ med lägre kostnad med lagring med högre kostnad och högre prestanda på en het nivå. Överväg följande kapacitetskrav:

  • Total kapacitet krävs
  • Total kapacitet på frekvent nivå som krävs
  • Total kapacitet på varm nivå som krävs
  • Total kapacitet på kall nivå som krävs

Autentiserings- och auktoriseringsmetod

För autentiserings- och auktoriseringskrav, till exempel användning av en LDAP-server (Lightweight Directory Access Protocol) eller Windows Server Active Directory, ser du till att inkludera nödvändiga stödsystem i arkitekturen. Om du behöver stöd för funktioner som användar-ID (UID) eller grupp-ID-mappning (GID) till Windows Server Active Directory-användare kontrollerar du att lagringslösningen stöder den funktionen.

Överväg följande nätverkskrav:

  • Lokala krav (endast UID eller GID på filservern)
  • Katalogkrav (LDAP eller Windows Server Active Directory)
  • Om UID- eller GID-mappning till Windows Server Active Directory-användare behövs

Designrekommendationer för HPC

Välj den lösning som passar bäst för både dina unika I/O- och kapacitetskrav.

  • Överväg att använda Standard eller Premium Azure Blob Storageför lagring med hög dataflöde och låg latens. Standard- eller Premium Blob Storage ger följande fördelar:

    • Ger exabyteskala, högt dataflöde, åtkomst med låg svarstid, ett välbekant filsystem och åtkomst med flera protokoll, inklusive REST, HDFS och NFS.

    • Optimerar kostnaderna genom att hantera petabyte (PB) med data och använda livscykelhanteringsfunktioner som effektiviserar dataarkivering och borttagning. Den här metoden minskar lagringskostnaderna över tid.

    • Stöder möjligheten att montera Blob Storage som ett filsystem med hjälp av BlobFuse. Den här metoden gör det enklare för flera noder att montera samma container för skrivskyddade scenarier.

    • Stöder NFS 3.0 på blobtjänstslutpunkten för hög genomströmning och läsintensiva arbetsuppgifter.

    • Stödjer kostnadsoptimering genom att låta dig flytta data till billigare lagringsnivåer. Den här optimeringen är möjlig genom livscykelhantering som baseras på den senaste uppdateringen eller åtkomsttiden och intelligent nivåindelning med anpassningsbara principer.

  • För ReadWriteMany eller skriv-en-gång, läs-en-gång applikationer kandu överväga att använda Azure NetApp Files. Azure NetApp Files ger följande fördelar:

    • En mängd olika filprotokoll, till exempel NFSv3, NFSv4.1 och SMB3

    • Prestanda som är jämförbar med lokala prestanda och har flera nivåer (Ultra, Premium, Standard)

    • Distribueras på några minuter och ger ett brett utbud av nivåer och flexibilitet

    • Typer och prestanda för flexibel kapacitetspool, där tjänstens kvalitet per volym tilldelas automatiskt baserat på poolens nivå och volymkvoten

NFS

NFS används ofta för att ge åtkomst till delade lagringsplatser via Transmission Control Protocol eller Internet Protocol-nätverk. En virtuell serverdator som använder NFS delar sitt lokala filsystem. I Azure lagras det här filsystemet på en eller flera virtuella hårddiskar som finns i Azure Storage. Klienter kan sedan montera serverns delade filer och komma åt den delade platsen direkt.

NFS används ofta för hemkataloger och projektutrymmen som kräver åtkomst över alla noder. Det kan ge ett utrymme för forskningsgrupper som delar data. I allmänhet är dataflödesarbetsbelastningarna horisontellt skalbara och har lite beroende mellan enskilda uppgifter. Jobbschemaläggare delar upp arbetet mellan noder och samordnar aktiviteten.

NFS är enkelt att konfigurera och underhålla och stöds på både Linux- och Windows-operativsystem. Du kan använda flera NFS-servrar för att sprida lagring över ett nätverk, men enskilda filer är bara tillgängliga via en enda server.

För lågskaliga arbetsbelastningar bör du överväga att köra NFS på huvudnoden med hjälp av en lagringsoptimerad virtuell dator som har stora tillfälliga diskar eller virtuella datorer i D-serien med Azure Premium Storage, beroende på dina behov. Den här lösningen passar arbetsbelastningar som har 500 kärnor eller färre.

I HPC-scenarier kan filservern ofta fungera som en flaskhals som begränsar övergripande prestanda. Försök att komma åt icke-cachade data från en enskild NFS-server med hastigheter högre än den dokumenterade maximala IOPS och genomströmning per virtuell dator resulterar i strypning.

I ett scenario där flera klienter försöker arbeta med data som lagras på en enda NFS-server kan du snabbt nå prestandagränserna. Dessa gränser kan göra att hela programmets prestanda blir lidande. Ju mer ditt HPC-program liknar ett rent en-till-många-scenario, desto tidigare stöter du på dessa begränsningar.

Parallella filsystem i Azure

Parallella filsystem distribuerar lagring på blocknivå över flera nätverksbaserade lagringsnoder. Fildata sprids mellan dessa noder, vilket innebär att data sprids mellan flera lagringsenheter. Den här distributionen poolar alla enskilda lagrings-I/O-begäranden över flera lagringsnoder som är tillgängliga via ett gemensamt namnområde.

Flera lagringsenheter och flera sökvägar till data används för att ge en hög grad av parallellitet. Den här metoden minskar antalet flaskhalsar som åläggs genom att endast komma åt en enskild nod i taget. Parallell I/O kan dock vara svårt att samordna och optimera om du arbetar direkt på API- eller POSIX-I/O-gränssnittet. Parallella filsystem ger programutvecklare ett gränssnitt på hög nivå mellan programskiktet och I/O-lagret via mellanliggande dataåtkomst- och samordningslager.

Nära kopplade arbetsbelastningar som använder MPI (Message Passing Interface) kan ha unika krav för kommunikation med låg svarstid mellan noder. Noderna ansluter via höghastighetsanslutning och är inte lätt att anpassa för delning med andra arbetsbelastningar. MPI-applikationer använder hela de högpresterande sammanlänkningarna via passthrough-läge i virtualiserade miljöer. Lagring för MPI-noder är vanligtvis ett parallellt filsystem som Lustre som också nås via höghastighetsanslutningen.

Parallella filsystem som Lustre används för HPC-arbetsbelastningar som kräver åtkomst till stora filer, samtidig åtkomst från flera beräkningsnoder och enorma mängder data. Implementeringen av parallella filsystem gör det enkelt att skala när det gäller kapacitet och prestanda. Dessa filsystem drar nytta av direktåtkomstöverföringar med fjärrminne som har stor bandbredd och minskad CPU-användning. Det parallella filsystemet används ofta som reputrymme och är avsett för arbete som kräver optimerad I/O.

Rulla ditt eget parallella filsystem

På samma sätt som med NFS kan du skapa ett BeeGFS- eller Lustre-filsystem med flera noder. Prestandan för dessa system beror främst på vilken typ av virtuella datorer du väljer. Du kan använda avbildningar som finns i Azure Marketplace för BeeGFS eller en Lustre-implementering av DataDirect Networks med namnet Whamcloud. Om du använder icke-Microsoft-avbildningar från leverantörer som BeeGFS eller DataDirect Networks kan du köpa deras supporttjänster. Du kan använda BeeGFS och Lustre under deras allmänna licenslicenser utan extra avgifter, förutom kostnaderna för datorer och diskar. Dessa verktyg är enkla att distribuera med hjälp av Azure HPC-skript med antingen tillfälliga lokala diskar för scratch eller Azure Premium SSD eller Azure Ultra Disk Storage för beständig lagring.

HPC-komponenter

  • Azure NetApp Files och lokala diskar används vanligtvis för att hantera svarstidskänsliga och IOPS-känsliga arbetsbelastningar. Ö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 12,8 gibibyte per sekund (GiBps) och arbetsbelastningar som drar nytta av eller kräver NFS med flera protokoll och SMB-åtkomst till samma datakälla.

  • Azure Managed Lustre ger snabbare och högre kapacitetslagring för HPC-arbetsbelastningar. Den här lösningen fungerar för medelstora till stora arbetsbelastningar och har stöd för 50 000 eller fler kärnor, med dataflöde på upp till 500 gigabit per sekund (Gbit/s) och lagringskapacitet på upp till 2,5 pebibyte (PiB).

  • Standard- eller Premium Blob Storage är kostnadseffektivt eftersom det ger den lägsta molnlösningen. Den här tjänsten ger åtkomst med exabyteskala, högt dataflöde, låg latens vid behov och ett välbekant filsystemgränssnitt. Den stöder även åtkomst med flera protokoll, som omfattar REST, HDFS och NFS. Du kan använda NFS v3.0 vid blobtjänstens slutpunkt för hög dataflöde och läsintensiva arbetsbelastningar. Du kan optimera kostnaderna genom att flytta till kallare lagringsnivåer. Den här metoden möjliggör intelligent nivåindelning med anpassningsbara principer och livscykelhantering baserat på den senaste uppdateringen eller åtkomsttiden.

  • Dataöverföringar mellan lokala system och molnet kan krävas för att uppnå bästa möjliga prestanda för den arbetsbelastning som körs mot beräkningsinstanserna i molnet. Offlinemigrering använder enhetsbaserade tjänster som Azure Data Box. Onlinemigrering använder nätverksbaserade tjänster som Azure ExpressRoute.

Följande tabell innehåller en jämförelse av Blob Storage, Azure Files, Managed Lustre och Azure NetApp Files.

Kategori Blob Storage Azure Files Hanterad lyster Azure NetApp Files
Användningsfall – Passar bäst för storskaliga, läsintensiva sekventiella åtkomstarbetsbelastningar där data matas in en gång och ändras minimalt.

– Ger låg total ägandekostnad med lätt underhåll.

- Exempelscenarier är storskaliga analytiska data, dataflödeskänslig databehandling med höga prestanda, säkerhetskopiering och arkivering av data, autonom körning, medierendering och genomisk sekvensering.
– En tjänst med hög tillgänglighet som passar bäst för arbetsbelastningar med slumpmässig åtkomst.

– Ger fullständigt stöd för POSIX-filsystem för NFS-delningar. Den inbyggda CSI-drivrutinen gör det enkelt att använda från VM-baserade plattformar och containerplattformar som Azure Container Instances och Azure Kubernetes Service (AKS).

– Exempelscenarier är delade filer, databaser, hemkataloger, traditionella program, planering av företagsresurser, innehållshanteringssystem och nätverksanslutna lagringsmigreringar (NAS) som inte kräver avancerad hantering. Den innehåller även anpassade program som kräver skalbar fillagring.
– Ett fullständigt hanterat parallellt filsystem som passar bäst för medelstora till stora HPC-arbetsbelastningar.

– Aktiverar HPC-program i molnet utan att bryta programkompatibiliteten genom att tillhandahålla välbekanta funktioner, beteenden och prestanda för Lustre-parallella filsystem. Den här tjänsten hjälper till att skydda långsiktiga programinvesteringar.
– En fullständigt hanterad filtjänst i molnet som drivs av NetApp och som har avancerade hanteringsfunktioner.

– Utformad för arbetsbelastningar som kräver slumpmässig åtkomst. Det ger brett protokollstöd och förbättrat dataskydd.

– Exempelscenarier är lokal NAS-migrering för företag som kräver omfattande hanteringsfunktioner, svarstidskänsliga arbetsbelastningar som SAP HANA, svarstidskänslig eller IOPS-intensiv beräkning med höga prestanda eller arbetsbelastningar som kräver samtidig åtkomst med flera protokoll.
Tillgängliga protokoll – NFS 3.0

- REST

– Azure Data Lake Storage
- SMB

- NFS 4.1

- (Ingen samverkan mellan något av protokollen)
-Glans – NFS 3.0 och 4.1

- SMB (Små och medelstora företag)
Viktiga funktioner – Integrerad hantering, inklusive livscykelhantering, oföränderliga blobar, redundans och metadataindex. – Stöd för zonredundans för hög tillgänglighet.

– Konsekvent svarstid på ensiffrigt millisekunder.

– Förutsägbar prestanda och kostnad som skalas med kapacitet.
– Hög lagringskapacitet på upp till 2,5 PB.

- Kort svarstid, cirka 2 millisekunder.

– Skapa nya kluster på några minuter.

– Stöder containerbaserade arbetsbelastningar med hjälp av AKS.
- Extremt låg svarstid, så låg som en undermillisekunder.

– Rich NetApp ONTAP-hanteringsfunktioner, till exempel SnapMirror Cloud.

– Konsekvent hybridmolnupplevelse.
Prestanda (per volym) - Så mycket som 40 000 IOPS.

- Så mycket som 60 Gbit/s inkommande dataflöde och 200 Gbit/s-utgående.
- Så mycket som 100 000 IOPS.

- Så mycket som 80 GiBps dataflöde.
- Så mycket som 100 000 IOPS.

- Så mycket som 500 GiBps dataflöde.
- Så mycket som 460 000 IOPS.

- Upp till 12,8 GiBps genomströmning.
Skala - Så mycket som 5 PiB för en enda volym.

– Så mycket som ungefär 4,75 tebibyte (TiB) för en enda fil.

- Inga minimikrav på kapacitet.
- Så mycket som 100 TiB för en enda volym.

- Så mycket som 4 TiB för en enda fil.

- Minst 100 GiB kapacitet.
- Så mycket som 2,5 PiB för en enda volym.

- Managed Lustre File System överensstämmer med Lustre filgräns specifikationer och stöder en maximal filstorlek på upp till 32 PB.

- Minst 4 TiB kapacitet.
- Så mycket som 1 024 TiB för en enda volym.

- Så mycket som 16 TiB för en enda fil.

– Konsekvent hybridmolnupplevelse.
Prissättning prissättning för Blob Storage - - Prissättning för Azure Files prissättning för - Managed Lustre - Prissättning för Azure NetApp Files

Nästa steg

Följande artiklar innehåller vägledning som hjälper dig vid olika tidpunkter under molnimplementeringsresan.