High Performance Computing (HPC) in AzureHigh Performance Computing (HPC) on Azure

Einführung in HPCIntroduction to HPC

High Performance Computing (HPC) wird auch „Big Compute“ genannt und nutzt zahlreiche CPU- oder GPU-basierte Computer, um komplexe mathematische Aufgaben zu lösen.High Performance Computing (HPC), also called "Big Compute", uses a large number of CPU or GPU-based computers to solve complex mathematical tasks.

HPC wird in vielen Branchen zur Lösung besonders anspruchsvoller Aufgabenstellungen eingesetzt.Many industries use HPC to solve some of their most difficult problems. Beispiele für Workloads wären etwa:These include workloads such as:

  • GenomicsGenomics
  • Simulationen für Öl- und GasunternehmenOil and gas simulations
  • FinanzenFinance
  • HalbleiterdesignSemiconductor design
  • EntwicklungEngineering
  • WettermodelleWeather modeling

Was zeichnet HPC in der Cloud aus?How is HPC different on the cloud?

Einer der Hauptunterschiede zwischen einem lokalen HPC-System und einem HPC-System in der Cloud besteht darin, dass Ressourcen dynamisch nach Bedarf hinzugefügt und entfernt werden können.One of the primary differences between an on-premises HPC system and one in the cloud is the ability for resources to dynamically be added and removed as they're needed. Dank der dynamischen Skalierung ist die Computekapazität kein Engpass mehr, und Kunden können ihre Infrastruktur optimal auf die Anforderungen ihrer jeweiligen Aufgaben abstimmen.Dynamic scaling removes compute capacity as a bottleneck and instead allow customers to right size their infrastructure for the requirements of their jobs.

Weitere Informationen zur dynamischen Skalierung finden Sie in den folgenden Artikeln:The following articles provide more detail about this dynamic scaling capability.

Checkliste für die ImplementierungImplementation checklist

Beschäftigen Sie sich zunächst mit folgenden Aspekten, bevor Sie Ihre eigene HPC-Lösung in Azure implementieren:As you're looking to implement your own HPC solution on Azure, ensure you're reviewed the following topics:

  • Wählen Sie eine geeignete Architektur für Ihre Anforderungen.Choose the appropriate architecture based on your requirements
  • Informieren Sie sich darüber, welche Computeoptionen für Ihre Workload geeignet sind.Know which compute options is right for your workload
  • Ermitteln Sie die passende Speicherlösung für Ihre Anforderungen.Identify the right storage solution that meets your needs
  • Entscheiden Sie, wie Sie alle Ihre Ressourcen verwalten möchten.Decide how you're going to manage all your resources
  • Optimieren Sie Ihre Anwendung für die Cloud.Optimize your application for the cloud
  • Schützen Sie Ihre Infrastruktur.Secure your Infrastructure

InfrastrukturInfrastructure

Ein HPC-System basiert auf einer Reihe von Infrastrukturkomponenten.There are a number of infrastructure components necessary to build an HPC system. Compute, Speicher und Netzwerk werden immer benötigt – ganz gleich, für welche HPC-Workloadverwaltung Sie sich entscheiden.Compute, Storage, and Networking provide the underlying components, no matter how you choose to manage your HPC workloads.

HPC-BeispielarchitekturenExample HPC architectures

Für eine HPC-Architektur in Azure gibt es zahlreiche Gestaltungs- und Implementierungsmöglichkeiten.There are a number of different ways to design and implement your HPC architecture on Azure. HPC-Anwendungen können auf tausende von Computekernen skaliert werden, lokale Cluster erweitern oder als vollständig cloudbasierte Lösung ausgeführt werden.HPC applications can scale to thousands of compute cores, extend on-premises clusters, or run as a 100% cloud-native solution.

In den folgenden Szenarien werden einige gängige Ansätze für HPC-Lösungen beschrieben.The following scenarios outline a few of the common ways HPC solutions are built.

ComputeCompute

Azure bietet eine Reihe von Größen, die sowohl für CPU- als auch für GPU-intensive Workloads optimiert sind.Azure offers a range of sizes that are optimized for both CPU & GPU intensive workloads.

CPU-basierte virtuelle ComputerCPU-based virtual machines

GPU-fähige virtuelle ComputerGPU-enabled virtual machines

Virtuelle Computer der N-Serie verfügen über NVIDIA-GPUs für rechen- oder grafikintensive Anwendungen wie KI-Lernen und Visualisierung.N-series VMs feature NVIDIA GPUs designed for compute-intensive or graphics-intensive applications including artificial intelligence (AI) learning and visualization.

StorageStorage

Herkömmliche Clouddateisysteme sind den Anforderungen, die umfangreiche Batch- und HPC-Workloads in puncto Datenspeicherung und -zugriff haben, nicht gewachsen.Large-scale Batch and HPC workloads have demands for data storage and access that exceed the capabilities of traditional cloud file systems. Es gibt eine Reihe von Lösungen, um den Geschwindigkeits- und Kapazitätsbedarf von HPC-Anwendungen in Azure zu verwalten.There are a number of solutions to manage both the speed and capacity needs of HPC applications on Azure

Weitere Informationen sowie einen Vergleich von Lustre, GlusterFS und BeeGFS in Azure finden Sie im E-Book Parallele Dateisysteme in Azure und im Blog Lustre in Azure.For more information comparing Lustre, GlusterFS, and BeeGFS on Azure, review the Parallel Files Systems on Azure e-book and the Lustre on Azure blog.

NetzwerkNetworking

Virtuelle Computer vom Typ „H16r“, „H16mr“, „A8“ und „A9“ können beispielsweise eine Verbindung mit einem Back-End-RDMA-Netzwerk mit hohem Durchsatz herstellen.H16r, H16mr, A8, and A9 VMs can connect to a high throughput back-end RDMA network. Dieses Netzwerk kann die Leistung eng gekoppelter paralleler Anwendungen unter Microsoft MPI oder Intel MPI verbessern.This network can improve the performance of tightly coupled parallel applications running under Microsoft MPI or Intel MPI.

VerwaltungManagement

EigenständigDo-it-yourself

Ein von Grund auf neu erstelltes HPC-System in Azure bietet zwar ein hohes Maß an Flexibilität, ist aber häufig sehr wartungsintensiv.Building an HPC system from scratch on Azure offers a significant amount of flexibility, but is often very maintenance intensive.

  1. Richten Sie auf virtuellen Azure-Computern oder in VM-Skalierungsgruppen Ihre eigene Clusterumgebung ein.Set up your own cluster environment in Azure virtual machines or virtual machine scale sets.
  2. Verwenden Sie Azure Resource Manager-Vorlagen, um führende Workload-Manager, Infrastruktur und Anwendungen bereitzustellen.Use Azure Resource Manager templates to deploy leading workload managers, infrastructure, and applications.
  3. Wählen Sie HPC- und GPU-VM-Größen aus, die spezielle Hardware und Netzwerkverbindungen für MPI- oder GPU-Workloads enthalten.Choose HPC and GPU VM sizes that include specialized hardware and network connections for MPI or GPU workloads.
  4. Fügen Sie Hochleistungsspeicher für Workloads mit hoher E/A-Intensität hinzu.Add high performance storage for I/O-intensive workloads.

Hybridlösung und CloudburstingHybrid and cloud Bursting

Falls Sie bereits über ein lokales HPC-System verfügen, das Sie mit Azure verknüpfen möchten, steht Ihnen eine Reihe von Ressourcen zur Verfügung, die Sie bei den ersten Schritten unterstützen.If you have an existing on-premises HPC system that you'd like to connect to Azure, there are a number of resources to help get you started.

Lesen Sie zunächst den Artikel Auswählen einer Lösung zum Herstellen einer Verbindung zwischen einem lokalen Netzwerk und Azure in der Dokumentation.First, review the Options for connecting an on-premises network to Azure article in the documentation. Anschließend können Sie sich mit den folgenden Konnektivitätsoptionen beschäftigen:From there, you may want information on these connectivity options:

Nachdem Sie eine zuverlässige Netzwerkverbindung hergestellt haben, können Sie mit den Burstfunktionen Ihres bereits vorhandenen Workload-Managers mit der bedarfsabhängigen Nutzung von Cloud Computing-Ressourcen beginnen.Once network connectivity is securely established, you can start using cloud compute resources on-demand with the bursting capabilities of your existing workload manager.

Marketplace-LösungenMarketplace solutions

Im Azure Marketplace wird eine Reihe von Workload-Managern angeboten.There are a number of workload managers offered in the Azure Marketplace.

Azure BatchAzure Batch

Bei Azure Batch handelt es sich um eine Plattform zur Ausführung umfangreicher paralleler und leistungsstarker Anwendungen (High Performance Computing, HPC) in der Cloud.Azure Batch is a platform service for running large-scale parallel and high-performance computing (HPC) applications efficiently in the cloud. Azure Batch plant die Ausführung rechenintensiver Aufgaben mit einem verwalteten Pool virtueller Computer und kann Computeressourcen automatisch skalieren, um den Anforderungen Ihrer Aufträge gerecht zu werden.Azure Batch schedules compute-intensive work to run on a managed pool of virtual machines, and can automatically scale compute resources to meet the needs of your jobs.

SaaS-Anbieter oder Entwickler können die Batch-SDKs und -Tools verwenden, um HPC-Anwendungen oder Containerworkloads in Azure zu integrieren, Daten in Azure bereitzustellen und Pipelines für die Auftragsausführung zu erstellen.SaaS providers or developers can use the Batch SDKs and tools to integrate HPC applications or container workloads with Azure, stage data to Azure, and build job execution pipelines.

Azure CycleCloudAzure CycleCloud

Azure CycleCloud ist die einfachste Möglichkeit, HPC-Workloads mit einem beliebigen Planer (etwa Slurm, Grid Engine, HPC Pack, HTCondor, LSF, PBS Pro oder Symphony) in Azure zu verwalten.Azure CycleCloud Provides the simplest way to manage HPC workloads using any scheduler (like Slurm, Grid Engine, HPC Pack, HTCondor, LSF, PBS Pro, or Symphony), on Azure

CycleCloud ermöglicht Folgendes:CycleCloud allows you to:

  • Stellen Sie vollständige Cluster und andere Ressourcen bereit (einschließlich Planer, Compute-VMs, Speicher, Netzwerk und Cache).Deploy full clusters and other resources, including scheduler, compute VMs, storage, networking, and cache
  • Orchestrieren Sie Workflows für Aufträge, Daten und die Cloud.Orchestrate job, data, and cloud workflows
  • Geben Sie Administratoren die vollständige Kontrolle darüber, wer wann und zu welchem Preis Aufträge ausführen darf.Give admins full control over which users can run jobs, as well as where and at what cost
  • Nutzen Sie erweiterte Richtlinien- und Governancefeatures (einschließlich Kostenkontrolle, Active Directory-Integration, Überwachung und Berichterstellung), um Cluster anzupassen und zu optimieren.Customize and optimize clusters through advanced policy and governance features, including cost controls, Active Directory integration, monitoring, and reporting
  • Verwenden Sie Ihren aktuellen Aufgabenplaner und Ihre vertrauten Anwendungen, ohne diese anpassen zu müssen.Use your current job scheduler and applications without modification
  • Profitieren Sie von der integrierten automatischen Skalierung sowie von bewährten Referenzarchitekturen für unterschiedlichste HPC-Workloads und Branchen.Take advantage of built-in autoscaling and battle-tested reference architectures for a wide range of HPC workloads and industries

Workload-ManagerWorkload managers

Unten sind Beispiele für Cluster- und Workload-Manager angegeben, die in der Azure-Infrastruktur ausgeführt werden können.The following are examples of cluster and workload managers that can run in Azure infrastructure. Erstellen Sie eigenständige Cluster auf Azure-VMs, oder führen Sie aus einem lokalen Cluster einen Burst-Vorgang auf Azure-VMs durch.Create stand-alone clusters in Azure VMs or burst to Azure VMs from an on-premises cluster.

ContainerContainers

Einige HPC-Workloads können auch mithilfe von Containern verwaltet werden.Containers can also be used to manage some HPC workloads. Mit Diensten wie Azure Kubernetes Service (AKS) können Sie ganz einfach einen verwalteten Kubernetes-Cluster in Azure bereitstellen.Services like the Azure Kubernetes Service (AKS) makes it simple to deploy a managed Kubernetes cluster in Azure.

KostenverwaltungCost management

Für die Verwaltung Ihrer HPC-Kosten in Azure gibt es mehrere Möglichkeiten.Managing your HPC cost on Azure can be done through a few different ways. Ermitteln Sie anhand der Azure-Kaufoptionen die Methode, die am besten für Ihre Organisation geeignet ist.Ensure you've reviewed the Azure purchasing options to find the method that works best for your organization.

SicherheitSecurity

Eine Übersicht über bewährte Sicherheitsmethoden in Azure finden Sie in der Dokumentation zur Azure-Sicherheit.For an overview of security best practices on Azure, review the Azure Security Documentation.

Neben den im Cloudbursting-Abschnitt verfügbaren Netzwerkkonfigurationen können Sie bei Bedarf auch eine Hub-Spoke-Konfiguration implementieren, um Ihre Computeressourcen zu isolieren:In addition to the network configurations available in the Cloud Bursting section, you may want to implement a hub/spoke configuration to isolate your compute resources:

HPC-AnwendungenHPC applications

Führen Sie benutzerdefinierte oder kommerzielle HPC-Anwendungen in Azure aus.Run custom or commercial HPC applications in Azure. Für mehrere Beispiele in diesem Abschnitt wurden Benchmarks erstellt, um eine effiziente Skalierung mit zusätzlichen virtuellen Computern oder Computekernen zu ermöglichen.Several examples in this section are benchmarked to scale efficiently with additional VMs or compute cores. Besuchen Sie den Azure Marketplace, um auf Lösungen zuzugreifen, die sofort bereitgestellt werden können.Visit the Azure Marketplace for ready-to-deploy solutions.

Hinweis

Informieren Sie sich bei Verwendung kommerzieller Anwendungen beim jeweiligen Hersteller über lizenzbedingte oder anderweitige Einschränkungen für die Ausführung in der Cloud.Check with the vendor of any commercial application for licensing or other restrictions for running in the cloud. Nicht alle Hersteller bieten ein nutzungsbasiertes Lizenzmodell an.Not all vendors offer pay-as-you-go licensing. Unter Umständen benötigen Sie für Ihre Lösung einen Lizenzserver in der Cloud oder eine Verbindung mit einem lokalen Lizenzserver.You might need a licensing server in the cloud for your solution, or connect to an on-premises license server.

Technische AnwendungenEngineering applications

Grafik und RenderingGraphics and rendering

KI und Deep LearningAI and deep learning

MPI-AnbieterMPI Providers

RemotevisualisierungRemote visualization

LeistungsbenchmarksPerformance Benchmarks

KundenstimmenCustomer stories

Azure wird bereits von zahlreichen Kunden mit großem Erfolg für HPC-Workloads genutzt.There are a number of customers who have seen great success by using Azure for their HPC workloads. Im Anschluss finden Sie einige Kundenreferenzen:You can find a few of these customer case studies below:

Weitere wichtige InformationenOther important information

  • Achten Sie vor dem Ausführen umfangreicher Workloads darauf, dass Ihr vCPU-Kontingent erhöht wurde.Ensure your vCPU quota has been increased before attempting to run large-scale workloads.

Nächste SchritteNext steps

Die neuesten Ankündigungen finden Sie hier:For the latest announcements, see:

Microsoft Batch-BeispieleMicrosoft Batch Examples

Die folgenden Tutorials enthalten ausführliche Informationen zum Ausführen von Anwendungen in Microsoft-Batch:These tutorials will provide you with details on running applications on Microsoft Batch