Maximale Leistung – Optionen für den Zugriff auf PCIe-GPUs in einer Hochleistungsserverarchitektur

Das Verständnis der Konfigurationsoptionen für Supermicro-GPU-Server liefert maximale Performance für Arbeitslasten.

GPU-Server bieten einen enormen Leistungsvorteil für KI- und HPC-Anwendungen im Vergleich zu einem herkömmlichen reinen CPU-Server. Auf diesen Systemen kann eine Vielzahl von Anwendungen ausgeführt werden, und die Leistungssteigerung für Anwendungen, die die GPUs nutzen, ist ausführlich dokumentiert. Während GPU-fokussierte Server einzelne oder zwei CPUs und bis zu 10 PCIe-GPUs enthalten, kann sich die Architektur des Systems auf die Anwendungsgeschwindigkeit und Flexibilität des Servers auswirken. Es gibt drei Möglichkeiten, einen GPU-Server zu entwerfen, was zu einem optimierten System für verschiedene Arbeitslasten führt. Der Datenfluss zwischen CPU und GPUs ist bei der Auswahl eines GPU-Servers entscheidend.

Optionen für den PCIe-GPU-Zugriff. Supermicro-GPU-Server sind für Anwendungen konzipiert, die mehrere GPUs innerhalb des Servers erfordern. Obwohl viele Server über einen PCIe-Steckplatz ein Verhältnis von CPUs zu GPUs von 1:1 bewältigen können, benötigen Server, die für hohe Beschleunigung ausgelegt sind, ein Verhältnis mit deutlich mehr GPUs als CPUs. GPU-Server sind in zwei allgemeinen Architekturen verfügbar:

  • PCIe-basierte GPUs, bei denen bis zu 10 GPUs in PCIe-Steckplätzen installiert sind.
  • SXM/OAM-basierte GPU-Server, bei denen die GPUs auf einer eigenen Platine montiert sind und nur eine PCIe-Verbindung zu den CPUs haben.

Die meisten GPU-Server verfügen über zwei CPU-Sockel, wobei an jeden Sockel DRAM-Speicher angeschlossen ist. Die CPUs kommunizieren über Hochgeschwindigkeitskommunikationspfade (UPI für Intel-basierte Systeme).

Wenn man sich die PCIe-basierten Server genauer ansieht, erkennt man, dass drei unterschiedliche Systemarchitekturen für verschiedene Arbeitslasten konzipiert sind:

  • Single Root 
  • Dual Root
  • Direct Attached

Single-Root-Option. Die Single-Root-Architektur ist ideal für Anwendungen, die auf einer einzelnen CPU laufen, aber Zugriff auf mehrere GPUs benötigen. Ein einzelnes Root-System reserviert eine der CPUs (von zwei), um die gesamte Kommunikation mit den GPUs zu verwalten. Wie in Abbildung 1 dargestellt, kommuniziert die CPU mit den GPUs über einen PCI-Switch (PLX). Jeder PLX-Switch ist über 2 PCIe x16-Lanes mit der CPU verbunden und kann dann mit bis zu fünf GPUs doppelter Breite kommunizieren. Dies führt dazu, dass maximal 10 GPUs in einem einzelnen Server verwendet werden. Ein Single-Root-System ist auf Deep-Learning-Anwendungen zugeschnitten, bei denen der Großteil der Berechnungen auf der GPU stattfindet. Die allgemeine Konfiguration eines Single-Root-Systems ist in Abbildung 1 dargestellt.

Vorteile einer Single-Root-Konfiguration:

  • Eine einzelne CPU hat Zugriff auf bis zu 10 GPUs. Von dieser Konfiguration profitieren Anwendungen, die direkten Zugriff auf alle GPUs benötigen.
  • Anwendungen – Wenn die Peer-to-Peer-Kommunikation (GPU zu GPU) nicht kritisch ist.

 

Abbildung 1: Single Root schematisch dargestellt.

 

Dual-Root-Option. Ein Dual-Root-Setup verbindet jede CPU über einen PLX-Switch mit mehreren GPUs. Derzeit beträgt die maximale Anzahl an GPUs, die insgesamt adressiert werden können, 10. Die Verteilung der über den PLX-Switch angeschlossenen GPUs muss nicht pro CPU gleich sein, da die einem System zugewiesene(n) Arbeitslast(en) möglicherweise nicht einfach auf diese verteilt werden kann. Die CPUs können problemlos miteinander kommunizieren und die Kombinationen der an jeden PLX-Switch angeschlossenen PCIe-Geräte können sehr flexibel sein. In der Abbildung 2 verfügt jede
CPU (und jeder PLX-Switch) über 4 GPUs, 2 AOC-Karten und 4 NVMe-Speichergeräte. Dieser Systemtyp ist die häufigste Konfiguration für Omniverse-Umgebungen. Diese Konfiguration kommt Anwendungen zugute, die zwischen CPU und GPU ausgeglichen sind.

Vorteile einer Dual-Root-Konfiguration:

  • Workloads können einer CPU mit jeweils bis zu 10 GPUs oder anderen Geräten zugewiesen werden, auf die über einen PLX-Switch zugegriffen werden kann.
  • Anwendungen – Wo Daten zwischen den beiden CPUs geteilt und kommuniziert werden müssen. Dieses ausgewogene System ermöglicht den CPUs eine effiziente Kommunikation mit GPUs, Netzwerkkarten oder Speichergeräten. Beispiele hierfür sind AI Compute/Model Training/Deep Learning und High Performance Computing (HPC).

 

Abbildung 2: Dual Root schematisch dargestellt.

 

Direct Attached. In einem Direct-Attached-Setup verfügt jede der CPUs über direkten PCIe-Zugriff auf bis zu vier GPUs in voller Größe, also insgesamt acht pro System. Der Vorteil dieser Konfiguration besteht darin, dass keine PLX-Switches erforderlich sind und jede CPU über eine direkte Verbindung zu vier GPUs verfügt. Für HPC-Anwendungen ist ein direkt angeschlossenes Setup am häufigsten. In diesem Fall ermöglicht der PLX-Chip zwar mehr PCIe-Geräte, erhöht jedoch möglicherweise die Latenz zwischen den CPUs und den Geräten.

Vorteile:

  • Jede auf einer CPU ausgeführte Anwendung hat Zugriff auf vier GPUs.
  • Jede CPU hat gleichen Zugriff auf GPUs und E/A-Funktionen.
  • Anwendungen – Hervorragend geeignet für Computerumgebungen, in denen mehr als eine Anwendung gleichzeitig ausgeführt werden kann oder eine einzelne Anwendung aufgeteilt oder getrennt und verschiedenen CPUs zugewiesen werden kann.

 

Abbildung 3: Direct Attached schematisch dargestellt.

 

Fazit. Abhängig von der Anwendungsauslastung können unterschiedliche Konfigurationen von GPU-Servern bei Supermicro bezogen werden. Ob Direct Attached, Single Root oder Dual Root: Anwendungen werden reibungslos funktionieren, wenn die richtigen Kombinationen von CPUs und GPUs ausgewählt werden. Benutzer müssen die Unterschiede verstehen und ihre Arbeitslasten an die Server anpassen.

 

Supermicro GPU 4U/5U-Systeme mit PCIe-GPU-Optionen

 

Konfiguration Supermicro X12/X13 Servers (intel-basiert)

  • Single Root
    SYS-421GE-TNRT2 (Demnächst verfügbar)
  • Dual Root
    SYS-521GE-TNRT  [1] SYS-421GE-TNRT (OVX – Omniverse-optimiert)
    SYS-420GP-TNR  [2]
  • Direct Attached
    SYS-421GE-TNRT3  [3]
[1] https://www.supermicro.com/en/products/system/gpu/5u/sys-521ge-tnrt
[2] https://www.supermicro.com/en/products/system/gpu/4u/sys-420gp-tnr
[3] https://www.supermicro.com/en/products/system/gpu/4u/sys-421ge-tnrt3

 

PCIe-GPU-Unterstützungsoptionen

Die Supermicro X1-GPU-Server unterstützen die folgenden Intel-GPUs in den oben genannten Konfigurationen:
Intel® Data Center GPU Flex-Serie

 

 


Weitere Informationen zu den GPU-Servern von Supermicro finden Sie unter:
https://www.supermicro.com/en/products/gpu

Weitere Informationen zu Supermicro und Intel AI Solutions finden Sie unter:
https://www.supermicro.com/en/accelerators/intel

 

Illustration: © Aleksey Kashin | Dreamstime.com