Bereitstellung eines HPC-Bare-Metal-Serverclusters auf Basis einer NVIDIA Tensor Core-GPU

Die Bereitstellung von Modellen für künstliche Intelligenz (KI), maschinelles Lernen (ML) oder Deep Learning (DL), wie BERT-Large für die Sprachmodellierung, profitiert häufig von der GPU-Beschleunigung für KI-Workloads.

Oracle Cloud Infrastructure (OCI) ermöglicht direkten Zugriff auf ein Bare-Metal-Servercluster. Das Bare-Metal-GPU-Cluster bietet das branchenweit beste Preis-Leistungs-Verhältnis für die Bereitstellung von KI, ML oder DL. Sie können mehr als 500 GPU-Cluster hosten und bei Bedarf einfach skalieren.

Architektur

Diese Architektur zeigt die Beziehung zwischen den verschiedenen Komponenten in einem typischen System und dem HPC-Bare-Metal-GPU-Cluster im Kern. Sie kann für viele KI-, ML- oder DL-Anwendungen gelten, wie BERT-Large, GPT2/3, Jasper, MaskRCNN und GNMT.

BERT ist ein vortrainiertes Deep Learning-Modell, das bei Natural Language Processing-(NLP-)Aufgaben beliebt ist. Es kann für bestimmte Anwendungen oder Domains optimiert werden. Die größere Variante, BERT-large, enthält 340M Parameter. Die Trainings- und Inferenzzeiten sind enorm, ohne ein großes verteiltes Cluster über Hunderte identischer GPUs. GPU-Cluster erfordern einen hohen I/O-Durchsatz und ein Clusterdateisystem mit geringer Latenz. Wie viel, wie schnell und wie kostengünstig Sie die Daten verarbeiten können, ist für die Echtzeit-KI-Inferenzanwendungen besonders wichtig.

Oracle Cloud Infrastructure (OCI) nutzt das Cluster-Netzwerk mit geringer Latenz von Oracle, das auf Remote Direct Memory Access (RDMA) basiert und über konvergiertes Ethernet (RoCE) mit einer Latenz von weniger als 2 μs ausgeführt wird. RDMA ermöglicht Verbindungen mit geringer Latenz zwischen Knoten und Zugriff auf den GPU-Speicher, ohne die CPU einzubeziehen. Mit OCI HPC kann der Kunde 64 Bare-Metal-Knoten mit jeweils 8 NVIDIA A100-GPUs in 512 GPUs gruppieren.

OCI bietet mehrere leistungsstarke Speicherlösungen mit geringer Latenz für HPC-Workloads, wie die lokalen NVMe SSD-, Netzwerk- und parallelen Dateisysteme. Der OCI-Bare-Metal-Server wird mit lokalem NVMe-SSD-Speicher geliefert. Es kann verwendet werden, um ein Scratch NFS oder Scratch Parallel File System (BeeOND, Weka) für temporäre Dateien zu erstellen. Mit der Funktion für mehrere Block-Volumes können Sie mit einem einzelnen Volume Ihre gesamten Trainings-Datasets speichern und an mehrere GPU-Instanzen anhängen. Sie können auch Intel Ice Lake BM oder VM und den Blockspeicher der ausgeglichenen Performanceebene verwenden, um Dateiserver mit dem höchsten Durchsatz und den niedrigsten Kosten mit NFS-basiertem (NFS-HA, FSS) oder Parallel File System (Weka.io, Spectrum Scale, BeeGFS, BeeOND) zu erstellen. Die Schulungsergebnisse werden in Oracle Cloud Infrastructure Object Storage zur langfristigen Speicherung gespeichert.

Das folgende Diagramm veranschaulicht diese Referenzarchitektur.

Beschreibung von architecture-hpc-bm-gpu.png
Beschreibung der Illustrationsarchitektur-hpc-bm-gpu.png

architektur-hpc-bm-gpu-oracle.zip

Die Architektur umfasst die folgenden Komponenten:

  • Region

    Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Data Center enthält, das als Availability-Domain bezeichnet wird. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie trennen (über Länder oder sogar Kontinente).

  • Cloud Guard

    Mit Oracle Cloud Guard können Sie die Sicherheit Ihrer Ressourcen in Oracle Cloud Infrastructure überwachen und verwalten. Cloud Guard verwendet Detektorrezepte, die Sie definieren können, um Ihre Ressourcen auf Sicherheitslücken zu untersuchen und Operatoren und Benutzer auf bestimmte riskante Aktivitäten zu überwachen. Wenn eine Fehlkonfiguration oder unsichere Aktivität erkannt wird, empfiehlt Cloud Guard Korrekturmaßnahmen und unterstützt Sie bei der Ausführung dieser Aktionen basierend auf Responder-Rezepten, die Sie definieren können.

  • Verfügbarkeitsdomänen

    Availability-Domains sind eigenständige, unabhängige Data Center innerhalb einer Region. Die physischen Ressourcen in jeder Availability-Domain sind von den Ressourcen in den anderen Availability-Domains isoliert, was eine Fehlertoleranz sicherstellt. Availability-Domains haben keine gemeinsame Infrastruktur wie Stromversorgung oder Kühlung oder das interne Availability-Domainnetzwerk. Ein Fehler in einer Availability-Domain darf sich also nicht auf die anderen Availability-Domains in der Region auswirken.

  • Fehlerdomains

    Eine Faultdomain ist eine Gruppierung aus Hardware und Infrastruktur innerhalb einer Availability-Domain. Jede Availability-Domain umfasst drei Fehlerdomänen mit unabhängiger Stromversorgung und Hardware. Wenn Sie Ressourcen auf mehrere Faultdomains verteilen, können Ihre Anwendungen physische Serverausfälle, Systemwartungen und Stromausfälle innerhalb einer Faultdomain tolerieren.

  • Compartment

    Compartments sind regionsübergreifende logische Partitionen in einem Oracle Cloud Infrastructure-Mandanten. Verwenden Sie Compartments, um Ihre Ressourcen in Oracle Cloud zu organisieren, den Zugriff auf die Ressourcen zu kontrollieren und Nutzungs-Quotas festzulegen. Um den Zugriff auf die Ressourcen in einem bestimmten Compartment zu kontrollieren, definieren Sie Policys, mit denen angegeben wird, wer auf die Ressourcen zugreifen kann und welche Aktionen sie ausführen können.

  • Virtuelles Cloud-Netzwerk (VCN) und Subnetze

    Ein VCN ist ein anpassbares, benutzerdefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten können. Wie traditionelle Data Center-Netzwerke erhalten Sie mit VCNs Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere sich nicht überschneidende CIDR-Blöcke aufweisen, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die sich auf eine Region oder eine Availability-Domain beschränken. Jedes Subnetz besteht aus einem Bereich zusammenhängender Adressen, die sich nicht mit anderen Subnetzen im VCN überschneiden. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.

  • Site-to-Site-VPN

    Site-to-Site-VPN bietet IPSec-VPN-Konnektivität zwischen Ihrem On-Premise-Netzwerk und VCNs in Oracle Cloud Infrastructure. Die IPSec-Protokollfamilie verschlüsselt den IP-Traffic, bevor die Pakete von der Quelle an das Ziel übertragen werden, und entschlüsselt den Traffic, wenn er ankommt.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect bietet eine einfache Möglichkeit, eine dedizierte, private Verbindung zwischen Ihrem Data Center und Oracle Cloud Infrastructure zu erstellen. FastConnect bietet Optionen mit höherer Bandbreite und ein zuverlässigeres Netzwerk als bei internetbasierten Verbindungen.

  • Dynamisches Routinggateway (DRG)

    Das DRG ist ein virtueller Router, der einen Pfad für privaten Netzwerktraffic zwischen VCNs in derselben Region zwischen einem VCN und einem Netzwerk außerhalb der Region bereitstellt, wie ein VCN in einer anderen Oracle Cloud Infrastructure-Region, einem On-Premise-Netzwerk oder einem Netzwerk in einem anderen Cloud-Provider.

  • NAT-Gateway (Network Address Translation)

    Mit einem NAT-Gateway können private Ressourcen in einem VCN auf Hosts im Internet zugreifen, ohne dass diese Ressourcen für eingehende Internetverbindungen freigegeben werden.

  • Internetgateway

    Das Internetgateway ermöglicht Traffic zwischen den öffentlichen Subnetzen in einem VCN und dem öffentlichen Internet.

  • Servicegateway

    Das Servicegateway ermöglicht den Zugriff von einem VCN auf andere Services, wie Oracle Cloud Infrastructure Object Storage. Der Traffic vom VCN zum Oracle-Service durchläuft die Oracle-Netzwerkstruktur und nicht das Internet.

  • Sicherheitsliste

    Für jedes Subnetz können Sie Sicherheitsregeln erstellen, die Quelle, Ziel und Typ des Traffics angeben, der in und aus dem Subnetz zulässig sein muss.

  • Routentabelle

    Virtuelle Routentabellen enthalten Regeln zum Weiterleiten von Traffic von Subnetzen zu Zielen außerhalb eines VCN, in der Regel über Gateways.

  • Bastionhost

    Der Bastionhost ist eine Compute-Instanz, die als sicherer, kontrollierter Einstiegspunkt in die Topologie von außerhalb der Cloud dient. Der Bastionhost wird in der Regel in einer entmilitarisierten Zone (DMZ) bereitgestellt. Sie können sensible Ressourcen schützen, indem Sie sie in privaten Netzwerken platzieren, auf die nicht direkt von außerhalb der Cloud zugegriffen werden kann. Die Topologie verfügt über einen einzelnen, bekannten Einstiegspunkt, den Sie regelmäßig überwachen und prüfen können. So können Sie vermeiden, die empfindlicheren Komponenten der Topologie freizulegen, ohne den Zugriff darauf zu beeinträchtigen.

  • Bastionknoten (Headknoten)

    Der Bastionknoten (Kopfknoten) verwendet ein webbasiertes Portal, um eine Verbindung zum Hauptknoten herzustellen und HPC-Jobs zu planen. Die Jobanforderung erfolgt über Oracle Cloud Infrastructure FastConnect oder IPSec VPN zum Hauptknoten. Der Hauptknoten sendet auch das Kunden-Dataset an den Dateispeicher und kann einige Vorverarbeitungsvorgänge für die Daten ausführen. Der Hauptknoten kann HPC-Knotencluster bereitstellen und HPC-Cluster nach Abschluss des Jobs löschen.

    Der Hauptknoten enthält das BERT-Modell, führt den Scheduler aus und kann als Bastionhost für den Zugriff auf das Cluster dienen. Es verfügt über die Message-Passing-Schnittstelle (MPI) und skaliert die Bare-Metal-Knoten automatisch über REST-APIs. Das HPC-Cluster stellt Bare-Metal-Knoten nach Bedarf bereit. Das Modelltraining und die Inferenz verwenden den lokalen 4 x 6.4TB NVMe SSD-Speicher, der an den Bare-Metal-Knoten angeschlossen ist. Wenn Sie unsere Lösungen zum Starten der Infrastruktur verwenden, stellt die Architektur den Head-Knoten bereit, und ein nfs-share wird standardmäßig auf dem SSD-Speicher NVMe in /mnt installiert.

  • HPC-Clusterknoten

    Der Head Node stellt diese Compute Nodes bereit und beendet sie, bei denen es sich um RDMA-fähige Cluster handelt. Sie verarbeiten die im Dateispeicher gespeicherten Daten und geben die Ergebnisse in den Dateispeicher zurück.

  • NFS-Server

    Der Hauptknoten fördert einen der HPC-Knoten als NFS-Server.

  • Instanzpool

    Ein Instanzpool ist eine Gruppe von Instanzen innerhalb einer Region, die mit derselben Instanzkonfiguration erstellt und als Gruppe verwaltet werden.

    Mit Instanzpools können Sie mehrere Compute-Instanzen innerhalb derselben Region als Gruppe erstellen und verwalten. Sie ermöglichen auch die Integration mit anderen Services, wie dem Oracle Cloud Infrastructure Load Balancing-Service und dem Oracle Cloud Infrastructure Identity and Access Management-Service.

  • Bare-Metal-DB-System

    Ein Bare-Metal-(BM-)DB-System ist ein einzelner Bare-Metal-Server, auf dem Oracle Linux 7 ausgeführt wird, mit lokal angeschlossenem NVMe-Speicher. Verwenden Sie eine Bare Metal-GPU-Ausprägungen für hardwarebeschleunigte Analysen und andere Berechnungen.

    Wenn Sie ein Bare-Metal-DB-System starten, wählen Sie die Ausprägungen und eine einzelne Oracle Database-Edition aus, die für alle Datenbanken in diesem DB-System gilt. Jedes DB-System kann mehrere Datenbank-Homes aufweisen, die jeweils unterschiedliche Versionen haben können. Jedes Datenbank-Home kann nur eine Datenbank enthalten, die dieselbe Version wie das Datenbank-Home hat.

    Die Ausprägung bestimmt die dem DB-System zugewiesenen Ressourcen. Optionen wie 2- oder 3-Wege-Spiegelung und der für Datendateien zugewiesene Speicherplatz wirken sich auf die Menge des nutzbaren Speichers im System aus.

  • Object Storage

    Der Objektspeicher bietet schnellen Zugriff auf große Mengen an strukturierten und unstrukturierten Daten eines beliebigen Inhaltstyps, einschließlich Datenbankbackups, Analysedaten und umfangreichen Inhalten, wie Bildern und Videos. Sie können Daten sicher und geschützt speichern und dann direkt aus dem Internet oder aus der Cloud-Plattform abrufen. Sie können den Speicher skalieren, ohne dass die Performance oder Servicezuverlässigkeit beeinträchtigt wird. Verwenden Sie Standardspeicher für "Hot Storage", auf den Sie schnell, sofort und häufig zugreifen müssen. Verwenden Sie Archivspeicher für "Cold Storage", den Sie über lange Zeiträume beibehalten möchten und auf den Sie nur selten zugreifen.

Empfehlungen

Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt. Ihre Anforderungen können von der hier beschriebenen Architektur abweichen.
  • VCN

    Wenn Sie ein VCN erstellen, bestimmen Sie die Anzahl der erforderlichen CIDR-Blöcke und die Größe jedes Blocks basierend auf der Anzahl der Ressourcen, die Sie an Subnetze im VCN anhängen möchten. Verwenden Sie CIDR-Blöcke innerhalb des standardmäßigen privaten IP-Adressraums.

    Wählen Sie CIDR-Blöcke aus, die sich nicht mit anderen Netzwerken (in Oracle Cloud Infrastructure, Ihrem On-Premise-Data Center oder einem anderen Cloud-Provider) überschneiden, für die Sie private Verbindungen einrichten möchten.

    Nachdem Sie ein VCN erstellt haben, können Sie dessen CIDR-Blöcke ändern, hinzufügen und entfernen.

    Berücksichtigen Sie beim Entwerfen der Subnetze den Trafficfluss und die Sicherheitsanforderungen. Hängen Sie alle Ressourcen innerhalb einer bestimmten Tier oder Rolle an dasselbe Subnetz an, das als Sicherheitsgrenze dienen kann.

    Regionale Subnetze verwenden

  • Sicherheit

    Mit Oracle Cloud Guard können Sie die Sicherheit Ihrer Ressourcen in Oracle Cloud Infrastructure proaktiv überwachen und verwalten. Cloud Guard verwendet Detektorrezepte, die Sie definieren können, um Ihre Ressourcen auf Sicherheitslücken zu untersuchen und Operatoren und Benutzer auf riskante Aktivitäten zu überwachen. Wenn eine Fehlkonfiguration oder unsichere Aktivität erkannt wird, empfiehlt Cloud Guard Korrekturmaßnahmen und unterstützt Sie bei der Ausführung dieser Aktionen basierend auf Responder-Rezepten, die Sie definieren können.

    Für Ressourcen, für die maximale Sicherheit erforderlich ist, empfiehlt Oracle die Verwendung von Sicherheitszonen. Eine Sicherheitszone ist ein Compartment, das mit einem von Oracle definierten Rezept von Sicherheits-Policys verknüpft ist, die auf Best Practices basieren. Beispiel: Die Ressourcen in einer Sicherheitszone dürfen nicht über das öffentliche Internet zugänglich sein und müssen mit vom Kunden verwalteten Schlüsseln verschlüsselt werden. Wenn Sie Ressourcen in einer Sicherheitszone erstellen und aktualisieren, validiert Oracle Cloud Infrastructure die Vorgänge mit den Policys im Rezept der Sicherheitszone und lehnt Vorgänge ab, die eine der Policys verletzen.

  • Cloud Guard

    Klonen und passen Sie die von Oracle bereitgestellten Standardrezepte an, um benutzerdefinierte Detektor- und Responder-Rezepte zu erstellen. Mit diesen Rezepten können Sie angeben, welcher Typ von Sicherheitsverletzungen eine Warnung generiert und welche Aktionen für sie ausgeführt werden dürfen. Beispiel: Sie möchten Objektspeicher-Buckets ermitteln, deren Sichtbarkeit auf "Öffentlich" gesetzt ist.

    Wenden Sie Cloud Guard auf Mandantenebene an, um den größten Geltungsbereich abzudecken und den Verwaltungsaufwand für die Verwaltung mehrerer Konfigurationen zu reduzieren.

    Sie können auch das Feature "Verwaltete Liste" verwenden, um bestimmte Konfigurationen auf Detektoren anzuwenden.

  • Sicherheitszonen

    Für Ressourcen, für die maximale Sicherheit erforderlich ist, empfiehlt Oracle die Verwendung von Sicherheitszonen. Eine Sicherheitszone ist ein Compartment, das mit einem von Oracle definierten Rezept von Sicherheits-Policys verknüpft ist, die auf Best Practices basieren. Beispiel: Die Ressourcen in einer Sicherheitszone dürfen nicht über das öffentliche Internet zugänglich sein und müssen mit vom Kunden verwalteten Schlüsseln verschlüsselt werden. Wenn Sie Ressourcen in einer Sicherheitszone erstellen und aktualisieren, validiert Oracle Cloud Infrastructure die Vorgänge mit den Policys im Rezept der Sicherheitszone und lehnt Vorgänge ab, die eine der Policys verletzen.

  • Netzwerksicherheitsgruppen (NSGs)

    Mit NSGs können Sie ein Set von Ingress- und Egress-Regeln definieren, die für bestimmte VNICs gelten. Wir empfehlen die Verwendung von NSGs anstelle von Sicherheitslisten, da NSGs es Ihnen ermöglichen, die Subnetzarchitektur des VCN von den Sicherheitsanforderungen Ihrer Anwendung zu trennen.

  • HPC-Knoten

    Stellen Sie die HPC-Bare-Metal-Ausprägungen bereit, um eine vollständige Performance zu erzielen

    Verwenden Sie BM.HPC4.8-Ausprägungen mit 8 A100 Tensor Core-GPUs mit 40 GB Arbeitsspeicher, 2 x 32 Core AMD bei 2,9 GHz, 2048 GB DDR4, 8 x 200 Gbit/s Networking, 4 x 6,4-TB lokaler NVMe SSD-Speicher mit bis zu 1 PB Block pro Knoten.

    Führen Sie ein Cluster mit bis zu 64 Bare-Metal-Knoten aus, um 512 GPUs und 4096 CPUs bereitzustellen.

Hinweise

Beachten Sie beim Deployment dieser Referenzarchitektur die folgenden Punkte.

  • Performance

    Legen Sie je nach Größe der Workload fest, auf wie vielen Cores BERT ausgeführt werden soll. Diese Entscheidung stellt sicher, dass die Simulation rechtzeitig abgeschlossen wird.

    Um die beste Performance zu erzielen, wählen Sie die richtige Compute-Ausprägung mit der entsprechenden Bandbreite aus.

  • Verfügbarkeit

    Verwenden Sie eine High Availability-Option, die auf Ihren Deployment-Anforderungen und Ihrer Region basiert. Die Optionen umfassen die Verwendung mehrerer Availability-Domains in einer Region und Faultdomains.

    • Überwachung und Alerts

      Richten Sie Monitoring und Alerts zur CPU- und Arbeitsspeicherauslastung für Ihre Knoten ein, damit Sie die Ausprägung nach Bedarf vertikal oder horizontal skalieren können.

    • Kostenfaktor

      Eine Bare-Metal-GPU-Instanz bietet die erforderliche CPU-Leistung für höhere Kosten. Bewerten Sie Ihre Anforderungen, um die entsprechende Compute-Ausprägung auszuwählen.

      Sie können das Cluster löschen, wenn keine Jobs ausgeführt werden.

  • Cluster-Dateisysteme

    Es gibt mehrere Szenarios:

    1. Lokaler NVMe-SSD-Speicher, der mit der HPC-Ausprägung geliefert wird.
    2. Block-Volumes mit mehreren Anschlüssen liefern bis zu 2.680 MB/s I/O-Durchsatz oder 700 k IOPS.
    3. Sie können auch Ihr eigenes paralleles Dateisystem auf dem NVMe-SSD-Speicher oder Blockspeicher installieren, je nach Ihren Performanceanforderungen. OCI bietet Scratch- und permanente NFS-basierte (NFS-HA, FSS) oder parallele Dateisystemlösungen (weka.io, Spectrum Scale, BeeGFS, BeeOND, Lustre, Gluster, Quobyte), siehe Weitere Informationen. Wenden Sie sich an das HPC Storage Team, um die optimalen Lösungen für Ihre Bedürfnisse zu entwerfen.

Bestätigungen

  • Autor: Wei Han