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:
- Genomics
- 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.
Compute
Azure biedt een reeks grootten die zijn geoptimaliseerd voor zowel CPU 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).
Opslag
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:
- Avere vFXT voor snellere, meer toegankelijke gegevensopslag voor hoogwaardige computing aan de rand
- Azure NetApp Files
- Virtuele machines geoptimaliseerd voor opslag
- Blob-, tabel- en wachtrijopslag
- Azure SMB File Storage
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.
- Stel uw eigen clusteromgeving in in virtuele Azure-machines of virtuele-machineschaalsets.
- Gebruik Azure Resource Manager-sjablonen om toonaangevende workloadmanagers, infrastructuur en toepassingen te implementeren.
- Kies HPC- en GPU-VM-grootten die gespecialiseerde hardware- en netwerkverbindingen voor MPI- of GPU-workloads bevatten.
- 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.
- HPC op basis van RogueWave CentOS
- SUSE Linux Enterprise Server voor HPC
- TIBCO DataSynapse GridServer
- Azure Data Science VM voor Windows en Linux
- D3View
- UberCloud
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.
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.
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.
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.
- Alces Flight Compute
- TIBCO DataSynapse GridServer
- Bright Cluster Manager
- IBM Spectrum Symphony en Symphony LSF
- Altair PBS Works
- Rescale
- Altair Grid Engine
- Microsoft HPC Pack
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
- Autodesk Maya, 3ds Max en Arnold in Azure Batch
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.
- Grootten van virtuele machines geoptimaliseerd voor GPU
- GPU-versnelling configureren voor Azure Virtual Desktop
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:
- AXA Global P&C
- Axioma
- d3View
- EFS
- Hymans Robertson
- MetLife
- Microsoft Research
- Milliman
- Mitsubishi UFJ Securities International
- NeuroInitiative
- Schlumberger
- Towers Watson
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:
- Blog van het Microsoft HPC- en Batch-team
- Ga naar het Azure-blog.
Voorbeelden van Microsoft Batch
In deze zelfstudies vindt u meer informatie over het uitvoeren van toepassingen in Microsoft Batch:
- Aan de slag met ontwikkelen met Batch
- Azure Batch-codevoorbeelden gebruiken
- Virtuele machines met lage prioriteit met Batch gebruiken
- In containers geplaatste HPC-workloads uitvoeren met Batch Shipyard
- Apache Spark-taken op aanvraag uitvoeren in Batch
- Rekenintensieve VM’s gebruiken in Batch-pools