HPC (High Performance Computing) in Azure

Kennismaking met HPC

HpC (High Performance Computing), ook wel big compute genoemd, gebruikt een groot aantal CPU- of GPU-computers om complexe wiskundige taken op te lossen.

HPC wordt in veel bedrijfstakken gebruikt voor het oplossen van de moeilijkste problemen. Deze omvatten workloads zoals:

  • Genomica
  • Olie- en gassimulaties
  • Financiën
  • Ontwerp van halfgeleiders
  • Engineering
  • Weermodellen

Hoe is HPC anders in de cloud?

Een van de belangrijkste verschillen tussen een on-premises HPC-systeem en een in de cloud is de mogelijkheid om resources dynamisch toe te voegen en te verwijderen wanneer ze nodig zijn. Dankzij dynamische schaling wordt rekencapaciteit als een knelpunt verwijderd en kunnen klanten hun infrastructuur op de juiste grootte schalen die overeenkomt met de behoeften van hun werkzaamheden.

In de volgende artikelen vindt u meer informatie over deze mogelijkheid tot dynamische schaling.

Controlelijst voor implementatie

Zorg ervoor dat u de volgende onderwerpen hebt doorgenomen wanneer u uw eigen HPC-oplossing wilt gaan implementeren in Azure:

  • De juiste architectuur kiezen op basis van uw vereisten
  • Weten welke compute-optie geschikt is voor uw workload
  • De juiste opslagoplossing vinden die overeenkomt met uw behoeften
  • Bepalen hoe u al uw resources gaat beheren
  • Uw toepassing optimaliseren voor de cloud
  • Uw infrastructuur beveiligen

Infrastructuur

Er zijn veel infrastructuuronderdelen die nodig zijn om een HPC-systeem te bouwen. Compute, opslag en netwerken bieden de onderliggende onderdelen, ongeacht hoe u ervoor kiest om uw HPC-workloads te beheren.

Voorbeeld van HPC-architecturen

Er zijn veel verschillende manieren om uw HPC-architectuur in Azure te ontwerpen en te implementeren. HPC-toepassingen kunnen worden geschaald naar duizenden rekenkernen, worden uitgebreid naar on-premises clusters of als een oplossing voor 100% in de cloud worden uitgevoerd.

De volgende scenario's bevatten een aantal van de gebruikelijke manieren waarop HPC-oplossingen worden gebouwd.

  • Diagram toont een voorbeeld van HPC-architectuur voor computer-aided engineering-services in Azure.

    Computer-aided engineering-service in Azure

    Bied een software-as-a-service (SaaS)-platform voor computer-aided engineering (CAE) op Azure.

  • Diagram toont een voorbeeld van HPC-architectuur voor berekeningssimulaties voor vloeistofdynamica in Azure.

    Vloeistofdynamicasimulaties (computational fluid dynamics, CFD) op Azure

    Voer vloeistofdynamicasimulaties (computational fluid dynamics, CFD) uit in Azure.

  • Diagram toont een voorbeeld van HPC-architectuur voor 3D-videorendering in Azure.

    3D-videorendering op Azure

    Voer systeemeigen HPC-workloads uit in Azure met behulp van de Azure Batch-service

Compute

Azure biedt een scala aan grootten die zijn geoptimaliseerd voor zowel CPU- als GPU-intensieve workloads.

Virtuele machines op basis van CPU

Virtuele machines met GPU

Virtuele machines uit de N-serie zijn voorzien van NVIDIA GPU's die zijn ontworpen voor rekenintensieve of grafisch-intensieve toepassingen, met inbegrip van AI-learning en -visualisatie (kunstmatige intelligentie).

Storage

Grootschalige Batch- en HPC-workloads hebben vereisten voor gegevensopslag en toegang die hoger zijn dan de mogelijkheden van traditionele cloud-bestandssystemen. Er zijn veel oplossingen die de snelheid en capaciteitsbehoeften van HPC-toepassingen in Azure beheren:

Voor meer informatie over het vergelijken van Lustre, GlusterFS en BeeGFS in Azure, raadpleegt u het Parallel Files Systems on Azure-e-book en de Lustre op Azure-blog .

Netwerken

H16r-, H16mr A8- en A9-VM's kunnen verbinding maken met back-end RDMA-netwerk met een hoge doorvoer. Dit netwerk kan de prestaties verbeteren van nauw gekoppelde parallelle toepassingen die worden uitgevoerd onder Microsoft Message Passing Interface, beter bekend als MPI of Intel MPI.

Beheer

Doe-het-zelf

Het bouwen van een volledig nieuw HPC-systeem in Azure biedt een aanzienlijke mate van flexibiliteit, maar het is vaak erg onderhoudsintensief.

  1. Stel uw eigen clusteromgeving in in virtuele Azure-machines of virtuele-machineschaalsets.
  2. Gebruik Azure Resource Manager-sjablonen om toonaangevende workloadmanagers, infrastructuur en toepassingen te implementeren.
  3. Kies HPC- en GPU-VM-grootten die gespecialiseerde hardware- en netwerkverbindingen voor MPI- of GPU-workloads bevatten.
  4. Krachtige opslag toevoegen voor I/O-intensieve workloads.

Hybride en cloudbursting

Als u een bestaand on-premises HPC-systeem hebt dat u verbinding wilt maken met Azure, zijn er verschillende resources om u op weg te helpen.

Lees eerst het artikel Opties voor het verbinden van een on-premises netwerk met Azure in de documentatie. Hier vindt u aanvullende informatie over deze connectiviteitsopties:

Als de verbinding met het netwerk veilig tot stand is gebracht, kunt u cloudcomputing-resources on-demand gaan gebruiken met de burstingmogelijkheden van uw bestaande workloadmanager.

Microsoft Azure Marketplace-oplossingen

Er worden veel workloadbeheerders aangeboden in Azure Marketplace.

Azure Batch

Azure Batch is een platformservice voor het efficiënt uitvoeren van grootschalige parallelle en HPC-toepassingen in de cloud. Azure Batch plant de uitvoering van rekenintensief werk op een beheerde pool van virtuele machines en kan automatisch het aantal rekenresources aanpassen aan de behoeften van uw werkzaamheden.

SaaS-providers of -ontwikkelaars kunnen de Batch-SDK's en hulpprogramma's gebruiken om HPC-toepassingen of -containerworkloads met Azure te integreren, gegevens te faseren naar Azure en pijplijnen voor taakuitvoering te bouwen.

In Azure Batch worden alle services uitgevoerd in de cloud. In de onderstaande afbeelding ziet u hoe de architectuur eruitziet met Azure Batch, waarbij de configuraties voor schaalbaarheid en taakplanning worden uitgevoerd in de cloud, terwijl de resultaten en rapporten naar uw on-premises omgeving kunnen worden verzonden.

Diagram toont een voorbeeld van HPC-architectuur voor Azure Batch.

Azure CycleCloud

Azure CycleCloud biedt de eenvoudigste manier om uw HPC-workloads te beheren met veel verschillende taakplanners (zoals Slurm, Grid Engine, HPC Pack, HTCondor, LSF, PBS Pro of Symphony) in Azure

Met CycleCloud kunt u het volgende:

  • Volledige clusters en andere resources implementeren, waaronder taakplanners, Compute-VM's, opslag, netwerken en cache
  • Taak-, gegevens- en cloudwerkstromen organiseren
  • Beheerders volledige controle geven over welke gebruikers taken kunnen uitvoeren, evenals waar en tegen welke kosten
  • Clusters aanpassen en optimaliseren via geavanceerde beleids- en governancefuncties, waaronder kostenbeheer, Active Directory-integratie, bewaking en rapportage
  • Uw huidige taakplanner en toepassingen zonder aanpassing gebruiken
  • Ingebouwde automatische schaalaanpassing en beproefde referentiearchitecturen inzetten voor veel verschillende HPC-workloads en branches
Hybride/cloud-burstingmodel

In dit hybride voorbeelddiagram zien we duidelijk hoe deze services worden gedistribueerd tussen de cloud en de on-premises omgeving. De mogelijkheid om taken in beide workloads uit te voeren. Diagram toont een voorbeeld van HPC-architectuur voor CycleCloud in Azure in een hybride versie.

Systeemeigen cloudmodel

In het onderstaande voorbeelddiagram van het cloudeigen model ziet u hoe de workload in de cloud alles verwerkt terwijl de verbinding met de on-premises omgeving nog steeds wordt bespaard.

Diagram toont een voorbeeld van HPC-architectuur voor CycleCloud in Azure in cloudeigen model.

Vergelijkingsgrafiek

Functie Azure Batch Azure CycleCloud
Scheduler Batch-API's en hulpprogramma's en opdrachtregelscripts in Azure Portal (cloudeigen). Gebruik standaard HPC-planners zoals Slurm, PBS Pro, LSF, Grid Engine en HTCondor, of breid automatische schaalaanpassingsinvoegtoepassingen van CycleCloud uit om met uw eigen planner te werken.
Compute-resources Software as a Service Nodes – Platform as a Service Platform as a Service Software – Platform as a Service
Hulpprogramma's bewaken Azure Monitor Azure Monitor, Grafana
Aanpassing Aangepaste installatiekopieën, installatiekopieën van derden, Toegang tot Batch API. Gebruik de uitgebreide RESTful-API om functionaliteit aan te passen en uit te breiden, uw eigen planner te implementeren en ondersteuning te bieden in bestaande workloadmanagers
Integratie Synapse-pijplijnen, Azure Data Factory, Azure CLI Ingebouwde CLI voor Windows en Linux
Gebruikerstype Ontwikkelaars Klassieke HPC-beheerders en -gebruikers
Werksoort Batch, werkstromen Nauw gekoppeld (Message Passing Interface/MPI).
Windows-ondersteuning Ja Varieert, afhankelijk van de keuze van de planner

Workloadmanagers

Hier volgen enkele voorbeelden van cluster- en workloadmanagers die kunnen worden uitgevoerd in de Azure-infrastructuur. Maak zelfstandige clusters in Azure-VM's of voer bursting uit naar Azure VM's vanuit een on-premises cluster.

Containers

Containers kunnen ook worden gebruikt voor het beheren van sommige HPC-workloads. Services als de Azure Kubernetes Service (AKS) maken het eenvoudig om een ​​beheerd Kubernetes-cluster in Azure te implementeren.

Kostenbeheer

U kunt uw HPC-kosten in Azure op een aantal verschillende manieren beheren. Zorg ervoor dat u de Aankoopmogelijkheden voor Azure hebt bekeken om de methode te vinden die het meest geschikt is voor uw organisatie.

Beveiliging

Raadpleeg de Documentatie over Azure-beveiliging voor een overzicht van aanbevolen beveiligingsprocedures in Azure.

Naast de netwerkconfiguraties die beschikbaar zijn in de sectie Cloud Bursting , kunt u een hub-/spoke-configuratie implementeren om uw rekenresources te isoleren:

HPC-toepassingen

Aangepaste of commerciële HPC-toepassingen uitvoeren in Azure. In enkele voorbeelden in deze sectie kan standaard efficiënt worden geschaald met aanvullende virtuele machines of rekenkernen. Ga naar de Microsoft Azure Marketplace voor kant-en-klare oplossingen.

Notitie

Neem contact op met de leverancier van een commerciële toepassing, voor licentieverlening of andere beperkingen voor het uitvoeren van die toepassing in de cloud. Niet alle leveranciers bieden licenties waarbij u betaalt naar gebruik. Mogelijk hebt u voor uw oplossing een licentieserver in de cloud nodig of moet u verbinding maken met een on-premises licentieserver.

Engineeringtoepassingen

Grafische afbeeldingen en weergaven

AI en deep learning

MPI-providers

Visualisatie op afstand

Voer virtuele machines met GPU uit in Azure in dezelfde regio als de HPC-uitvoer voor de laagste latentie, toegang en om extern te visualiseren via Azure Virtual Desktop, Citrix of VMware Horizon.

Prestatiebenchmarks

Klantverhalen

Er zijn veel klanten die veel succes hebben gezien door Azure te gebruiken voor hun HPC-workloads. Hieronder vindt u enkele van deze casestudy's:

Andere belangrijke informatie

  • Zorg ervoor dat uw vCPU-quotum is verhoogd voordat u grootschalige workloads gaat uitvoeren.

Volgende stappen

Zie de volgende bronnen voor de meest recente aankondigingen:

Voorbeelden van Microsoft Batch

In deze zelfstudies vindt u meer informatie over het uitvoeren van toepassingen in Microsoft Batch: