Qu'est-ce que CXL ?
Abréviation de Compute Express Link. Norme qui, en s'appuyant sur la couche physique du PCI Express, permet le partage de mémoire avec cohérence de cache entre CPU et accélérateurs ou dispositifs mémoire.
Nom japonais: CXL
« CXL » apparaît dans 4 questions d'entraînement réparties sur 2 thèmes, dont Interfaces d'E/S et bus, Mémoires émergentes.
Domaine: Interfaces d'E/S et bus
Pourquoi CXL a été créé
PCI Express (PCIe) transfère les données efficacement, mais ne maintient pas la mémoire des périphériques cohérente avec les caches du CPU ; le logiciel doit donc copier des tampons et vider ou invalider les caches pour partager des données avec un accélérateur. Compute Express Link (CXL) réutilise la couche physique, les connecteurs et la signalisation électrique de PCIe, et ajoute des protocoles qui maintiennent la cohérence des caches et permettent au CPU d'accéder à la mémoire du périphérique par des chargements et écritures ordinaires. CXL 1.x et 2.0 fonctionnent au débit de PCIe 5.0, 32 GT/s par voie, et CXL 3.x passe au débit de PCIe 6.0, 64 GT/s.
Extension et mutualisation de la mémoire
La DRAM qu'un CPU peut connecter directement est limitée par son nombre de canaux mémoire et d'emplacements DIMM. Une extension mémoire CXL ajoute de la capacité, et de la bande passante, via des liens de type PCIe, et avec des commutateurs CXL, un pool de mémoire peut être partagé entre plusieurs serveurs et attribué là où il est nécessaire. La latence d'accès est plus élevée que pour la DRAM directement connectée, souvent comparée à celle d'un accès à la mémoire d'un autre socket CPU ; les systèmes d'exploitation présentent donc généralement la mémoire CXL comme un nœud NUMA distinct et l'utilisent comme un niveau à part, en conservant les données fréquemment consultées dans la DRAM locale.
Questions fréquentes
Que signifie CXL ?
CXL signifie Compute Express Link, une norme d'interconnexion ouverte construite sur la couche physique de PCI Express, qui ajoute un accès mémoire à cohérence de cache entre CPU, accélérateurs et dispositifs mémoire.
Quelle est la différence entre CXL et PCIe ?
Ils partagent la même couche physique et les mêmes emplacements, mais les transferts PCIe ordinaires ne sont pas cohérents avec les caches. CXL ajoute les protocoles CXL.cache et CXL.mem pour que périphériques et CPU puissent partager la mémoire de façon cohérente avec une sémantique de chargement/écriture (load/store).
Qu'est-ce qu'un périphérique CXL de type 3 ?
Un périphérique de type 3 est une extension mémoire qui utilise CXL.io et CXL.mem pour fournir à l'hôte une capacité mémoire supplémentaire, sans mettre lui-même en cache la mémoire de l'hôte.