Hot topics:
News su SMAU 2017
10 minuti

Dal ring bus a mesh, il futuro prossimo dei processori Intel

Le CPU Intel Xeon Scalable e le soluzioni Core Skylake-X adottano una nuova topologia mesh per integrare più core senza cali prestazionali.

Dal ring bus a mesh, il futuro prossimo dei processori Intel

Ring bus, è arrivata l'ora della pensione

Intel ha annunciato la nuova architettura mesh alla base della piattaforma server Xeon Processor Scalable. Di recente l'azienda ha cambiato il nome dei processori Xeon: la nuova gamma basata su architettura Skylake che arriverà sul mercato non solo costituirà la linea "Xeon Processor Scalable", ma sarà composta da sottofamiglie chiamate Platinum, Gold, Silver e Bronze.

Dietro i nuovi prodotti non c'è però un semplice cambio di brand, ma molto di più. La nuova topologia mesh dei processori Xeon sfida l'Infinity Fabric di AMD, alla base dei processori Ryzen, ThreadRipper ed EPYC. Confrontiamo i due progetti.

L'era del Ring Bus

Le CPU nascono per processare i dati, e di conseguenza è richiesto che le informazioni passino tra le diverse unità. I bit, rappresentati da 1 e 0, passano nei percorsi dentro al processore alla velocità di miliardi di cicli al secondo. Spostare dati tra gli elementi principali come i core, la memoria e i controller di I/O, è una delle sfide più grandi nella progettazione di un processore.

Spostare i dati in modo efficiente ha un enorme impatto sulle prestazioni, ma il fluire dei dati richiede anche energia, quindi una trasmissione senza intoppi ed efficace è una componente chiave per assicurare consumi ridotti e di conseguenza minori temperature.

L'ottimizzazione delle interconnessioni, a sua volta, consente ai progettisti di dedicare ulteriore margine ad altri compiti utili, come il processo dei dati. Negli anni sono state impiegate diverse tecniche per la comunicazione nel processore, ma l'implementazione ad anello di Intel, meglio nota come ring bus, ha rappresentato il cuore dei progetti dell'azienda ìn molte delle ultime generazioni.

ring bus

Il ring bus di Intel, mostrato qui sopra sul die Broadwell LCC (Low Core Count), connette vari componenti con un bus bidirezionale (in rosso). I die LCC usano un singolo ring (anello) che spinge i dati a una velocità di un singolo ciclo per hop - tra i core contigui. Spostare i dati da un core a quello più vicino richiede un ciclo, mentre inviare il dato ai core più distanti richiede più cicli, aumentando così la latenza associata al transito del dato.

Sono necessari fino a 12 cicli per raggiungere il core più distante, quindi la capacità di spostare il dato in ambedue le direzioni permette al processore d'indirizzarlo tramite il percorso più breve possibile. Ogni core sul die è accompagnato da cache, quindi la maggiore latenza impatta anche sulle prestazioni della cache.

ring bus 2

Un die HCC (High Core Count) più grande fa emergere uno dei problemi di questo approccio. Per aumentare core e cache, il die HCC usa un doppio bus ad anello. La comunicazione tra i due anelli deve passare tramite un buffered switch (guardate tra i due anelli in alto e in basso). Attraversare lo switch impone un penalty di 5 cicli, e questo prima che il dato continui attraverso più hop per arrivare alla sua destinazione. Questa maggiore latenza limita la scalabilità.

La comunicazione all'interno del processore richiede più tempo all'aumentare del numero di core, impattando sulle prestazioni. Incrementare la frequenza per far fronte al calo delle prestazioni richiede una tensione maggiore, che impatta sui consumi e sulle temperature.

Ricordate: i processori possono raggiungere frequenze Boost per periodi più lunghi di tempo in base al budget termico, quindi una tensione maggiore può influenzare negativamente le prestazioni.


Tom's Consiglia

Scopri i processori Intel Core su Amazon.

Dal ring bus a mesh, per processori con tantissimi core

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.

mesh

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.

die skylake x

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.

die ryzen

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.


Tom's Consiglia

Scopri i processori AMD Ryzen su Amazon, da 4 fino a 8 core!

Continua a pagina 2
AREE TEMATICHE
Vuoi ricevere aggiornamenti su #CPU?
Iscriviti alla newsletter!