COMPTOIR
register

×

cxl 3.0

Le consortium CXL gagne la bataille de l'interconnect et annonce le CXL 3.0 !
cxl 3.0
cxl 3.0

Un peu moins de deux ans après la version 2.0, voici qu'a déjà été officialisée la version 3.0 du standard CXL ! Bien qu'encore très récent, le CXL a su s'imposer très rapidement sur le marché des serveurs, sans aucun doute grâce à sa richesse en matière d'I/O adossé aux standards PCIe existants et naturellement grâce à une roadmap très largement supportée par l'industrie, le consortium étant constitué de la grande majorité des acteurs majeurs dans ce domaine. Par ailleurs, il a déjà effectivement poussé vers la sortie les standards rivaux Gen-Z, CCIX et depuis avant-hier, OpenCAPI !

 

En tant qu'interconnect standard et plus fonctionnel, le CXL a été conçu pour améliorer la communication entre CPU et accélérateurs, ainsi que pour permettre le branchement de DRAM et de mémoire non volatile sur une interface PCIe. Pour l'anecdote, le CXL a essentiellement remporté la bataille de l'interconnect depuis que l'OpenCAPI a jeté l'éponge et a opté pour rejoindre le consortium CXL. Mais il y a encore beaucoup de travail à faire, d'autant plus maintenant qu'il n'a plus de rivaux et qu'il faut donc également adresser les cas d'usage spécifiques pour lesquels ces derniers étaient conçus. En sus, les CPU x86 avec CXL sont encore largement inexistants, tandis que les constructeurs demandent également plus de bande passante et de fonctionnalités.

 

cxl logo

 

Qu'à cela ne tienne, le consortium CXL a profité du Flash Memory Summit 2022 pour annoncer la version 3.0 complète du standard CXL ! Celle-ci apporte plusieurs améliorations majeures. Tout d'abord, fini le PCIe 5.0 du CXL 1.x et 2.0, et place au PCIe 6.0 ! De ce fait, le CXL 3.0 double le débit par ligne à 64 GT/s et ce sans aucune augmentation de la latence selon le consortium ! Voici pour la partie physique. Ensuite, le CXL 3.0 améliore aussi grandement les capacités logiques du standard, autorisant des topologies et des fabrics de connexion plus complexes, ainsi que des modes de partage de mémoire et d'accès à la mémoire plus flexibles au sein d'un même ensemble d'appareils CXL. Pour compléter l'aperçu du CXL 3.0, vous retrouverez ci-dessous le résumé des nouveautés du CXL 3.0 et comment celui-ci se compare par rapport aux versions précédentes, ainsi qu'une brève vidéo explicative officielle.

 

Le consortium n'a pas donné de calendrier pour l'arrivée des premiers appareils CXL 3.0. De toute évidence, il ne faudra pas trop être pressé. À vrai dire, le CXL 1.1 est à peine arrivé sur le terrain et le CXL 2.0 n'y est même pas encore, mais c'est une lenteur qui n'a rien d'anormal dans ce domaine, particulièrement pour un projet aussi ambitieux que le Compute Express Link. En somme, cela dépendra avant tout des constructeurs et ça prendra certainement encore plusieurs années. (Source : CXL, Anandtech)

 

cxl 3.0 [cliquer pour agrandir]

 

cxl 3.0 [cliquer pour agrandir]

 

Un poil avant ?

L'ombre d'un hypothétique SSD 990 PRO se profile chez Samsung

Un peu plus tard ...

AMD Ryzen 7000 : ce sera bien en septembre

Les 9 ragots
Les ragots sont actuellement
ouverts à tous, c'est open bar !
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Jeudi 11 Août 2022 à 14h28  
par Un ragoteur sans avis embusqué le Jeudi 11 Août 2022 à 07h22
Et ça n'ouvrirait pas la porte, par la même occasion, à de nouvelles attaques et de nouveaux types de virus?
Toutes les précautions sont prises de ce côté-là? Ou c'est hors du scope de ce protocole?
Il faut préciser que CXL ne fais (en gros) que ajouter de la cohérence de cache à PCIe. Donc cela n'ouvre pas vraiment directement les portes à de nouvelles failles. Et il y a déjà des mécanismes de sécurité pour le bus PCIe.

Cependant, avec la cohérence de cache on peut imaginer de subtile timing side-channel ou timing covert-channel (qui permettrait de déduire comment est configuré l'host ou un device, ou alors d'établir une communication non-autorisé par le host). Mais ça serait très compliqué à mettre en place et ça ne permettrait pas grand chose... Donc les risques liés directement à CXL sont très limité.

Pour ce qui est indirectement lié à CXL: si on introduit plus de communications et de partages de ressource entre les devices comme le permet CXL (parce que avec la cohérence de cache il est plus simple de communiquer et partager des choses), alors oui il faudra faire attention à la sécurité au moment de programmer ces systèmes. Quand on complexifie un programme il faut toujours faire attention à la sécurité. Mais ce n'est pas spécifique à CXL ça.

PS: c'est une question complexe, je rate peut-être des choses
par Un ragoteur sans avis embusqué, le Jeudi 11 Août 2022 à 07h23  
(et merci, pour cette vulgarisation détaillé )
par Un ragoteur sans avis embusqué, le Jeudi 11 Août 2022 à 07h22  
Et ça n'ouvrirait pas la porte, par la même occasion, à de nouvelles attaques et de nouveaux types de virus?
Toutes les précautions sont prises de ce côté-là? Ou c'est hors du scope de ce protocole?
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Jeudi 11 Août 2022 à 02h02  
par Un ragoteur sans avis du Grand Est le Mercredi 10 Août 2022 à 18h48
C'est exclusivement à destination pro, pour des usages pro.
A moins que ça permettra de récupérer la GDDR du GPU pour la mémoire centrale et de squatter les caches des SSD pour d'autres usages?
C'est justement ce que je dis plus bas, l'idée c'est de simplifier la vue de la mémoire.
Quand on veut voir toutes les mémoires comme un grand espace d'adresse uniforme, alors il faut que cette mémoire soit cache-coherent, c'est à dire avoir un protocole qui garantie que plusieurs caches ne peuvent pas contenir différentes versions de la même donné.
Car sans cache-coherence on casse directement plein de modèle de programmation utilisé aujourd'hui.

Aujourd'hui PCIe ne permet d'avoir des accélérateurs (comme des GPU) qui soient cache-cohérent avec le CPU host. Donc utiliser la GDDR via le CPU directement c'est pas trop envisageable.
Avec CXL par contre il est possible de rendre la GDDR cache coherent avec le CPU host.
Je ne dis pas que c'est ce qui sera fait par contre.

Je dis simplement que fournir la cache-coherence entre le host et l'accélérateur ça ouvre la porte à de nouvelle utilisation et manière de programmer les accélérateurs, avec plus d'interactions entre l'accélérateur et le CPU.

Le milieu pro est évidement le premier qui en profitera, mais avec le temps cela devrait se diffuser de partout
par Un ragoteur sans avis du Grand Est, le Mercredi 10 Août 2022 à 18h48  
C'est exclusivement à destination pro, pour des usages pro.
A moins que ça permettra de récupérer la GDDR du GPU pour la mémoire centrale et de squatter les caches des SSD pour d'autres usages?
par Jemporte, le Samedi 06 Août 2022 à 23h34  
Est-ce que l'OS est capable de la reconnaître comme mémoire centrale ?
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Samedi 06 Août 2022 à 17h15  
par Nicolas D. le Mercredi 03 Août 2022 à 14h49
Sympathique, mais côté grand public je ne vois pas d'application directe : à voir si les constructeurs / développeurs nous en trouve une !
L'utilité c'est d'avoir de la cohérence de cache entre la mémoire du CPU est la mémoire des devices (par exemple GPU).
C'est donc essentiellement simplifier la vue de la mémoire pour pouvoir offloader du code vers un accélérateur plus simplement.
par Un ragoteur passionné embusqué, le Vendredi 05 Août 2022 à 06h01  
par Nicolas D. le Mercredi 03 Août 2022 à 14h49
Sympathique, mais côté grand public je ne vois pas d'application directe : à voir si les constructeurs / développeurs nous en trouve une !
Il n'est pas impossible que le CXL 3.0 soit la version à long terme, et que l'on passe directement du CXL 1.1 à la 3.0.

Sinon pour l'intérêt, cela va dans la logique de l'évolution de l'informatique actuelle : réseaux ultra rapides, toujours plus de besoins de stockage, le machine learning... De ce fait, avoir un système qui centralise toutes les opérations sur l'interconnect (le PCIe ici) finit par être un goulot d'étranglement. Plus qu'augmenter son débit physique théorique, on ferait mieux de chercher à l'optimiser (augmentant le débit réel), ce ne sont pas les méthodes qui manquent
Pour les pro, c'est déjà une nécessité, pour le particulier, à voir, peut être qu'un jour on aura des accélérateurs pour le ML ou le RT qui sait, ou pour le Wi-Fi 7 d'Intel
par Nicolas D., le Mercredi 03 Août 2022 à 14h49  
Sympathique, mais côté grand public je ne vois pas d'application directe : à voir si les constructeurs / développeurs nous en trouve une !