Zielzone für HPC
Die Bereitschaftsmethodik im Cloud Adoption Framework für Azure kann Sie durch den Prozess der Vorbereitung Ihrer Umgebung für die Cloudeinführung führen. In der Bereitschaftsphase können Sie eine Azure-Zielzone verwenden. Eine Zielzone ist ein technischer Beschleuniger, der den grundlegenden Baustein einer jeden Cloudeinführungsumgebung bereitstellt. Mithilfe einer Zielzone können Sie die Konfiguration Ihrer Azure-Umgebung in Übereinstimmung mit den Leitfäden mit bewährten Methoden im Cloud Adoption Framework automatisieren. Bei der Vorbereitung auf High Performance Computing (HPC) stoßen Sie möglicherweise auf Umgebungskonfigurationen, die von Ihrem Anwendungsfall und den Anforderungen Ihrer Branche abhängen.
Konzeptionelle Architektur der Azure-Zielzone
Während Sie Ihre Umgebung auf eine nachhaltige Cloud-Einführung vorbereiten, können Sie eine konzeptionelle Azure-Zielzonenarchitektur verwenden, die einen angestrebten Endzustand darstellt. Für HPC gibt es mehrere konzeptionelle Architekturreferenzen, die auf den drei Branchen basieren, die derzeit vom Cloud Adoption Framework abgedeckt werden:
Berücksichtigen Sie diese Architekturreferenzen, wenn Sie eine langfristige Vision für Ihre Zielzone entwickeln. Diese Referenzen dienen als Ausgangspunkt. Basierend auf den geschäftlichen Anforderungen Ihrer Organisation und Anforderungen Ihrer Endbenutzer müssen Sie diese möglicherweise ändern.
Auswertung für HPC
Die Entscheidungen, die Sie während der strategischen Folgenabschätzung und der technischen Planung treffen, beeinflussen die Konfiguration der Zielzone, die Sie für Ihre HPC-Bereitstellungen auf Azure wählen. Wir raten Ihnen, die folgenden Fragen zu beantworten:
- Wie ausgereift ist Ihre Umgebung in Azure? Befinden Sie sich im Proof of Concept-Stadium? Oder haben Sie bereits eine ausgereifte Anwendung, die Benutzer*innen zur Verfügung steht? Je nach Stadium können Sie Governance, Sicherheit oder Organisation der Ressourcen einbeziehen oder weglassen.
- Handelt es sich bei der Anwendung, die Sie auf Azure erstellen, um ein vorübergehendes oder um ein langfristiges Projekt? Die Antwort auf diese Frage kann Ihnen bei der Wahl Ihrer Compute- und Speicheroptionen helfen.
- Erfordert Ihre Organisation, dass auf verschiedenen Ebenen auf Azure-Ressourcen zugegriffen werden kann?
Wie Sie anhand dieser Fragen sehen können, variiert das Bereitstellungsmodell je nach Unternehmen, Branche und Anwendungsnutzung.
Beschleunigung der Azure-Zielzone für HPC
Azure Batch und Azure CycleCloud werden beide als Erstanbieterdienst von Azure bereitgestellt, während Azure HPC OnDemand Platform (AzHOP) eine Automation ist, die auf Azure Cycle Cloud basiert und einen End-to-End-Bereitstellungsmechanismus für eine vollständige HPC-Clusterlösung in Azure bereitstellt.
Azure Batch
- Batch wurde entwickelt, um große parallele und HPC-Batch-Aufträge effizient in Azure auszuführen.
- Batch erstellt und verwaltet einen Pool von Computeknoten oder virtuellen Maschinen (VMs). Sie können Batch auch verwenden, um die Anwendungen, die Sie ausführen möchten, zu installieren und Aufträge für die Ausführung auf den Knoten zu planen.
- Es muss keine Cluster- oder Auftragsplanersoftware installiert, verwaltet oder skaliert werden.
- Batch funktioniert gut für intrinsisch parallele Workloads. Diese Workloads umfassen Anwendungen, die unabhängig voneinander laufen können, wobei jede Instanz einen Teil der Arbeit erledigt.
- Sie können Batch auch verwenden, um eng gekoppelte Workloads auszuführen, bei denen die Anwendungen, die Sie ausführen, miteinander kommunizieren müssen und nicht unabhängig voneinander ablaufen.
- Batch-Aufgaben können direkt auf VMs oder Knoten in einem Batch-Pool ausgeführt werden. Sie können aber auch einen Batch-Pool einrichten, um Aufgaben in Docker-kompatiblen Containern auf den Knoten auszuführen.
Azure CycleCloud
- Es unterstützt verschiedene HPC-Scheduler, wie SLURM, OpenPBS, PBSPro, LSF, Grid Engine und HTCondor12.
- Es ermöglicht Ihnen die Bereitstellung der Infrastruktur für HPC-Systeme, z. B. virtuelle Computer, Skalierungssätze, Netzwerkschnittstellen und Datenträger.
- Es skaliert die Infrastruktur automatisch so, dass Aufträge in jeder Skalierung basierend auf Auftragslast, Verfügbarkeit und Zeitanforderungen effizient ausgeführt werden.
- Es bietet ein umfangreiches, deklaratives Vorlagenformat zum Erstellen vollständiger HPC-Umgebungen in Azure.
- Es lässt sich in Azure-Dienste wie Azure Monitor und in Microsoft Cost Management-Tools integrieren.
AzHop
- AzHop bietet einen End-to-End-Bereitstellungsmechanismus für eine HPC-Basisinfrastruktur auf Azure mit CycleCloud zur Orchestrierung von Jobs.
- Es bietet eine komplette HPC-Clusterlösung, auf der Benutzer*innen Anwendungen ausführen können und die für HPC-Administrator*innen einfach zu implementieren und zu verwalten ist.
- AzHop verwenden verschiedenen integrierte Anwendungen, die Sie so verwenden können, wie sie sind, oder Sie können leicht Anpassungen und Erweiterungen vornehmen, um allen unerfüllten Anforderungen gerecht zu werden.
- Es umfasst ein Open OnDemand-Portal für einheitlichen Benutzerzugriff, Remote-Shell-Zugriff, Remote-Visualisierungszugriff, Auftragsübermittlung, Dateizugriff und mehr.
- Es verwendet Active Directory für die Benutzerauthentifizierung und die Domänensteuerung.
- Es verwendet OpenPBS oder Simple Linux Utility for Resource Management (SLURM) als Auftragsplaner.
- Die dynamische Ressourcenbereitstellung und Autoskalierung erfolgt über vorkonfigurierte Auftragswarteschlangen von CycleCloud und integrierte Integritätsprüfungen, um nicht optimale Knoten schnell zu vermeiden.
- Azure NetApp Files bietet ein gemeinsames Dateisystem für das Home-Verzeichnis und Anwendungen.
Vergleichsdiagramm
Funktion | Azure Batch | Azure CycleCloud |
---|---|---|
Scheduler | Es sind Batch-APIs und -Tools verfügbar. Sie können im Azure-Portal auch cloudnative Befehlszeilenskripte verwenden. | Sie können handelsübliche HPC-Scheduler wie SLURM, OpenPBS, PBSPro, LSF, Grid Engine und HTCondor verwenden. Oder Sie können die automatischen Skalierungs-Plugins von Azure CycleCloud so erweitern, dass sie mit Ihrem eigenen Scheduler arbeiten. |
Computeressourcen | Software-as-a-Service-Knoten – Platform-as-a-Service (PaaS) | PaaS-Software – PaaS |
Überwachungstools | Azure Monitor: | Azure Monitor und Grafana. |
Anpassung | Sie können benutzerdefinierte Imagepools, Images von Drittanbietern oder Batch-API-Zugriff verwenden. | Sie können die umfassende RESTful-API nutzen, um die Funktionalität anzupassen und zu erweitern, Ihren eigenen Scheduler einzusetzen und bestehende Workload-Manager zu unterstützen. |
Integration | Azure Synapse Analytics Pipelines, Azure Data Factory und die Azure CLI | Eine integrierte CLI für Windows und Linux |
Benutzertyp | Entwickler. | Klassische HPC-Administrator*innen und -Benutzer*innen |
Arbeitstyp | Batches und Workflows | Eng gekoppelte Workflows, die Message Passing Interface (MPI) verwenden |
Windows-Unterstützung | Bereitgestellt | Abhängig von der Wahl des Schedulers |
Azure CycleCloud und Azure Batch sind leistungsstarke Tools für HPC-Aufgaben auf Azure, aber sie sind für unterschiedliche Anwendungsfälle konzipiert.
Azure CycleCloud ist ein unternehmensfreundliches Tool zur Orchestrierung und Verwaltung von HPC-Umgebungen auf Azure. Es richtet sich an HPC-Administrator*innen und Benutzer*innen, die eine HPC-Umgebung mit einem bestimmten Scheduler einrichten möchten. Azure CycleCloud bietet leistungsstarke Tools für den Aufbau kompletter HPC-Umgebungen auf Azure, einschließlich Network File Sharing (NFS)-Servern, parallelen Dateisystemen, Anmeldehosts, Lizenzservern und Verzeichnisdiensten. Es ist nützlich für Organisationen, die HPC-Umgebungen bereits seit einiger Zeit betreiben und jahrelanges Know-how und interne Tools für einen bestimmten Scheduler aufgebaut haben.
Im Gegensatz dazu richtet sich Batch vor allem an Entwickler*innen und Teams, die eine Funktion in ihr eigenes Produkt oder ihre eigenen Dienste einbauen. Batch enthält einen eigenen Scheduler und wurde entwickelt, um große parallele Aufträge ohne Cluster- oder Auftragsplaner-Software effizient auszuführen. Batch ist nützlich, wenn Sie keinen Workload-Scheduler verwalten müssen.
Zusammenfassend lässt sich sagen, dass Sie Azure CycleCloud verwenden sollten, wenn Sie eine HPC-Umgebung mit einem bestimmten Scheduler einrichten möchten und eine vollständige HPC-Umgebung benötigen. Verwenden Sie Batch, wenn Sie ein Produkt oder einen Dienst entwickeln, der parallele Verarbeitung in großem Maßstab erfordert und Sie keinen Workload-Scheduler verwalten möchten.
Nächste Schritte
- Prüfen Sie verfügbare High-Performance Computing (HPC): VM-Größen.
- Nachdem Sie Ihre HPC-Zielzone vorbereitet haben, sollten Sie sich mit Ihrer Migration beschäftigen.
- Sehen Sie sich den allgemeinen Zielzonenbeschleuniger für HPC an.