La nuova architettura mesh di Intel ha fatto il suo debutto nei prodotti Knights Landing (Xeon Phi). Il passaggio a prodotti server mainstream e CPU desktop di fascia alta come i Core i9 è pensato per garantire nuovi livelli di efficienza nelle interconnessioni.
A parte l'interconnessione, emergono alcuni elementi chiave. Intel ha spostato i controller DDR4 a sinistra e destra del die - come in Knights Landing - mentre di solito li posizionava in basso nei progetti ring bus. Ne parleremo a breve.
Intel ha allineato la sua nuova topologia mesh in una griglia di righe e colonne che connette i core e le cache, insieme ai controller di memoria e I/O. La cosa evidente è che non ci sono buffered switch tra i diversi ring - è semplicemente una grande mesh, griglia, quindi elimina del tutto uno dei principali blocchi del traffico nei die HCC.
Le connessioni switch a ogni intersezione della griglia permettono una comunicazione più diretta tra i componenti, fornendo così percorsi più veloci tramite uno scheduling intelligente. Lì c'è anche un design circolare per le intersezioni, che con tutta probabilità permette uno scheduling ottimizzato del data path.
L'abilità di far passare i dati tramite i core favorisce un indirizzamento tra gli elementi molto più complesso ma efficiente. Intel indica inoltre che il nuovo anello ha un bandwidth maggiore, che favorisce un passaggio rapido dei dati tra i core e le cache che li alimentano. La mesh è responsabile anche per il traffico da e verso la memoria di sistema, quindi ha un impatto anche sul throughput della RAM e sulla latenza.
I dati passano anche dai controller PCIe alla parte superiore del die, insieme a due collegamenti inter-socket. Questi gestiscono il flusso di dati tra processori in configurazioni server 2+ socket. In passato Intel usava il QPI (QuickPath Interconnect) per la comunicazione tra i socket, ma si dice usi una nuova interconnessione chiamata UPI per le CPU server Skylake (Purley).
Intel non ha indicato l'esatta frequenza della nuova mesh, ma ha dichiarato una frequenza e una tensione minore del design con ring bus, sebbene fornisca un bandwidth maggiore e una latenza inferiore. È un importante traguardo.
Il design modulare e distribuito dovrebbe consentire a Intel di aggiungere più core al die senza imporre un enorme calo di prestazioni e aumento del consumo. Il design mesh riduce inoltre la variabilità della latenza quando si richiedono dati da banchi LLC molto lontani, cosa che permette al software di trattarli come una grande last-level cache unificata.
Un accenno a Skylake-X
Intel ha distribuito immagini del die XCC (eXtreme Core Count) che usa per i processori Skylake-X. Intel adotta la stessa architettura per la sua gamma Xeon e per le soluzioni di fascia alta per appassionati, quindi Skylake-X usa la stessa topologia di interconnessione mesh.
Possiamo vedere i controller DDR4 riposizionati a sinistra e destra del die. Anche se sembra che il die abbia 20 core, ne ha solo 18, il massimo nella lineup Skylake-X (maggiori dettagli qui).
Il diagramma mesh di Intel indica che ha allineato le intersezioni mesh sul lato destro di ogni core, ma lo scatto del die dice altrimenti. Se esaminiamo i core nella colonna all'estrema sinistra, possiamo vedere un'area distinta del core nell'angolo destro superiore, il che secondo il diagramma a blocchi è una posizione approssimativa dell'interconnessione.
Tuttavia, l'esame della colonna di core adiacente indica che i core sono immagini specchiate l'uno dell'altro. Questo implica che invece dei percorsi mesh che vanno dal lato destro di ogni core, potrebbero andare dal lato sinistro di ogni colonna rispecchiata.
Ciò avrebbe un impatto sulla distanza tra ogni altra colonna di core, che si tradurrebbe come un maggior numero di cicli necessario per il passaggio orizzontale dei dati. Per esempio, probabilmente richiede un hop / ciclo per spostare i dati verticalmente al core successivo, ma spostarsi orizzontalmente dalla seconda colonna alla terza richiede probabilmente più cicli. Dobbiamo attendere per ulteriori dettagli.
In ogni caso, l'architettura mesh ha un vantaggio evidente sul fronte della scalabilità rispetto al ring bus, e considerando che Intel ha usato un bus ad anello per diverse generazioni, possiamo aspettarci che l'azienda usi la mesh nel prossimo futuro. Questo dovrebbe permettere a Intel di aumentare il numero di core senza penalizzare le prestazioni.
E AMD?
Nessun dibattito sull'architettura di Intel è completo senza un confronto con l'ultimo progetto di AMD. Quest'ultima ha sviluppato una nuova interconnessione chiamata Infinity Fabric, che è una versione ottimizzata di HyperTransport, per la sua architettura Zen. Fortunatamente sappiamo più cose sulla soluzione AMD.
I processori basati su architettura Zen adottano un design differente. La microarchitettura Zen usa un blocco CCX (CPU Complex) formato da quattro core. AMD ha dotato ogni CCX di una cache L3 da 8 MB 16-way associative suddivisa in quattro parti; ogni core nel CCX ha accesso a questa L3 con la stessa latenza media. Due CCX insieme creano un die Ryzen 7 a 8 core (il grande blocco arancione nell'immagine sopra), e questi comunicano tramite l'interconnessione Infinity Fabric di AMD. I CCX condividono lo stesso controller di memoria. Si tratta fondamentalmente di due CPU quad-core che parlano tra loro lungo Infinity Fabric, un crossbar a 256 bit bidirezionale che gestisce anche northbridge e traffico PCIe.
Anche se ogni core in un CCX a 4 core può accedere alla cache locale con la stessa latenza media, il viaggio per recuperare i dati nei CCX adiacenti può portare a un penalty di latenza a causa del passaggio tramite Infinity Fabric. Anche la comunicazione tra i thread sui core posti in CCX diversi ne soffre.
Il progetto di AMD ha un vantaggio nella scalabilità rispetto all'architettura ring bus di Intel - l'azienda può semplicemente mettere più CCX sul package per aumentare il numero di core. Infatti, i processori Threadripper 16C/32T usano quattro CCX. A causa del penalty di latenza legato al traffico tra i CCX, potrebbe esserci della variabilità. Ci aspettiamo che il reparto marketing di Intel spinga la nuova architettura mesh come un vantaggio su Infinity Fabric, ma è chiaro che l'ottimizzazione software ridurrà molti problemi associati a Infinity Fabric.
Abbiamo misurato la latenza di Infinity Fabric testando la CPU Ryzen 5 1600X, riscontrando che la velocità dell'interconnessione è legata alla frequenza della memoria, quindi data rate di memoria più veloci portano a una latenza minore. Questo ha un impatto rilevante sulle prestazioni di gioco con i processori Ryzen. Abbiamo misurato la latenza del ring bus di Intel con frequenze di memoria maggiori, riscontrando che rimane perlopiù simile. Sarà interessante testare la latenza delle CPU Skylake-X per determinare se la nuova mesh ha caratteristiche differenti dal ring bus.
Scopri i processori AMD Ryzen su Amazon, da 4 fino a 8 core!