CXL mira a fornire prestazioni più veloci come connessione tra CPU e memoria. L'annuncio ha ormai qualche anno, ma si ha l'impressione che CXL venga letto sempre di più nei rapporti sulle tendenze e sulle specifiche. Qual è lo stato della tecnologia finora?
Domanda del lettore: CXL mira a fornire prestazioni più veloci come connessione tra CPU e memoria. L'annuncio ha ormai qualche anno, ma si ha l'impressione che CXL venga letto sempre di più nei rapporti sulle tendenze e sulle specifiche. Qual è lo stato della tecnologia finora?
Archiviazione dei documenti per la risposta:
CXL (Compute Express Link) è uno standard coerente con la cache, principalmente aperto per connessioni ad alta velocità dalle CPU alla memoria principale e ad altri dispositivi. La tecnologia utilizza il livello fisico standard PCIe e agisce qui come protocollo alternativo. Creando uno spazio di indirizzi condiviso per i dispositivi connessi, lo standard CXL offre vantaggi in termini di prestazioni, in particolare per gli hyperscaler. Utilizza una porta del processore flessibile, che può funzionare in modalità PCIe o CXL. Entrambe le classi di dispositivi possono trasferire velocità dati di 32 GB/s su PCIe 5 o fino a 64 GB/s su PCIe 6.
Il Consorzio CXL è stato fondato nel 2019 da nove aziende per sviluppare specifiche tecniche, ma anche per identificare nuovi casi d'uso e promuovere il lancio della tecnologia sul mercato. L'intelligenza artificiale (AI), l'apprendimento automatico (ML) e l'infrastruttura cloud sono tra le applicazioni più citate dai produttori. Trarranno grandi benefici dall'alta velocità e dall'accesso coerente alla memoria della nuova interfaccia.
Come funziona CXL?
In poche parole, il framework CXL crea la connessione tra le memorie della CPU e ciascun dispositivo collegato. Ciò consente di raggruppare e condividere in modo efficace le risorse di storage e di ridurre la complessità del pacchetto software. Per abilitare questo pool di memoria, sia il computer che le periferiche devono essere in grado di utilizzare CXL. I dati vengono trasferiti tramite voli a basso costo. Utilizzando lo switching CXL, un host può essere distribuito su più dispositivi mantenendo un throughput elevato in ciascuna direzione. Le risorse, inclusi gli acceleratori e la memoria CXL disponibile, possono essere riallocate dinamicamente quando cambia il carico di lavoro del sistema. La specifica CXL 2.0 ha aggiunto un gestore di struttura unificato che fornisce un utilizzo senza soluzione di continuità con configurazioni coerenti internamente e segnalazione degli errori, indipendentemente dal tipo di assieme, dispositivo o modello di utilizzo.
Casi d'uso per CXL
Con l'evoluzione dell'interfaccia, molte applicazioni hanno portato i produttori di CXL a specificare tre tipi separati di dispositivi.
Dispositivi di tipo 1: acceleratori e altri dispositivi che non dispongono di una propria memoria locale e quindi fanno affidamento sulla CPU. Protocolli CXL.io E CXL.cache Ha lo scopo di consentire a questi dispositivi di comunicare in modo più efficiente e di utilizzare la capacità di memoria della CPU.
Dispositivi di tipo 2: prodotti che dispongono di capacità di archiviazione dati proprie e utilizzano la memoria della CPU. I tre protocolli CXL sono combinati per supportare la condivisione contigua della memoria tra questi dispositivi e la CPU.
Dispositivi di tipo 3: espansioni di memoria o dispositivi progettati per espandere la memoria della CPU esistente. CXL.io e Memoria CXL Permettendo alla CPU di accedere a queste memorie esterne con larghezza di banda notevolmente migliorata e bassa latenza.
Vantaggi di CXL
Migliorando la connettività e la condivisione delle risorse, le tecnologie CXL sono progettate per migliorare le prestazioni di carichi di lavoro pesanti riducendo al contempo la complessità e quindi i costi. Queste caratteristiche stanno diventando sempre più importanti poiché il costo totale di proprietà (TCO) continua a diminuire grazie alle nuove tecnologie con un’elaborazione dei dati più rapida e allo stesso tempo prezzi più bassi. Ciò include anche e soprattutto il collegamento degli storage pool CXL per garantire una coerenza affidabile. Inoltre, le architetture eterogenee che combinano processori di diversi tipi e generazioni vengono prese in considerazione e implementate in modo completo dallo standard CXL. Si ritiene che ciò sia particolarmente importante per le reti di intelligenza artificiale complesse e i sistemi di apprendimento automatico, poiché i singoli elementi di queste infrastrutture sono in continua evoluzione. Se la bassa latenza è il fattore chiave per questi casi d’uso e per la futura introduzione di PCIe 6, CXL supporta queste esigenze senza limitazioni, secondo i produttori.
Protocolli e standard CXL
Il rilascio dello standard CXL 1.0 nel 2019 prevedeva principalmente l'accesso della CPU alla memoria esterna condivisa. I protocolli e gli standard di CXL sono stati migliorati e ampliati in diverse fasi dal suo lancio di successo.
CXL 1.1 ha migliorato alcuni aspetti di compatibilità e interoperabilità dello standard originale mantenendo la compatibilità con la versione 1.0.
CXL 2.0 ha aggiunto funzionalità di switching per configurazioni end-to-end, pooling di risorse e supporto di memoria persistente riducendo al contempo la necessità di overprovisioning. Per migliorare la sicurezza sono state integrate anche l'integrazione a livello di collegamento e la crittografia dei dati (CXL IDE).
CXL 3.0, rilasciato nell'agosto 2022, ha raddoppiato la velocità dati a 64 GB/s e ha ampliato la dimensione del pacchetto a 256 byte. La gestione dell'infrastruttura, la condivisione della memoria e la comunicazione peer-to-peer sono migliorate senza aggiungere latenza.
I sottoprotocolli inizialmente sviluppati per la specifica 1.0 sono rimasti costanti durante tutto il loro ciclo di vita:
CXL.io è basato su PCIe 5 e viene utilizzato per rilevare, configurare e registrare le funzioni di accesso. CXL.io deve essere supportato su tutti i dispositivi CXL per funzionare.
CXL.cache gestisce le interazioni tra la CPU e altri dispositivi abilitati CXL. Questo sottoprotocollo supporta un efficiente caching della memoria, bassa latenza e accesso diretto del dispositivo alla memoria della CPU utilizzando un processo di richiesta-risposta.
CXL.memory fornisce modalità di accesso alla calcolatrice per salvare la memoria del dispositivo connesso utilizzando i comandi di caricamento e memorizzazione. In questa configurazione, la CPU funge da dispositivo master mentre i dispositivi CXL fungono da dispositivi slave.
CXL e PCIe
PCI Express (PCIe) è diventata di fatto l'architettura del bus seriale ad alta velocità negli ultimi due decenni, con una topologia punto a punto che fornisce connessioni ai dispositivi collegati. Sebbene PCIe funzioni bene nel trasferimento di volumi elevati di dati, gli svantaggi diventano evidenti nelle applicazioni di data center più grandi. Ciò significa che i pool di archiviazione rimangono isolati gli uni dagli altri, rendendo quasi impossibile la condivisione delle risorse e aumentando la latenza, soprattutto per i dispositivi connessi successivamente.
PCIe 6 è lo standard compatibile con le versioni precedenti di ultima generazione. Una volta implementato completamente, CXL per PCIe 6 raddoppierà il throughput rispetto a PCIe 5 supportando al tempo stesso l'implementazione di protocolli alternativi ora sfruttati dall'interfaccia CXL. I protocolli CXL operano sul livello fisico PCIe e si basano sulla versatilità dell'architettura PCIe standard incorporando nuove funzionalità di condivisione della memoria nel livello delle transazioni. Il pool di memoria CXL consente una latenza di accesso ridotta e prestazioni dell'acceleratore migliorate. I dispositivi PCIe standard e il software CXL possono essere supportati sulla stessa connessione. La porta flessibile del processore può negoziare rapidamente i parametri di comunicazione PCIe standard o il protocollo CXL alternativo.
CXL è attualmente in fase di sviluppo
CXL è stato introdotto per la prima volta nella versione 1.0 a marzo 2019. CXL 1.1 è stato rilasciato solo tre mesi dopo e contiene solo aggiornamenti minori. L'aggiornamento completo alla versione 2.0 nel novembre 2020 includeva il cambio di collegamento, la sicurezza del collegamento e altre funzionalità chiave incentrate direttamente sulle prestazioni del sistema e sull'adozione accelerata. Sono stati definiti anche flussi hot plug per aggiungere o rimuovere risorse per applicazioni come CXL su Ethernet.
Diversi dispositivi CXL sono attualmente in fase di sviluppo e sono in atto programmi di conformità, evidenziando la necessità di soluzioni affidabili di analisi e test del protocollo CXL. CXL 2.0 e 3.0 sono recentemente disponibili e supportano rispettivamente connessioni da 32 e 64 Gb/s.
i miei saluti
Archiviazione documenti
Link correlati: