CXL-Speicherlösung: Was ist das?

Waren Sie schon einmal frustriert, weil Ihnen der Arbeitsspeicher ausgegangen ist, Sie aber nicht so einfach mehr Speicher hinzufügen konnten, wie man einen Stecker einsteckt? USB-Stick? Die CXL-Technologie wurde entwickelt, um dieses Problem zu lösen. Sie funktioniert wie ein “externes Erweiterungssystem” für den Arbeitsspeicher und ermöglicht es Servern oder Workstations, über spezielle Kabel und Erweiterungskarten flexibel große Mengen an externem Speicher hinzuzufügen und sogar mehreren Rechnern die gemeinsame Nutzung eines gemeinsamen Speicherpools zu ermöglichen. Dank der CXL-Technologie wird 1 TB Systemspeicher – was früher nur auf teuren Mainframes möglich war – im Hochleistungsrechnen und in der künstlichen Intelligenz immer häufiger zum Standard.

Was ist CXL? Artikel-Header-Bild: CXL-Speicherlösung: Was ist das?

Warum wurde CXL ins Leben gerufen?

Man kann sich den Speicher eines herkömmlichen Servers wie ein großes Wohnhaus mit einzelnen Abstellräumen vorstellen: Jeder Raum (jeder Server) verfügt über einen eigenen Stauraum, doch die Größe dieses Raums steht bereits beim Einzug fest, und selbst wenn der Abstellraum des Nachbarn leer ist, kann man ihn nicht mitbenutzen. Mit dem Wachstum von künstlicher Intelligenz, Cloud Computing und Big Data zeigen sich bei diesem Modell nun drei gravierende Probleme.

Wenn die physischen Steckplätze aufgebraucht sind, kann kein weiterer Speicher hinzugefügt werden. Die Anzahl der Speichersteckplätze auf jedem Server-Motherboard ist begrenzt, in der Regel acht, zwölf oder sechzehn. Selbst wenn Sie jeden Steckplatz mit den Speichermodulen mit der größten auf dem Markt erhältlichen Kapazität bestücken, stößt die Gesamtkapazität dennoch an eine Obergrenze. Wenn Ihre Anwendung mehr Speicher benötigt, als diese Obergrenze zulässt, besteht die einzige Lösung darin, einen teureren Server der Spitzenklasse zu kaufen, anstatt einfach mehr Speicher in den vorhandenen Rechner einzubauen.

Speicherressourcen können nicht gemeinsam genutzt werden, was zu einer enormen Verschwendung führt. In großen Rechenzentren erreichen verschiedene Server oft zu unterschiedlichen Zeiten ihre Spitzenauslastung. Bei herkömmlichen Architekturen können diese ungenutzten Speicherressourcen jedoch nicht von den Servern “ausgeliehen” werden, die sie benötigen. Branchenstatistiken zeigen, dass die Speicherauslastung in Rechenzentren oft unter fünfzig Prozent liegt, was bedeutet, dass fast die Hälfte der Hardware-Investitionen ungenutzt bleibt.

Um plötzliche Nachfrageschwankungen bewältigen zu können, sind Unternehmen gezwungen, übermäßig zu investieren. Wenn ein Projekt gelegentlich die doppelte Speichermenge benötigt, besteht die herkömmliche Lösung darin, Hardware anzuschaffen, die den Spitzenbedarf deckt. Dieses Geld wird für Kapazitäten ausgegeben, die die meiste Zeit ungenutzt bleiben. Und sobald diese Hardwaremodule installiert sind, lassen sie sich nicht mehr flexibel auf verschiedene Projekte umverteilen oder bei wachsendem Geschäftsvolumen problemlos erweitern.

Es sollte alle drei Probleme auf einmal lösen – begrenzte physische Kapazitäten, Unfähigkeit zur gemeinsamen Nutzung von Ressourcen und geringe Investitionseffizienz – dass Ingenieure die CXL-Technologie entwickelt haben. Sie verändert die Art und Weise, wie Speicher mit Recheneinheiten verbunden wird, grundlegend und macht den Speicher zu einer Ressource, die bei Bedarf angeschlossen und dynamisch zugewiesen werden kann.

Was ist CXL und wie funktioniert es?

CXL ist ein offenes Kommunikationsprotokoll, das auf der physikalischen PCIe-Schnittstelle basiert. Sein vollständiger Name lautet Compute Express Link, Man kann sich das als eine Reihe von “Sprachregeln” vorstellen, die eine schnelle, kohärente Kommunikation mit geringer Latenz zwischen der CPU und externen Speichergeräten ermöglichen. Das Besondere an CXL ist, dass es der CPU ermöglicht, externen Speicher so zu behandeln, als wäre er Teil ihres eigenen Systems, anstatt als Peripheriegerät, auf das nur über einen Umweg zugegriffen werden kann.

Cache-Kohärenz

Stellen Sie sich folgendes Szenario vor: Sie und ein Kollege bearbeiten dasselbe Online-Dokument. Wenn jeder von Ihnen eine lokale Kopie speichert und dann Änderungen vornimmt, kommt es beim Zusammenführen zu Konflikten – wessen Änderungen haben Vorrang? Der Computerspeicher steht vor dem gleichen Problem. Innerhalb der CPU gibt es einen sehr schnellen, kleinen Speicherbereich, den sogenannten “Cache”, der Kopien der zuletzt aus dem Hauptspeicher verwendeten Daten enthält. Wenn die CPU auf den Speicher zugreift, liest sie zuerst aus dem Cache, was viel schneller ist. Wenn jedoch sowohl der lokale DDR-Speicher als auch der externe CXL-Speicher Kopien derselben Daten enthalten und eine Kopie geändert wird, muss die andere Kopie entsprechend aktualisiert werden. Andernfalls könnte die CPU falsche Daten lesen. Dieses Problem wird als “Cache-Kohärenz” bezeichnet. CXL enthält ein spezielles Subprotokoll, um dies zu bewältigen, das ständig zwischen der CPU und dem externen Speicher “kommuniziert”, um sicherzustellen, dass alle Kopien konsistent bleiben.

Speicherpooling und flexible Zuweisung

Nach dem herkömmlichen Ansatz kann jeder Server nur den Speicher in seinen eigenen Steckplätzen nutzen. CXL führt das Konzept des “Pooling” ein”: Man kann mehrere CXL-Speichergeräte an einen CXL-Switch anschließen und so einen einzigen Speicherpool mit großer Kapazität bilden, aus dem sich dann mehrere Server nach Bedarf Speicher “beziehen” können. Das ist vergleichbar mit einem Bürogebäude, in dem die einzelnen Wasserspender in jedem Büro durch eine zentrale Wasserstation im Flur ersetzt werden, an der sich jeder nach Bedarf mit Wasser versorgen kann. Die Gesamtkapazität der Wasserstation kann geringer sein als die Summe von zehn einzelnen Wasserspendern, deckt aber dennoch den Bedarf aller, da sich ihre Spitzenauslastungszeiten nicht überschneiden. In ähnlicher Weise ermöglicht ein CXL-Speicherpool den Managern von Rechenzentren, Speicher dynamisch auf der Grundlage der Echtzeitauslastung jedes Servers zuzuweisen – bei hoher Auslastung mehr bereitzustellen und bei Leerlauf wieder zurückzufordern –, wodurch mehr Rechenaufgaben mit weniger Hardware insgesamt unterstützt werden.

CXL-Speicherpool und -Switches – CXL-Speicherlösung: Was ist das?

Was umfasst die CXL-Technologie?

CXL ist eine umfassende Speicherlösung, die alles von der physischen Hardware bis hin zur Softwarekonfiguration abdeckt. Man kann sich dieses System wie eine Autobahn vorstellen: Die Straße selbst (die physische Verbindung) ist nur das Fundament; man braucht auch Verkehrsregeln (das Kommunikationsprotokoll), damit die Fahrzeuge geordnet fließen, und man braucht ein Verkehrsmanagementsystem (die Softwarekonfiguration), um den Fahrzeugen vorzugeben, wohin sie fahren und welche Spur sie benutzen sollen. Fehlt eine dieser Ebenen, kann die Autobahn nicht wirklich funktionieren.

Hardware-Ebene: Die sichtbaren Komponenten

Der physische Teil der CXL-Technologie umfasst verschiedene Gerätetypen, die zusammen die Infrastruktur für die Speichererweiterung bilden. Die gängigste Hardware ist die CXL-Speichererweiterungskarte, die ähnlich wie eine Grafikkarte aussieht und direkt in einen vorhandenen PCIe-Steckplatz auf einem Server-Motherboard gesteckt werden kann. Diese Karte verfügt über aufgelötete Speicherchips oder Steckplätze für Speichermodule. Nach dem Einstecken erkennt das System die zusätzliche Speicherkapazität. Eine weitere Hardwarevariante ist das CXL-Speichermodul, das kleiner ist – ähnlich wie ein kompaktes Solid-State-Laufwerk – und in dedizierte Server-Laufwerksschächte eingebaut werden kann, wodurch es sich für Anwendungen mit hoher Dichte eignet.

CXL-Hardwaretypen CXL-Speicherlösung: Was ist das?

Wenn Sie mehrere Server oder Speichergeräte miteinander verbinden müssen, kommt ein CXL-Switch zum Einsatz. Er ähnelt einem Netzwerk-Switch, leitet jedoch statt Netzwerkpaketen Speicherzugriffsanfragen weiter. Über einen CXL-Switch können Administratoren mehrere CXL-Speicherkarten miteinander verbinden, um einen einheitlichen Speicherpool mit großer Kapazität zu bilden, und dann mehreren Servern ermöglichen, die Ressourcen dieses Pools gleichzeitig gemeinsam zu nutzen. Bei größeren Entfernungen können spezielle CXL-Kabel eine Hochgeschwindigkeitsübertragung über Entfernungen von mehreren Metern oder sogar Dutzenden von Metern gewährleisten, sodass Speichergeräte in anderen Racks als die Server untergebracht werden können.

Protokollschicht: Die sprachlichen Regeln der Kommunikation

CXL-Protokollschicht – CXL-Speicherlösung: Was ist das?

Wenn die Hardware das Gerüst ist, dann ist das Protokoll die Seele, die dafür sorgt, dass alles funktioniert. Das CXL-Protokoll umfasst drei parallele Teilprotokolle, von denen jedes für eine andere Aufgabe zuständig ist. Sie können gleichzeitig arbeiten, ohne sich gegenseitig zu stören.

  • Das erste Unterprotokoll heißt CXL.io, und seine Aufgabe besteht in der Erkennung und Initialisierung von Geräten. Wenn Sie eine CXL-Speicherkarte in einen Server einstecken, CXL.io ist dafür zuständig, dass die CPU das Gerät erkennt, dessen grundlegende Informationen (wie Kapazität und unterstützte Modi) ausliest und ihm Adressraum zuweist. Dieser Vorgang ähnelt stark dem Einstecken einer Grafikkarte oder einer Netzwerkkarte.
  • Das zweite Unterprotokoll heißt CXL.cache, was eine der Kernfunktionen von CXL ist. CXL.cache sorgt für die Datenkonsistenz zwischen dem Cache der CPU und dem externen Speicher. Wie bereits beschrieben, stellt CXL.cache sicher, dass bei einer Änderung eines Datensatzes durch die CPU auch die entsprechende Kopie im externen Speicher aktualisiert wird und umgekehrt.
  • Das dritte Unterprotokoll heißt CXL.mem, das für das eigentliche Lesen und Schreiben von Daten zuständig ist. Wenn die CPU Daten aus dem CXL-Speicher lesen muss, übermittelt CXL.mem die Anforderung und gibt die Daten zurück; wenn die CPU Daten in den CXL-Speicher schreiben muss, führt CXL.mem die Übertragung auf ähnliche Weise durch.

Software-Ebene: Konfiguration und Verwaltung, damit alles funktioniert

Durch die Softwarekonfiguration können das Betriebssystem und die Anwendungen diesen neuen Speicher tatsächlich nutzen. Im BIOS muss der Administrator die CXL-Funktionalität aktivieren und Ressourcen zuweisen. Auf Betriebssystemebene wird CXL-Speicher – am Beispiel von Linux – als separater NUMA-Knoten erkannt, und der Administrator kann über Befehle festlegen, ob ein Programm den lokalen Speicher oder den CXL-Speicher bevorzugen soll. Moderne Betriebssysteme unterstützen zudem Speicher-Tiering, wodurch die aktivsten Daten automatisch im schnellen lokalen DDR-Speicher verbleiben und weniger aktive Daten in den CXL-Speicher migriert werden. Für die überwiegende Mehrheit der Anwendungen sind keine Codeänderungen erforderlich, um CXL-Speicher zu nutzen, da das Betriebssystem diesen wie regulären Speicher verwaltet.

oscoo 2b Banner 1400x475 1 CXL-Speicherlösung: Was ist das?

CXL im Vergleich zu herkömmlichen Speicherlösungen

AspektHerkömmliche DDR-LösungCXL-Lösung
KapazitätsobergrenzeBegrenzt durch die Anzahl der Speichersteckplätze auf dem Motherboard und die maximale Modulkapazität; kann nicht weiter erweitert werden, sobald die Obergrenze erreicht istDer Arbeitsspeicher kann über CXL-Erweiterungskarten oder -Switches erweitert werden, ohne dass das Motherboard ausgetauscht werden muss
Flexibilität bei den RessourcenDer Arbeitsspeicher jedes Servers ist fest zugewiesen; er kann nicht zwischen den Servern umverteilt werdenUnterstützt Memory Pooling; mehrere Server können bei Bedarf einen gemeinsamen Speicherpool gemeinsam nutzen
KosteneffizienzKauf großer Speicherkapazitäten zur Deckung von Spitzenbedarf; tägliche Auslastung oft unter 50 %Unterstützt dieselbe Arbeitslast mit weniger Gesamtspeicher; die Auslastung kann 80% übersteigen
ErweiterungsvorgangErfordert das Herunterfahren des Systems sowie das physische Ein- und Ausbauen von Speichermodulen; unter Umständen ist ein Austausch von Hardware erforderlichUnterstützt Hot-Plug und dynamische Zuweisung; Speicherressourcen können online hinzugefügt oder entfernt werden
Geeignete SzenarienKleine Implementierungen mit extrem hohen Leistungsanforderungen und stabilen ArbeitslastenGroßrechenzentren, KI-Training, Cloud-Computing und andere Szenarien, die elastische Ressourcen erfordern

Wie die Tabelle zeigt, bietet die herkömmliche DDR-Lösung nach wie vor Vorteile hinsichtlich extremer Leistung und einfacher Bereitstellung, allerdings auf Kosten hoher Kosten und einer starren Ressourcenverwaltung. Im Gegensatz dazu opfert die CXL-Lösung einen geringen Teil der Zugriffsgeschwindigkeit im Austausch für enorme Vorteile: erweiterbare Kapazität, gemeinsam nutzbare Ressourcen und eine bessere Kosteneffizienz. Im realen Rechenzentrumsbetrieb lohnt sich dieser Kompromiss oft sehr, da die Verschwendung von ungenutztem Speicher weitaus schmerzhafter ist als ein geringer Geschwindigkeitsunterschied.

Anwendungsfälle für CXL

CXL soll herkömmliche Speicher nicht ersetzen, sondern spezifische Anwendungsfälle lösen, mit denen herkömmliche Speicher zu kämpfen haben. In den folgenden drei Bereichen ist CXL am weitesten ausgereift und bietet den größten Nutzen.

Künstliche Intelligenz und das Training großer Modelle

Das Trainieren eines großen Sprachmodells mit Hunderten von Milliarden Parametern erfordert, dass die gesamten Modellparameter, Trainingsdaten und Zwischenberechnungsergebnisse gleichzeitig in den Arbeitsspeicher geladen werden. Wenn die Modellgröße die Speicherkapazität eines einzelnen Servers übersteigt, ermöglicht CXL es einem Server, mehrere Terabyte an CXL-Speicher direkt anzuschließen, sodass alle Daten innerhalb eines einzigen Knotens gespeichert werden – was das Programmiermodell erheblich vereinfacht und die Trainingseffizienz verbessert. Für mittelgroße Teams, die an großen Modellen arbeiten, bietet CXL einen kostengünstigeren Weg als der Kauf teurer Mainframes.

Speicherpooling im Rechenzentrum

In großen Cloud-Rechenzentren treten die Spitzenauslastungen verschiedener Mandanten und Anwendungen oft zu unterschiedlichen Zeiten auf. Durch den Einsatz von CXL-Switches und eines CXL-Speicherpools kann das Rechenzentrum den gesamten ungenutzten Speicher in einem gemeinsamen Pool bündeln und ihn dynamisch entsprechend dem Echtzeitbedarf der einzelnen Server zuweisen. Branchenschätzungen zufolge kann dieser Ansatz die Speicherauslastung von den üblichen vierzig bis fünfzig Prozent auf über achtzig Prozent steigern – was bedeutet, dass mit derselben Hardware-Investition fast die doppelte Rechenlast bewältigt werden kann.

Cloud Computing und die Dichte virtueller Maschinen

Cloud-Dienstleister möchten so viele virtuelle Maschinen (VMs) wie möglich auf einem einzigen physischen Server betreiben, um ihren Umsatz zu steigern. Jedoch muss jeder VM eine feste Speichermenge zugewiesen werden, und selbst wenn dieser Speicher nicht wirklich stark genutzt wird, kann er nicht von anderen VMs belegt werden. Infolgedessen geht den Servern oft der Speicher aus, lange bevor ihre CPU-Ressourcen erschöpft sind, was die Anzahl der VMs begrenzt, die erstellt werden können. Ein CXL-Speicherpool ermöglicht es der Cloud-Plattform, Speicher als elastische Ressource für Überbelegung oder dynamische Anpassung zu behandeln: Wenn eine VM weniger Speicher nutzt als zugewiesen, kann der Überschuss zurückgewonnen und anderen VMs zugewiesen werden. Diese Technologie ermöglicht es Cloud-Anbietern, mehr Mandanten auf denselben physischen Servern zu hosten und so die Betriebskosten zu senken.

Über diese drei Hauptanwendungsfälle hinaus wird CXL auch bei groß angelegten Simulationen im Hochleistungsrechnen, bei der Kapazitätserweiterung für In-Memory-Datenbanken (wie SAP HANA) und zur Beschleunigung von Echtzeit-Big-Data-Analyse-Engines (wie Apache Spark) eingesetzt. All diesen Anwendungen ist gemeinsam, dass sie einen sehr hohen Speicherbedarf haben und gleichzeitig eine gewisse Toleranz gegenüber Latenz aufweisen – genau der Bereich, in dem CXL seine Stärken ausspielt.

Aktueller Stand und Zukunftsaussichten für CXL

CXL hat den Sprung vom Labor in den praktischen Einsatz geschafft. Auf der Hardware-Seite unterstützen Intels Xeon Scalable der 4. Generation und AMDs EPYC-Prozessoren der 4. Generation CXL 1.1 oder 2.0 nativ. Große Serverhersteller wie Dell, HPE, Inspur und Supermicro bieten CXL-Speicheroptionen in ihren High-End-Produktreihen an. Samsung und Micron produzieren nun CXL-Speichermodule mit Kapazitäten von 128 GB bis 512 GB in Serie, teilweise mit Hot-Plug-Unterstützung. Auf der Softwareseite unterstützt der Linux-Kernel CXL seit Version 5.18 nativ, und große Cloud-Betriebssysteme verbessern nach und nach das CXL-Speicherpooling.

Mit Blick auf die Zukunft entwickelt sich CXL in zwei Hauptrichtungen weiter. Die erste betrifft Protokoll-Upgrades. CXL 2.0 führte Speicherpooling und Switch-Unterstützung ein, die bereits getestet werden. CXL 3.0 erhöht die Bandbreite auf 64 GB/s und fügt Multi-Level-Switching hinzu, dessen Verbreitung nach 2026 erwartet wird. CXL 4.0, basierend auf PCIe 7.0, soll die Bandbreite erneut etwa verdoppeln. Der zweite Weg ist die Weiterentwicklung der Einsatzmöglichkeiten. Kurzfristig fungiert CXL als “zweite Speicherebene”, die den lokalen DDR-Speicher ergänzt. Mittelfristig wird Memory Pooling in großen Rechenzentren zum Standard werden, wodurch Speicher ebenso wie Rechenleistung und Speicherplatz dynamisch zugewiesen werden kann. Langfristig werden CXL und DDR wahrscheinlich nebeneinander bestehen: DDR für latenzempfindliche Kern-Workloads, CXL für großvolumigen, gemeinsam nutzbaren Erweiterungsspeicher.

Die CXL-Technologie entstand als Antwort auf eine Frage, die die Computerindustrie seit langem beschäftigt: Warum lässt sich Speicher nicht ebenso flexibel erweitern und gemeinsam nutzen wie Speicherplatz? Durch ein elegantes Protokoll-Design baut die CXL-Technologie wichtige Funktionen wie Cache-Kohärenz und Speicherpooling auf der bestehenden PCIe-Infrastruktur auf. Von der Hardware bis zur Software, von der Erweiterung einzelner Rechner bis hin zur datenzentrumsweiten gemeinsamen Nutzung von Ressourcen – CXL verändert nach und nach unsere Sichtweise auf Speicher. Natürlich befindet sich diese Technologie noch in einem frühen Stadium; die Reifung des Protokolls, die Vollständigkeit des Ökosystems und die Kostensenkung werden Zeit brauchen. Sicher ist jedoch, dass CXL – das den Speicher von festen Steckplätzen befreit – angesichts immer größerer KI-Modelle und Datenmengen, die physikalische Grenzen sprengen, zu einem immer wichtigeren Bestandteil der Infrastruktur in der Welt des Hochleistungsrechnens werden wird.

Nach oben blättern

Kontaktieren Sie uns

Füllen Sie das nachstehende Formular aus, und wir werden uns in Kürze mit Ihnen in Verbindung setzen.

Kontakt-Formular Produkt