Intel dévoile le «quoi» et le «pourquoi» de CXL Interconnect, sa réponse à 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.

Intel a commencé par décrire pourquoi l'industrie a besoin de CXL et pourquoi PCI-Express (PCIe) ne convient pas à son cas d'utilisation. Pour un périphérique de segment client, PCIe est parfait, car les machines du segment client n'ont pas trop de périphériques, trop de mémoire et les applications n'ont pas une très grande empreinte mémoire ou une grande échelle sur plusieurs machines. PCIe échoue lourdement dans le centre de données, lorsqu'il s'agit de plusieurs appareils gourmands en bande passante et de vastes pools de mémoire partagée. Son principal inconvénient est les pools de mémoire isolés pour chaque périphérique et les mécanismes d'accès inefficaces. Le partage des ressources est presque impossible. Le partage d'opérandes et de données entre plusieurs appareils, tels que deux accélérateurs GPU travaillant sur un problème, est très inefficace. Et enfin, il y a beaucoup de latence. La latence est le plus grand ennemi des pools de mémoire partagée qui s'étendent sur plusieurs machines physiques. CXL est conçu pour surmonter bon nombre de ces problèmes sans rejeter la meilleure partie de PCIe - la simplicité et l'adaptabilité de sa couche physique. CXL utilise la couche physique PCIe et a une bande passante brute sur papier de 32 Gbit / s par voie, par direction, qui s'aligne avec la norme PCIe gen 5.0. La couche de liaison est l'endroit où se trouve toute la sauce secrète. Intel a travaillé sur de nouveaux protocoles de négociation, de négociation automatique et de transaction remplaçant ceux de PCIe, conçus pour surmonter les lacunes énumérées ci-dessus. Avec PCIe gen 5.0 déjà standardisé par le PCI-SIG, Intel pourrait partager le CXL IP avec le SIG avec PCIe gen 6.0. En d'autres termes, Intel admet que CXL peut ne pas survivre à PCIe, et jusqu'à ce que le PCI-SIG puisse standardiser la génération 6.0 (vers 2021-22, sinon plus tard), CXL est le besoin de l'heure. La couche de transaction CXL se compose de trois sous-protocoles multiplexés qui s'exécutent simultanément sur une seule liaison. Ce sont: CXL.io, CXL.cache et CXL.memory. CXL.io traite de la découverte de périphériques, de la négociation de liens, des interruptions, de l'accès au registre, etc., qui sont essentiellement des tâches qui permettent à une machine de fonctionner avec un périphérique. CXL.cache traite de l'accès du périphérique à la mémoire d'un processeur local. CXL.memory traite de l'accès du processeur à la mémoire non locale (mémoire contrôlée par un autre processeur ou une autre machine).
Intel a répertorié les cas d'utilisation de CXL, qui commencent par les accélérateurs avec mémoire, tels que les cartes graphiques, les accélérateurs de calcul GPU et les cartes de calcul haute densité. Les trois protocoles de couche de transaction CXL sont pertinents pour ces appareils. Ensuite, ce sont les FPGA et les NIC. CXL.io et CXL.cache sont pertinents ici, car les piles de réseau sont traitées par des processeurs locaux à la carte réseau. Enfin, il y a les tampons de mémoire très importants. Vous pouvez imaginer ces appareils comme «NAS, mais avec des bâtons DRAM». Les futurs centres de données seront constitués de vastes pools de mémoire partagés entre des milliers de machines physiques et d'accélérateurs. CXL.memory et CXL.cache sont pertinents. Une grande partie de ce qui rend la couche de liaison CXL plus rapide que PCIe est sa pile optimisée (charge de traitement pour le CPU). La pile CXL est conçue dès le départ en gardant la faible latence comme objectif de conception.
Source: Serve the Home