Intel enthüllt das 'Was' und 'Warum' von CXL Interconnect, seine Antwort auf NVLink



CXL, short for Compute Express Link, is an ambitious new interconnect technology for removable high-bandwidth devices, such as GPU-based compute accelerators, in a data-center environment. It is designed to overcome many of the technical limitations of PCI-Express, the least of which is bandwidth. Intel sensed that its upcoming family of scalable compute accelerators under the Xe band need a specialized interconnect, which Intel wants to push as the next industry standard. The development of CXL is also triggered by compute accelerator majors NVIDIA and AMD already having similar interconnects of their own, NVLink and InfinityFabric, respectively. At a dedicated event dubbed 'Interconnect Day 2019,' Intel put out a technical presentation that spelled out the nuts and bolts of CXL.

Zu Beginn beschrieb Intel, warum die Branche CXL benötigt und warum PCI-Express (PCIe) nicht zu seinem Anwendungsfall passt. Für ein Client-Segment-Gerät ist PCIe perfekt, da Client-Segment-Computer nicht über zu viele Geräte und zu großen Speicher verfügen und die Anwendungen nicht über einen sehr großen Speicherbedarf verfügen oder sich über mehrere Computer erstrecken. PCIe fällt im Rechenzentrum aus, wenn mehrere bandbreitenintensive Geräte und große gemeinsam genutzte Speicherpools verwendet werden. Das größte Manko sind isolierte Speicherpools für jedes Gerät und ineffiziente Zugriffsmechanismen. Eine gemeinsame Nutzung von Ressourcen ist nahezu unmöglich. Das Teilen von Operanden und Daten zwischen mehreren Geräten, z. B. zwei GPU-Beschleunigern, die an einem Problem arbeiten, ist sehr ineffizient. Und zum Schluss gibt es Latenz, viel davon. Die Latenz ist der größte Feind von gemeinsam genutzten Speicherpools, die sich über mehrere physische Maschinen erstrecken. CXL wurde entwickelt, um viele dieser Probleme zu lösen, ohne den größten Teil von PCIe zu vernachlässigen - die Einfachheit und Anpassbarkeit seiner physischen Schicht.

CXL verwendet die physikalische PCIe-Schicht und verfügt über eine Papierbandbreite von 32 Gbit / s pro Lane und Richtung, die dem PCIe-Gen-5.0-Standard entspricht. In der Verbindungsschicht befindet sich die gesamte geheime Sauce. Intel arbeitete an neuen Handshake-, Auto-Negotiation- und Transaktionsprotokollen, die die von PCIe ersetzten, um die oben aufgeführten Mängel zu beheben. Mit PCIe gen 5.0, das bereits von PCI-SIG standardisiert wurde, konnte Intel CXL IP mit PCIe gen 6.0 an SIG zurückgeben. Mit anderen Worten, Intel gibt zu, dass CXL PCIe möglicherweise nicht überlebt, und bis die PCI-SIG die Version 6.0 standardisieren kann (um 2021-22, wenn nicht später), ist CXL das Gebot der Stunde. Die CXL-Transaktionsschicht besteht aus drei gemultiplexten Unterprotokollen, die gleichzeitig auf einer einzelnen Verbindung ausgeführt werden. Dies sind: CXL.io, CXL.cache und CXL.memory. CXL.io befasst sich mit der Geräteerkennung, dem Aushandeln von Links, Interrupts, dem Zugriff auf die Registrierung usw., bei denen es sich im Wesentlichen um Aufgaben handelt, mit denen ein Computer mit einem Gerät arbeiten kann. CXL.cache behandelt den Zugriff des Geräts auf den Speicher eines lokalen Prozessors. CXL.memory behandelt den Zugriff des Prozessors auf nicht lokalen Speicher (Speicher, der von einem anderen Prozessor oder einer anderen Maschine gesteuert wird).
Intel listete Anwendungsfälle für CXL auf, die mit Beschleunigern mit Speicher beginnen, wie z. B. Grafikkarten, GPU-Rechenbeschleunigern und High-Density-Rechenkarten. Alle drei CXL-Transaktionsschichtprotokolle sind für solche Geräte relevant. Als nächstes kommen FPGAs und NICs. CXL.io und CXL.cache sind hier relevant, da Netzwerkstacks von Prozessoren verarbeitet werden, die sich auf der Netzwerkkarte befinden. Schließlich gibt es die wichtigsten Speicherpuffer. Sie können sich diese Geräte als 'NAS, aber mit DRAM-Sticks' vorstellen. Zukünftige Rechenzentren werden aus riesigen Speicherpools bestehen, die von Tausenden physischen Maschinen und Beschleunigern gemeinsam genutzt werden. CXL.Memory und CXL.Cache sind relevant. Was die CXL-Verbindungsschicht wesentlich schneller als PCIe macht, ist ihr optimierter Stack (Verarbeitungslast für die CPU). Der CXL-Stack wurde von Grund auf neu entwickelt, um die Latenz als Designziel niedrig zu halten.
Source: Serve the Home