Vor einigen Jahren wurde das Konzept der Computerspeicher wurde unter Branchenkennern diskutiert und als mögliche Antwort auf die uralte Frage nach der Maximierung der CPU-Verarbeitungsleistung angepriesen. Die Idee schien auf den ersten Blick verlockend. Stellen Sie sich vor, Speichergeräte wie SSDs könnten tatsächlich einen Teil der Verarbeitung der auf ihnen gespeicherten Informationen übernehmen, sodass weniger Daten zwischen Speicher und CPU übertragen werden müssten. Theoretisch könnte dies helfen, Strom zu sparen, den Datentransfer zu reduzieren und Berechnungen zu beschleunigen.
Doch wie bei vielen scheinbar revolutionären Ideen gab es bisher einfach keine Möglichkeit, aus dem Konzept ein Geschäft zu machen – vor allem, weil jeder Anwendungsfall höchst einzigartig und einfach nicht skalierbar ist.
Wenn Ingenieure und Entwickler über Computational Storage sprechen, ist dies oft ein Zukunftsszenario: „Was wäre, wenn wir Linux auf einem Laufwerk ausführen könnten und ihm einfach größere Prozessoren geben würden?“ Die Idee mag zwar innovativ erscheinen, doch fehlt es ihr an Fokus und praktischer Anwendung. Es ist ein fehlgeleitetes Denken, das übermäßig kompliziert und von technologischem Idealismus getrieben ist. Letztendlich wird es nicht zu den erhofften Vorteilen führen.
Ein intelligenterer Ansatz: Maßgeschneiderte Beschleunigung
Bei Phison haben wir unser Wissen über Innovationen in der NAND-Speichertechnologie genutzt, um die Verarbeitungslast besser auf SSDs auszulagern. Dies geschieht mit einem maßgeschneiderten Beschleunigungsansatz, der sich auf die Aufgaben konzentriert, für die Speichergeräte am besten geeignet sind: die Anwendung fester Operationen auf Bereiche der logischen Blockadressierung (LBA). Wir integrieren spezielle Beschleuniger in unsere SSDs, um spezielle Aufgaben zu bewältigen, die weder übermäßigen Stromverbrauch noch übermäßige Komplexität erfordern.
Wir entwickeln beispielsweise Hardwarebeschleuniger, die bestimmte Operationen mit sehr hoher Geschwindigkeit ausführen können, wie z. B. die Qualifizierung großer Datensätze, objektbasiertes Erasure Coding, Prüfsummenprüfung und das Herausfiltern irrelevanter Informationen, bevor diese die CPU erreichen. Dies ermöglicht eine schnellere und effizientere Datenverarbeitung, insbesondere in anspruchsvollen Umgebungen wie Rechenzentren oder Supercomputing-Clustern. Durch die Verarbeitung von Daten auf SSD-Ebene lässt sich die Datenmenge reduzieren, die über den PCIe-Bus oder das Netzwerk übertragen werden muss. Dies reduziert Überlastungen, mildert Bandbreitenbeschränkungen und steigert die Gesamtleistung.
Durch die Fokussierung auf hochspezifische Aufgaben, die sonst als „Plackerei“ gelten, bieten diese Beschleuniger erhebliche Vorteile ohne nennenswerte Mehrkosten oder Stromverbrauch. Die beschleunigten SSDs verarbeiten große Datenmengen deutlich schneller und verbrauchen dabei weniger Strom als herkömmliche Prozessoren. Wichtig ist, dass dieser Ansatz auf mehrere Laufwerke skaliert werden kann, wodurch ein effizienteres, parallelisiertes System entsteht, das herkömmliche CPU-gebundene Verarbeitung übertrifft.
Die Host-CPU kann alle oben aufgeführten Aufgaben schneller erledigen als eine einzelne SSD, es gibt jedoch praktische Einschränkungen für die Gesamt-CPU DRAM Bandbreite, die für Nicht-Betriebssystem-Aufgaben verwendet werden kann. Darüber hinaus verbraucht die Verschiebung dieser Daten von SSD zu DRAM etwa die Hälfte der für die CPU verfügbaren DDR-Bandbreite. Berücksichtigt man, dass ein All-Flash-Speichergehäuse 30, 60 oder sogar 90 SSDs enthalten kann, bietet dies dem Gerät eine hohe Auslastungskapazität. Ein Gehäuse mit 90 Gen6-SSDs kann Daten mit 2,5 TB/s verarbeiten, ohne die CPU-Ressourcen zu beeinträchtigen. In diesem Szenario führen die SSDs Vorfilterungs- und Vorberechnungsaufgaben durch, während die CPU wichtigere Vorgänge übernimmt.
Neue Anwendungen im HPC- und Sicherheitsbereich verändern die Computational-Storage-Landschaft
Phison hat kürzlich einen Kurswechsel vollzogen und sucht nach neuen Möglichkeiten, einen Teil der CPU-Arbeitslast auf SSDs auszulagern, die über gezielte Beschleuniger hinausgehen. In einigen Fällen fügt das Unternehmen dem Speicher-Array sogar CPU-Cluster hinzu – der große Unterschied besteht jedoch darin, dass die CPU-Cluster nicht für Berechnungen, sondern für die Ausführung von Webdiensten oder Microservices verwendet werden. Sie erscheinen als zusätzliche adressierbare CXL-Dienste auf dem PCIe-Bus.
Betrachten wir beispielsweise ein KI-Projekt, das viel Pipelining erfordert. Dabei erzeugt ein großes Sprachmodell (LLM) Daten und gibt sie aus, ein anderes LLM verarbeitet sie, transformiert sie und sendet sie an ein weiteres LLM usw. Ein Beispiel hierfür wäre die Videoübersetzung eines TED-Talks: Ein LLM extrahiert den englischen Ton und wandelt ihn in Text um, ein weiteres LLM übersetzt den Text ins Chinesische, ein weiteres, auf die Stimme eines Prominenten trainiertes LLM erzeugt diese Tonspur usw., bis schließlich ein brandneues Video des Prominenten herauskommt, der den Vortrag auf Chinesisch mit synchronisierten Lippenbewegungen hält.
Dieser komplexe Vorgang umfasst viele kleine Schritte, die typischerweise von der CPU oder GPU ausgeführt werden und zahlreiche Modellwechsel erfordern. Warum könnten Sie die SSDs nicht nutzen, um diese kleinen Schritte im Hintergrund auszuführen, während die Haupt-CPU Aufgaben an diese Beschleuniger delegiert und andere anspruchsvolle Aufgaben ausführt? In High-Performance-Computing-Organisationen (HPC) können die Ergebnisse beeindruckend sein.
Es ist nicht ungewöhnlich, dass ein HPC-Cluster über 100 Petabyte Datenspeicher verfügt (einschließlich doppelter und dreifacher Redundanz). Das bedeutet, dass 100.000 SSDs zur Verteilung der Arbeitslast genutzt werden können. Plötzlich sind Vorgänge, die früher ein oder zwei Tage dauerten, in Sekundenschnelle erledigt.
In großen HPC-Arrays gibt es so viele SSDs, dass deren Bandbreite die gesamte Netzwerk- oder CPU-Bandbreite übersteigt. Hier haben wir bei Phison erkannt, dass es ein riesiges ungenutztes Potenzial für intelligente SSDs gibt.
Während es beim HPC-Anwendungsfall vor allem um Geschwindigkeit und Rechenleistung geht, haben wir uns auch mit Sicherheitsanwendungsfällen befasst, bei denen es eher um absolut zuverlässige FIPS 140-3-konforme Produkte geht, die Sicherheitsdienste bieten, die weit über die Leistung von TPM 2.0 hinausgehen.
Eine SSD kann Hunderte von kryptografischen Operationen wie Signieren und Verifizieren pro Sekunde ausführen – und wenn ein Server 30 bis 90 SSDs besitzt, steigt die Rechenleistung entsprechend. Jede SSD fungiert als unabhängiger hardwarebasierter Agent mit einer Vertrauensankerstelle, die auf Ihren HSM-Server (Hardware Security Module) verweist. Zusammengenommen übertreffen all diese Laufwerke die Leistung einer einzelnen leistungsstarken CPU, da die CPUs nicht als DSA-Engines (Digital Signing Algorithm) konzipiert sind. Die Leistung mehrerer SSDs, kombiniert mit der Tatsache, dass die Hardware bereits im Server installiert ist, bietet enorme Vorteile für mehr Sicherheit.
Beseitigen Sie Komplexität durch Spezifität
Obwohl Phison weiterhin davon überzeugt ist, dass das traditionelle, generische Konzept von Computational Storage letztlich nicht zielführend ist, sehen wir Anwendungsfälle, in denen ein anderer Ansatz für Computational Storage von Vorteil sein kann. Zielgerichtete Beschleuniger vereinfachen bestimmte Operationen. Die enorme On-Board-Bandbreite von SSDs und die potenziellen Vorteile einer neuen Nutzung dieser Leistung könnten in naher Zukunft zu spannenden Anwendungen führen.