Freigeben über


High Performance Computing (HPC): Leistungs- und Benchmarkübersicht

In diesem Artikel werden HPC-KI-Benchmarkings in Azure vorgestellt. Es richtet sich an Architekten, Ingenieure und Entscheidungsträger, die:

  • Bewerten Sie die Azure-Infrastruktur für neue oder vorhandene Workloads
  • Einrichten von Leistungsbaselines
  • Vergleichen von VM-Familien mithilfe objektiver Daten
  • Optimieren der Leistung und Kosteneffizienz

Warum Benchmarking wichtig ist

Benchmarking bietet nachweisbasierte Erkenntnisse, die sowohl technische als auch geschäftliche Entscheidungen unterstützen. Es dient mehreren wichtigen Zwecken für HPC- und KI-Workloads:

  • Wählen Sie die richtige Infrastruktur aus: Passen Sie die Workloadmerkmale an die am besten geeignete Azure VM-Familie an.
  • Überprüfen sie die Leistung: Stellen Sie sicher, dass bereitgestellte Systeme den erwarteten Durchsatz und Latenzziele erfüllen.
  • Optimieren von Konfigurationen: Identifizieren von Engpässen zwischen Compute, Arbeitsspeicher, Speicher und Netzwerk.
  • Analysieren Sie die Kosteneffizienz: Vergleich der Preis-Leistungs-Verhältnisse über VM-Optionen hinweg.
  • Unterstützung von Beschaffungsentscheidungen: Bereitstellen von wiederholbaren, defensiblen Leistungsdaten für die Projektbeteiligten.

Wichtige Leistungsmetriken

Das Verständnis der wichtigsten Metriken, die zum Messen der HPC-Systemleistung verwendet werden, ist für eine sinnvolle Systembewertung und -vergleich unerlässlich. Sie stellen objektive Messungen für den Vergleich bereit, identifizieren Systemengpässe und ermöglichen so die Leistungsoptimierung und tragen zur Vorhersage der Anwendungsleistung bei. Metriken variieren je nach Workloadtyp, aber sie fallen in der Regel in vier Kategorien.

Rechenleistungskennzahlen beschreiben die rohe Verarbeitungskapazität eines Systems und wie effektiv diese Kapazität in der Praxis realisiert wird. FLOPS (Gleitkommavorgänge pro Sekunde) werden häufig verwendet, um den rechentechnischen Durchsatz zu quantifizieren und werden häufig von Benchmarks wie HPL (LINPACK) gemeldet. Während Spitzenleistung die theoretische maximale Leistungsfähigkeit der Hardware darstellt, spiegelt die dauerhafte Leistung wider, welche Anwendungen tatsächlich unter echten Workloads erreichen und somit für die meisten Auswertungen ein aussagekräftigerer Indikator ist.

Azure-VM-Familien für HPC und KI

Azure bietet spezielle VM-Familien, die für verschiedene Workloadmuster abgestimmt sind.

CPU-basiertes HPC (HB-Serie)

VMs der HB-Serie sind für Speicherbandbreite und Netzwerk mit geringer Latenz optimiert und eignen sich gut für herkömmliche HPC-Workloads wie:

  • Numerische Fluiddynamik (CFD)
  • Wetter- und Klimamodellierung
  • Finite Elementanalyse

Zu den wichtigsten Merkmalen gehören:

  • Amd EPYC-Prozessoren mit hoher Kernanzahl
  • Große Speicherbandbreite (einschließlich HBM in neueren Generationen)
  • Hochgeschwindigkeits-InfiniBand-Netzwerk

GPU-basierte KI (ND-Serie)

VMs der ND-Serie sind für GPU-beschleunigte Workloads ausgelegt, darunter:

  • Deep Learning-Schulung
  • LlM-Ableitung (Large Language Model)
  • KI-Forschung und -Experimentierung

Diese VMs bieten folgende Merkmale:

  • NVIDIA data center GPUs (H100, H200, Blackwell)
  • Große GPU-Speicherkapazität
  • GPU-zu-GPU- und GPU-zu-Netzwerk-Verbindungen mit hoher Bandbreite

Benchmarking-Kategorien

Verschiedene Benchmarks beantworten unterschiedliche Fragen. Wählen Sie Benchmarks basierend auf dem Aspekt der Leistung aus, den Sie bewerten möchten.

Synthetische Benchmarks

Synthetische Benchmarks isolieren bestimmte Systemkomponenten und sind nützlich für die Basisüberprüfung:

  • STREAM – Misst nachhaltige Speicherbandbreite
  • HPL (LINPACK) – Misst die maximale Leistung von Gleitkomma-Berechnungen
  • HPCG – Bewertet die Leistung für dünne lineare Algebra, die näher an realen HPC-Workloads liegt.
  • OSU-Micro-Benchmarks – Validiert die MPI-Latenz und -Bandbreite
  • NCCL-Tests – Misst die Leistung der kollektiven GPU-Kommunikation

Anwendungs-Benchmarks

Anwendungs-Benchmarks spiegeln das reale Verhalten wider und sind oft repräsentativer:

  • ANSYS Fluent – CFD-Solverleistung
  • WRF – Wetter- und Atmosphärenmodellierung
  • GROMACS / NAMD – Molekularer Dynamikdurchsatz
  • MLPerf Training – Durchgehende KI-Trainingsleistung
  • MLPerf Inference – Modell für Durchsatz und Latenz

Erste Schritte

Befolgen Sie diesen empfohlenen Weg, um mit dem Benchmarking in Azure zu beginnen:

1. Set up infrastructure
   └── Setting Up Your First HPC Cluster (CycleCloud + Slurm)
   
2. Run baseline benchmarks
   ├── Running Your First Benchmark: STREAM (CPU/memory)
   └── Running NCCL Benchmarks (GPU communication)
   
3. Compare VM options
   ├── CPU HPC VMs Comparison
   └── GPU AI VMs Comparison
   
4. Optimize for your workload
   └── Optimizing NCCL for Azure (AI training)

Bewährte Methoden

Im Folgenden sind einige Richtlinien für zuverlässige und reproduzierbare Benchmarks aufgeführt:

Vor dem Benchmarking

  • Verwenden Sie HPC/AI optimierte Bilder: Beginnen Sie mit Azure HPC-Images (AlmaLinux-HPC, Ubuntu-HPC), die vorkonfigurierte Treiber und Bibliotheken enthalten
  • Überprüfen von Treiberversionen: Sicherstellen, dass GPU-Treiber, InfiniBand-Treiber und NCCL-Versionen aktuell sind
  • Überprüfen der Topologie: Bestätigen der NUMA-Konfiguration und GPU-zu-NIC-Affinität

Während des Benchmarkings

  • Warm-up-Läufe: Erste Läufe verwerfen, um Caches zu stabilisieren
  • Mehrere Iterationen: Führen Sie mindestens 5 Iterationen aus und geben Sie den Median oder Durchschnitt an.
  • Einheitliche Bedingungen: Beibehalten identischer Betriebssysteme, Treiber und Konfigurationen für alle Vergleiche
  • Alles dokumentieren: Aufzeichnen von Softwareversionen, Umgebungsvariablen und Befehlszeilenparametern

Häufige Fallstricke, die vermieden werden sollen

  • Unzureichende Aufwärmzeiten
  • Vergleich verschiedener Softwareversionen
  • Ignorieren der NUMA-Topologie
  • Verwenden von Standardkonfigurationen ohne Optimierung
  • Unzureichende Stichprobengrößen