Hallo Habr! Die Datenmengen fĂŒr Big Data und maschinelles Lernen wachsen exponentiell, und man muss sie rechtzeitig verarbeiten. Unser Beitrag handelt von einer weiteren innovativen Technologie im Bereich des Hochleistungsrechnens (HPC, High Performance Computing), die am Stand von Kingston auf prĂ€sentiert wurde. Dies ist die Anwendung von Hi-End-Speichersystemen (SSDs) in Servern mit Grafikeinheiten (GPUs) und der Technologie GPUDirect Storage. Durch den direkten Datenaustausch zwischen SSDs und GPUs, ohne Umweg ĂŒber die CPU, wird die Datenladezeit in GPU-Beschleuniger erheblich beschleunigt, sodass Big Data-Anwendungen mit maximaler Leistung ausgefĂŒhrt werden können, die die GPUs bieten. Im Gegenzug sind Entwickler von HPC-Systemen an Fortschritten im Bereich SSDs mit höchster Ein- / Ausgabegeschwindigkeit interessiert, wie sie von Kingston hergestellt werden.

Die Leistung von GPUs ĂŒbertrifft die Datenladezeiten
Seit der EinfĂŒhrung von CUDA im Jahr 2007 â einer Software-Hardware-Architektur fĂŒr paralleles Rechnen auf Basis von GPUs zur Entwicklung von Anwendungen fĂŒr allgemeine Zwecke â haben sich die HardwarefĂ€higkeiten der GPUs enorm gesteigert. Heute finden GPUs immer breitere Anwendung im Bereich von HPC-Anwendungen wie Big Data, maschinellem Lernen (ML) und Deep Learning (DL).
Es ist zu beachten, dass trotz der Ăhnlichkeit der Begriffe die letzten beiden - dies sind algorithmisch unterschiedliche Aufgaben. ML trainiert den Computer auf der Grundlage strukturierter Daten, wĂ€hrend DL auf der Grundlage der RĂŒckmeldung von neuronalen Netzen arbeitet. Ein Beispiel zur Veranschaulichung der Unterschiede ist recht einfach. Angenommen, der Computer soll Fotos von Katzen und Hunden unterscheiden, die von einem SpeichergerĂ€t hochgeladen werden. FĂŒr ML sollte ein Bildsatz mit vielen Tags bereitgestellt werden, von denen jeder ein bestimmtes Merkmal des Tieres definiert. FĂŒr DL genĂŒgt es, eine viel gröĂere Anzahl von Bildern hochzuladen, aber nur mit einem einzigen Tag âdas ist eine Katzeâ oder âdas ist ein Hundâ. DL Ă€hnelt sehr dem, wie kleine Kinder lernen â sie sehen sich einfach Bilder von Hunden und Katzen in BĂŒchern und im Leben an (hĂ€ufig sogar ohne detaillierte ErklĂ€rungen zu den Unterschieden), und das Gehirn des Kindes beginnt selbst, den Typ des Tieres nach einer bestimmten kritischen Anzahl von Vergleichsbildern zu definieren (laut SchĂ€tzungen sind das nur etwa einhundert bis zweihundert VorfĂŒhrungen in der gesamten frĂŒhen Kindheit). Die DL-Algorithmen sind noch nicht perfekt: Damit ein neuronales Netzwerk zur erfolgreichen Mustererkennung in der Lage ist, mĂŒssen Millionen von Bildern auf der GPU bereitgestellt und verarbeitet werden.
Zusammenfassend lĂ€sst sich sagen: Auf Basis von GPUs können HPC-Anwendungen im Bereich Big Data, ML und DL entwickelt werden, aber es gibt ein Problem â die DatensĂ€tze sind so groĂ, dass die Zeit, die fĂŒr das Laden der Daten aus dem Speichersystem in die GPU aufgewendet wird, die Gesamtleistung der Anwendung zu verringern beginnt. Mit anderen Worten bleiben die schnellen Grafikprozessoren aufgrund der langsamen Daten-Eingabe- und -Ausgabe von anderen Subsystemen unterausgelastet. Der Unterschied in der Eingabe-/Ausgabegeschwindigkeit zwischen der GPU und dem Bus zu CPU/SpeichergerĂ€t kann um den Faktor zehn betragen.
Wie funktioniert die Technologie GPUDirect Storage?
Der Eingabe- und Ausgabeprozess wird vom CPU gesteuert, ebenso wie der Prozess des Ladevorgangs von Daten aus dem Speicher in die Grafikprozessoren zur anschlieĂenden Verarbeitung. Daher entstand die Notwendigkeit fĂŒr eine Technologie, die einen direkten Zugriff zwischen GPU und NVMe-Laufwerken fĂŒr eine schnelle Interaktion zwischen ihnen ermöglichen wĂŒrde. Die erste solche Technologie wurde von NVIDIA vorgestellt und als GPUDirect Storage bezeichnet. Im Wesentlichen handelt es sich um eine Variante der zuvor von ihnen entwickelten Technologie GPUDirect RDMA (Remote Direct Memory Access).

Jensen Huang, CEO von NVIDIA, prÀsentiert GPUDirect Storage als eine Variante von GPUDirect RDMA auf der Messe SC-19. Quelle: NVIDIA
Der Unterschied zwischen GPUDirect RDMA und GPUDirect Storage liegt in den GerĂ€ten, zwischen denen die Adressierung erfolgt. Die GPUDirect RDMA-Technologie ist fĂŒr den direkten Datentransfer zwischen der eingehenden Netzwerkschnittstellenkarte (NIC) und dem GPU-Speicher konzipiert, wĂ€hrend GPUDirect Storage einen direkten Ăbertragungsweg zwischen lokalem oder entfernten Speicher, wie NVMe oder NVMe ĂŒber Fabric (NVMe-oF), und dem GPU-Speicher bietet.
Beide Optionen, GPUDirect RDMA und GPUDirect Storage, vermeiden unnötige Datenbewegungen durch einen Puffer im CPU-Speicher und ermöglichen es dem Direct Memory Access (DMA) Mechanismus, Daten direkt vom Netzwerkadapter oder Speicher in den GPU-Speicher oder umgekehrt zu verschieben â alles ohne Belastung des Hauptprozessors. FĂŒr GPUDirect Storage spielt der Standort des Speichers keine Rolle: Er kann eine NVMe-Disk innerhalb der GPU-Einheit, im Rack oder netzwerkgebunden als NVMe-oF sein.

Funktionsweise von GPUDirect Storage. Quelle: NVIDIA
Hi-End SANs auf NVMe sind auf dem Markt fĂŒr HPC-Anwendungen gefragt.
Angesichts der Tatsache, dass mit dem Erscheinen von GPUDirect Storage das Interesse groĂer Kunden auf Systeme mit einer Eingangs-/Ausgabegeschwindigkeit gelenkt wird, die der Bandbreite von GPUs entspricht, prĂ€sentierte Kingston auf der Messe SC-19 ein Demomuster aus einem SAN, das auf NVMe-Disk basierte und eine GPU-Einheit beinhaltete und in der Tausende von Satellitenbildern pro Sekunde analysiert wurden. Ăber ein solches SAN auf Basis von 10 DC1000M U.2 NVMe-Laufwerken haben wir bereits berichtet. .

Das SAN basierend auf 10 DC1000M U.2 NVMe-Laufwerken ergÀnzt den Server mit Grafikkarten hervorragend. Quelle: Kingston
Ein solches SAN wird als 1U oder gröĂerer Rack-Einheit ausgefĂŒhrt und kann je nach Anzahl der DC1000M U.2 NVMe-Laufwerke skaliert werden, wobei jedes eine KapazitĂ€t von 3,84â7,68 TB hat. Der DC1000M ist das erste NVMe SSD-Modell im U.2-Formfaktor in der Kingston-Linie von Datacenter-Laufwerken. Es hat eine Ausdauerbewertung (DWPD, Drive writes per day), die es ermöglicht, Daten einmal tĂ€glich auf die volle KapazitĂ€t wĂ€hrend der garantierten Lebensdauer des Laufwerks zu ĂŒberschreiben.
Im Test fio v3.13 unter Ubuntu 18.04.3 LTS, Linux-Kernel 5.0.0-31-generic, zeigte das Ausstellungsmodell des SAN eine Leseleistung (Sustained Read) von 5,8 Millionen IOPS bei einer stabilen Bandbreite (Sustained Bandwidth) von 23,8 Gbit/s.
Ariel PĂ©rez, Business-Manager fĂŒr SSD bei Kingston, charakterisierte die neuen Speicherlösungen mit den Worten: âWir sind bereit, die nĂ€chste Generation von Servern mit U.2 NVMe SSD-Lösungen auszustatten, um viele der traditionellen EngpĂ€sse in der DatenĂŒbertragung zu beseitigen, die mit Speichersystemen verbunden sind. Die Kombination von NVMe SSD-Speichern und unserem Premium Server Premier DRAM macht Kingston zu einem der umfassendsten Anbieter von integrierten Datenverarbeitungslösungen in der Branche.â

Der Test gfio v3.13 zeigte eine Bandbreite von 23,8 Gbit/s fĂŒr die Demoversion der Speicherlösung auf DC1000M U.2 NVMe-Laufwerken. Quelle: Kingston
Wie könnte ein typisches System fĂŒr HPC-Anwendungen aussehen, in dem die GPUDirect Storage-Technologie oder eine Ă€hnliche implementiert ist? Es handelt sich um eine Architektur mit physischer Trennung der funktionalen Einheiten innerhalb des Racks: ein bis zwei Einheiten fĂŒr den Arbeitsspeicher, mehrere weitere fĂŒr die Rechenknoten GPU und CPU sowie eine oder mehrere Einheiten fĂŒr das Speichersystem.
Mit der AnkĂŒndigung von GPUDirect Storage und dem möglichen Auftauchen Ă€hnlicher Technologien bei anderen GPU-Anbietern wĂ€chst die Nachfrage nach Speichersystemen von Kingston, die fĂŒr den Einsatz in Hochleistungsrechnen konzipiert sind. Ein Marker wird die Lesegeschwindigkeit der Daten aus dem Speichersystem sein, vergleichbar mit der Bandbreite von 40- oder 100-Gbit-Netzwerkkarten an der Eingangsseite der Recheneinheit mit GPU. So werden ultraschnelle Speichersysteme, einschlieĂlich externer NVMe ĂŒber Fabrics, von einer Exotik zu einem Mainstream fĂŒr HPC-Anwendungen. Neben Wissenschaft und Finanzberechnungen finden sie Anwendung in vielen anderen praktischen Bereichen, wie z.B. Sicherheitssystemen auf Mega-StĂ€dte-Niveau wie Safe City oder VerkehrsĂŒberwachungszentren, wo die Geschwindigkeit von Erkennung und Identifikation auf dem Niveau von Millionen HD-Bildern pro Sekunde erforderlich istâ, so wurde die Marktposition der fĂŒhrenden Speichersysteme gekennzeichnet.
ZusÀtzliche Informationen zu den Produkten von Kingston finden Sie auf der Firma.
Quelle: habr.com
