HPC Glossar




Glossar



Begriff Erklärung
CUDA Compute Unified Device Architecture, eine Sammlung von technologischen Komponenten zur Verwendung von NVIDIA GPU für GPGPU Berechnungen.
Computing-Node Die Basiseinheit eines Computing-Clusters. Er ist mit Prozessoren der neuesten Generation ausgestattet und kann die Aufgaben, die ihm der Master-Server übermittelt, schnell abarbeiten. Ein HPC Cluster kann aus mehreren Dutzend oder Hunderten von Computing-Nodes bestehen.
Digitale Simulation Ausführung eines Programms auf einem Computer oder Computerverbund, um ein komplexes reales Phänomen zu reproduzieren. Die numerische Simulation wird zur virtuellen Durchführung von Experimenten verwendet, deren reale Umsetzung zu komplex, langwierig, kostspielig oder schlicht unmöglich ist.
GPGPU General-Purpose (Computing on) Graphics Processing Units steht für die Durchführung von Rechenoperationen auf einer GPU, um deren massiv parallele Verarbeitungskapazität für verschiedenste Zwecke (nicht ausschließlich grafischer Art) zu nutzen. Der Begriff GPGPU wird mittlerweile sowohl für die verwendeten CPU selbst als auch deren Verwendung in diesem Bereich verwendet.
GPU Graphics Processing Unit, eine Verarbeitungseinheit einer Grafikkarte. Moderne GPU bauen auf massiv parallelen Architekturen auf, deren Rechenleistung bei bestimmten Aufgaben die Leistung klassischer Prozessoren (CPU) erheblich übersteigt.
HPC High Performance Computing, auch als Hochleistungsrechnen oder Supercomputing bezeichnet.
HPC Cloud Gehostete Computing-Dienstleistung, oft auf virtuellen Maschinen basierend.
HPC Cluster Servergruppe zur parallelen Ausführung einer Anwendung oder Codes auf mehreren Servern. Die Rechner sind überwiegend aus Standardhardware aufgebaut. Somit sind sie günstiger als die in der Vergangenheit genutzten Vector-Supercomputer und haben sie daher über die letzten Jahre vollkommen ersetzt.
HPCDrive Von OVH entwickeltes Web-Portal für eine einfachere Nutzung und Administration eines HPC Clusters.
HPCaaS HPC as a Service
Infiniband  Netzwerk-Typ mit sehr hohem Durchsatz und geringer Latenz, der aufgrund der im Vergleich zu klassischen Ethernet-Technologien höheren Performance breite Anwendung im HPC Bereich findet.
MPI Message Parsing Interface, ein Kommunikationsstandard für Nodes, die parallele Programme auf Systemen mit verteiltem Speicher wie beispielsweise HPC Clustern ausführen.
Master-Server Es ist der Verwaltungs-Server eines HPC-Clusters. Er verwaltet verschiedene Cluster-Ressourcen und zentralisiert alle Informationen. Er ist der Mittelpunkt einer Rechnerinfrastruktur.
Open MP Programmier-Interface zur parallelen Berechnung auf einer Shared-Memory-Architektur. Dieses Interface erlaubt es, gewisse Codestücke mit viel kleinerem Aufwand zu parallelisieren als mit MPI, bietet aber nicht die Möglichkeit, den Code über mehrere Nodes des Clusters verteilt auszuführen.
OpenACC Die OpenACC-API bietet Programmieren die Möglichkeit, einfache Anweisungen in Ihren Code zu integrieren, die gewisse Schleifen oder Funktionen beschleunigen, indem sie Gebrauch von neuen CPU oder GPU Technolgoien machen.
OpenCL  Programmier-Interface für die Nutzung von Heterogenen Systemen. Also Systeme, die aus CPU und GPGPU bestehen. Schematisch kann OpenCL als alternativer Standard zu CUDA (ältere, proprietäre Software) gesehen werden.
Parallelisierung Sammlung von Hard- und Softwaretechniken um viele Informationen gleicheitig zu verarbeiten, um die Gesamt-Bearbeitungszeit zu reduzieren. Die Parallelisierung ist der Schlüssel zur Leistung von HPC-Clustern und modernen Prozessoren: Eine digitale Simulation ist typischerweise in kleinere, mehr oder weniger unabhängige, Aufgaben unterteilt. Jeder dieser Unteraufgaben wird auf einer Recheneinheit (CPU-Kern), gleichzeitig mit den anderen bearbeitet. Parallelisierung ermöglicht eine enorme Zeitersparnis für gewisse Arten von Berechnungen, hat jedoch auch einige Einschränkungen: Nicht alle Algorithmen eignen sich zur Parallelisierung und es werden Hochgeschwindigkeits-Busse benötigt, um die Daten zwischen den Kernen schnell auszutauschen und so den Zeitverlust durch diese Austausche zu begrenzen.
SLURM Simple Linux Utility for Resource Management. SLURM ist ein Prozessmanager, der immer häufiger auf HPC-Clustern, einschließlich der Leistungsstärksten, genutzt wird.
SaaS Software as a Service
Scheduler Englisch: "batch scheduler". Programm, um die Beschreibung von Tasks aufzunehmen, und die notwendigen Ressourcen für die Durchführung dieser zu Reservieren. So können die Tasks optimal ausgeführt werden und die Wartezeit vor dem Start eines Tasks wird minimiert. Die Effizienz der Scheduler ist ein Schlüsselelement von HPC-Clustern.
Shared Memory Architektur Ein System, in dem jede Bearbeitungseinheit, z.B. ein Prozessor, auf den kompletten Speicher zugreifen kann. Üblicherweise findet man dies bei klassischen Rechnern, wo zwei Prozesse einfach den Speicher teilen um schnell Daten auszutauschen.
Tesla Eine Produktreihe von "Grafikkarten" des Herstellers Nvidia, die für GPGPU-Berechnungen ausgelegt sind.
Verteilte Speicherarchitektur System, in dem eine Recheneinheit nur direkten Zugriff auf einen Teil des globalen Speichers hat. In einem HPC Cluster ist jeder Computing-Node unabhängig und kann nicht direkt auf den Speicher anderer Nodes zugreifen um effektiv parallel zu arbeiten. Ein derartiger Zugriff ist aber mit ad-hoc Programmierschnittstellen wie MPI möglich. Dies setzt angepassten Code voraus und die Anpassung des Codes stellt einen beachtlichen Aufwand dar.
Xeon Phi Multiprozessor-Architektur von Intel zur Durchführung von parallelen Berechnungen. Die Xeon Phi Karten positionieren sich als Konkurrenz zu anderen GPGPU Lösungen wie zum Beispiel Tesla, bieten jedoch eine einfachere Programmierung, da Verarbeitungseinheiten genutzt werden, die sich eher an klassischen Prozessor-Cores als an GPU-Cores orientieren.