Dela via


Databehandling med höga prestanda (HPC) i Azure

Introduktion till HPC

Databehandling med höga prestanda (HPC), även kallat "big compute", använder ett stort antal PROCESSOR- eller GPU-baserade datorer för att lösa komplexa matematiska uppgifter.

HPC används inom många branscher för att lösa svåraste problem. Det kan vara arbetsbelastningar som:

  • Genomik
  • Olja- och gassimuleringar
  • Ekonomi
  • Halvledardesign
  • Konstruktion
  • Vädermodellering

Hur är HPC annorlunda i molnet?

En av de främsta skillnaderna mellan ett lokalt HPC-system och ett i molnet är möjligheten för resurser att dynamiskt läggas till och tas bort när de behövs. Med dynamisk skalning är beräkningskapaciteten inte längre en flaskhals, utan kunderna kan storleksanpassa sin infrastruktur efter verksamhetens behov.

I följande artiklar finns mer information om funktionen för dynamisk skalning.

Checklista för implementering

När du vill implementera din HPC-lösning i Azure bör du först läsa igenom följande avsnitt:

Infrastruktur

Det finns många infrastrukturkomponenter som krävs för att skapa ett HPC-system. Beräkning, lagring och nätverk tillhandahåller de underliggande komponenterna, oavsett hur du väljer att hantera dina HPC-arbetsbelastningar.

Exempel på HPC-arkitekturer

Det finns många olika sätt att utforma och implementera din HPC-arkitektur på Azure. HPC-program kan skalas till tusentals databehandlingskärnor, utökas till lokala klister och köras som en 100 %-ig molnlösning.

I följande scenarier beskrivs några vanliga sätt att skapa HPC-lösningar.

  • Diagram visar exempel på HPC-arkitektur för datorstödda tekniska tjänster i Azure.

    Datorstödda tekniska tjänster i Azure

    Tillhandahåll en programvara som en tjänst (SaaS)-plattform för datorstödd teknik (CAE) i Azure.

  • Diagram visar exempel på HPC-arkitektur för 3D-videorendering i Azure.

    3D-videoåtergivning i Azure

    Kör inbyggda HPC-arbetsbelastningar i Azure med hjälp av Azure Batch-tjänsten

Compute

Azure erbjuder flera olika storlekar som är optimerade för både CPU- och GPU-intensiva arbetsbelastningar.

CPU-baserade virtuella datorer

GPU-aktiverade virtuella datorer

Virtuella datorer i N-serien har NVIDIA-grafikprocessorer för beräknings- och grafikintensiva program som artificiell intelligens (AI) och visualisering.

Storage

Storskaliga Batch- och HPC-arbetsbelastningar ställer stora krav på datalagring och åtkomst, som överskrider funktionerna i traditionella molnfilsystem. Det finns många lösningar som hanterar både hastighets- och kapacitetsbehoven för HPC-program i Azure:

Mer information om hur du jämför Lustre, GlusterFS och BeeGFS i Azure finns i e-boken Parallel Files Systems on Azure (Parallella filsystem i Azure ) och Lustre på Azure-bloggen .

Nätverk

Virtuella datorer med H16r, H16mr, A8 och A9-datorer kan ansluta till ett RDMA-nätverk med högt dataflöde i serverdelen. Det här nätverket kan förbättra prestandan för tätt kopplade parallella program som körs under Microsoft Message Passing Interface, mer känt som MPI eller Intel MPI.

Hantering

Gör det själv

Att skapa ett HPC-system från grunden i Azure ger en betydande flexibilitet, men det är ofta mycket underhållsintensivt.

  1. Konfigurera en egen klustermiljö i virtuella Azure-datorer eller VM-skalningsuppsättningar.
  2. Använd Azure Resource Manager-mallar för att distribuera ledande arbetsbelastningshanterare, infrastrukturer och program.
  3. Välj storlekar för virtuella datorer med HPC och GPU som omfattar specialiserad maskinvara och nätverksanslutningar för MPI- eller GPU-arbetsbelastningar.
  4. Lägg till lagring med höga prestanda för I/O-intensiva arbetsbelastningar.

Hybrid och cloud bursting

Om du har ett befintligt lokalt HPC-system som du vill ansluta till Azure finns det flera resurser som hjälper dig att komma igång.

Läs först artikeln om alternativ för att ansluta ett lokalt nätverk till Azure i dokumentationen. Därifrån hittar du ytterligare information om dessa anslutningsalternativ:

När nätverksanslutningen har upprättats på ett säkert sätt kan du börja använda molnberäkningsresurser på begäran med bursting-funktionerna i din befintliga arbetsbelastningshanterare.

Marketplace-lösningar

Det finns många arbetsbelastningshanterare som erbjuds på Azure Marketplace.

Azure Batch

Azure Batch är en plattformstjänst för att köra storskaliga parallella program och HPC-program effektivt i molnet. Azure Batch schemalägger beräkningsintensivt arbete för körning i en hanterad pool med virtuella datorer. Tjänsten kan automatiskt skala beräkningsresurser efter de jobb som körs.

Leverantörer och utvecklare av SaaS kan använda SDK:erna och verktygen i Batch för att integrera HPC-program och containerarbetsbelastningar med Azure, organisera data i Azure och skapa pipelines för jobbkörning.

I Azure Batch körs alla tjänster i molnet, bilden nedan visar hur arkitekturen ser ut med Azure Batch, med konfigurationer för skalbarhet och jobbschema som körs i molnet medan resultaten och rapporterna kan skickas till din lokala miljö.

Diagram visar exempel på HPC-arkitektur för Azure Batch.

Azure CycleCloud

Azure CycleCloud är det enklaste sättet att hantera HPC-arbetsbelastningar med valfri schemaläggare (som Slurm, Grid Engine, HPC Pack, HTCondor, LSF, PBS Pro eller Symphony) på Azure

Med CycleCloud kan du:

  • Distribuera hela kluster och andra resurser, bland annat schemaläggare, virtuella beräkningsdatorer, minne, nätverk och cache
  • Orkestrera arbetsflöden för jobb, data och molnet
  • Ge administratörer full kontroll över vilka användare som kan köra jobb, var de kan köra dem och till vilken kostnad
  • Anpassa och optimera kluster med avancerade funktioner för policy och efterlevnad, bland annat kostnadskontroller, Active Directory-integration, övervakning och rapportering
  • Använda din befintliga jobbschemaläggare och dina program utan modifiering
  • Dra nytta av inbyggd autoskalning och stridstestad referensarkitektur för många olika HPC-arbetsflöden och -branscher
Hybrid-/molnsprängningsmodell

I det här Hybrid-exempeldiagrammet kan vi tydligt se hur dessa tjänster distribueras mellan molnet och den lokala miljön. Har möjlighet att köra jobb i båda arbetsbelastningarna. Diagram visar exempel på HPC-arkitektur för CycleCloud på Azure i en hybrid.

Molnbaserad modell

Exempeldiagrammet för den molnbaserade modellen nedan visar hur arbetsbelastningen i molnet hanterar allt samtidigt som anslutningen till den lokala miljön bevaras.

Diagram visar exempel på HPC-arkitektur för CycleCloud på Azure i molnbaserad modell .

Jämförelsediagram

Funktion Azure Batch Azure CycleCloud
Schemaläggare Batch-API:er och verktyg och kommandoradsskript i Azure Portal (molnbaserat). Använd HPC-standardschemaläggare som Slurm, PBS Pro, LSF, Grid Engine och HTCondor, eller utöka Plugin-programmet CycleCloud autoskalning för att arbeta med din egen schemaläggare.
Beräkningsresurser Programvara som en tjänstnod – Plattform som en tjänst Plattform som en tjänstprogramvara – Plattform som en tjänst
Övervaka verktyg Azure Monitor Azure Monitor, Grafana
Anpassning Anpassade avbildningspooler, tredjepartsbilder, Batch API-åtkomst. Använd det omfattande RESTful-API:et för att anpassa och utöka funktioner, distribuera din egen schemaläggare och stöd till befintliga arbetsbelastningshanterare
Integrering Synapse Pipelines, Azure Data Factory, Azure CLI Inbyggd CLI för Windows och Linux
Användartyp Utvecklare Klassiska HPC-administratörer och -användare
Arbetstyp Batch, arbetsflöden Nära kopplat (meddelandeöverföringsgränssnitt/MPI).
Windows-stöd Ja Varierar beroende på val av schemaläggare

Arbetsbelastningshanterare

Här följer några exempel på kluster och arbetsbelastningshanterare som kan köras i Azure-infrastrukturen. Skapa fristående kluster i virtuella Azure-datorer eller använd burst från virtuella Azure-datorer från ett lokalt kluster.

Containers

Containrar kan också användas för att hantera vissa HPC-arbetsbelastningar. Med tjänster som Azure Kubernetes Service (AKS) blir det enkelt att distribuera ett hanterat Kubernetes-kluster i Azure.

Kostnadshantering

Du kan hantera dina HPC-kostnader i Azure på olika sätt. Gå igenom inköpsalternativen för Azure för att hitta den metod som passar bäst för din organisation.

Säkerhet

En översikt över säkerhetsmetoder i Azure finns i dokumentationen om Azure Security.

Förutom de nätverkskonfigurationer som är tillgängliga i avsnittet Cloud Bursting kan du implementera en hubb-/ekerkonfiguration för att isolera dina beräkningsresurser:

HPC-program

Köra anpassade eller kommersiella HPC-program i Azure. Flera av exemplen in det här avsnittet är testade för effektiv skalning med fler virtuella datorer eller beräkningskärnor. Distributionsfärdiga lösningar finns på Azure Marketplace.

Kommentar

Fråga leverantören av kommersiella program om licensiering krävs eller om det finns andra begränsningar för körning i molnet. Alla leverantörer erbjuder inte licensiering enligt modellen Betala per användning. Du kan behöva ha en licensserver i molnet för din lösning eller ansluta till en lokal licensserver.

Skapa program

Grafik och återgivning

AI och djupinlärning

MPI-leverantörer

Fjärrvisualisering

Kör GPU-baserade virtuella datorer i Azure i samma region som HPC-utdata för lägsta svarstid, åtkomst och för att visualisera via Azure Virtual Desktop.

Mått

Kundcase

Det finns många kunder som har haft stora framgångar med hjälp av Azure för sina HPC-arbetsbelastningar. Några av kundfallstudierna finns här:

Annan viktig information

  • Se till att du har ökat din vCPU-kvot innan du försöker köra storskaliga arbetsbelastningar.

Nästa steg

De senaste meddelandena finns i följande resurser:

Microsoft Batch-exempel

I de här självstudierna får du information om hur du kör program på Microsoft Batch: