Se acquisterete un server nei prossimi mesi con al suo interno i processori Intel Xeon Scalable della famiglia Sapphire Rapids o i processori AMD Epyc della famiglia Genoa, avrete a disposizione forniti una nuova e importante funzione chiamata Compute Express Link (CXL), uno standard di interconnessione aperto che potreste trovare molto utile, soprattutto nelle iterazioni future.

CXL è supportato praticamente da tutti i fornitori di hardware ed è basato su PCI Express per un accesso coerente alla memoria tra una CPU e un dispositivo, come un acceleratore hardware o una CPU e memoria. PCIe è pensato per comunicazioni point-to-point, ma CXL supporterà la comunicazione one-to-many trasmettendo su protocolli coerenti. Finora, Compute Express Link è in grado di effettuare solo semplici comunicazioni punto-punto.

CXL è attualmente nella sua versione 1.1 e sono state annunciate le specifiche 2.0 e 3.0. Poiché CXL è fortemente legato a PCIe, le nuove versioni di CXL dipendono dalle nuove versioni di PCIe. C’è un divario di circa due anni tra le versioni di PCIe e quindi un divario ancora più lungo tra il rilascio di una nuova specifica e i prodotti che arrivano sul mercato. In questo momento i dispositivi CXL 1.1 e 2.0 sono ancora in fase di testing.

Protocolli CXL

Esistono tre protocolli supportati dal Compute Express Link:

  • CXL.io: una versione avanzata di un protocollo PCIe 5.0 per l’inizializzazione, il rilevamento del dispositivo e la connessione al dispositivo.
  • CXL.cache: questo protocollo definisce le interazioni tra un host e un dispositivo, consentendo ai dispositivi CXL collegati di memorizzare nella cache in modo efficiente la memoria host con una latenza estremamente bassa utilizzando un approccio di richiesta e risposta.
  • CXL.mem: fornisce a un processore host l’accesso alla memoria di un dispositivo collegato, coprendo le architetture di memoria volatile e persistente.

CXL.mem è il più importante, a partire da CXL 1.1. Se un server necessita di più RAM, un modulo di memoria CXL in uno slot PCIe 5.0 vuoto può fornirla. Avrete prestazioni leggermente inferiori e una piccola latenza aggiuntiva, ma il compromesso è che fornisce più memoria in un server senza doverla acquistare (ovviamente dovrete acquistare il modulo CXL).

strategia dati

CXL 2.0 supporta il pool di memoria, che utilizza la memoria di più sistemi anziché uno solo. Microsoft ha affermato che circa il 50% di tutte le macchine virtuali non raggiunge mai il 50% della memoria noleggiata. CXL 2.0 potrebbe trovare quella memoria e metterla in uso. Sempre secondo Microsoft la disaggregazione tramite CXL può ottenere una riduzione del 9-10% del fabbisogno complessivo di DRAM.

Alla fine, CXL dovrebbe essere un’interfaccia coerente con la cache onnicomprensiva per il collegamento di un numero qualsiasi di CPU, memoria, acceleratori di processo (in particolare FPGA e GPU) e altre periferiche. Le specifiche per CXL 3.0, annunciate la scorsa settimana al Flash Memory Summit (FMS), porta questa disaggregazione a un livello ulteriore, consentendo ad altre parti dell’architettura (processori, storage, rete e altri acceleratori) di essere raggruppate e gestite dinamicamente da più host e acceleratori proprio come la memoria in CXL 2.0.

La specifica 3.0 prevede anche comunicazioni peer-to-peer dirette su uno switch o anche su switch fabric; in questo modo due GPU potrebbero teoricamente parlare tra loro senza utilizzare la rete o coinvolgere la CPU e la memoria host. Kurt Lender, co-presidente del gruppo di lavoro sul marketing di CXL e senior manager degli ecosistemi di Intel, ha dichiarato: “CXL sarà praticamente ovunque e non parlo solo dei team IT. Questa diventerà una caratteristica standard in ogni nuovo server nei prossimi anni”.

Quindi, in che modo questa applicazione verrà eseguita nei data center aziendali? Lender afferma che la maggior parte delle applicazioni non deve essere modificata perché CXL opera a livello di sistema, ma otterrà comunque i vantaggi della funzionalità CXL. Ad esempio, i database in-memory potrebbero trarre vantaggio dal pool di memoria.

Il raggruppamento dei componenti potrebbe inoltre aiutare a fornire le risorse necessarie per l’IA. Con CPU, GPU, FPGA e porte di rete raggruppate, interi data center potranno comportarsi come un unico sistema. Non guardiamo però troppo in là. Stiamo ancora aspettando i primi prodotti CXL 2.0, anche se le recenti demo viste al FMS indicano che manca ancora poco.