Avatar di Giancarlo Calzetta

a cura di Giancarlo Calzetta

-

Al giorno d’oggi, i datacenter sono centri nevralgici per moltissimi servizi essenziali nella nostra vita: dalla posta elettronica agli assistenti digitali, passando per una qualsiasi delle app sul nostro telefono fino alle applicazioni aziendali, tutto ha un cuore elettronico che pulsa in uno o più capannoni hi-tech riempiti di server.

All’interno di questi, il 95% dei processori usati è di Intel con AMD che si agita per farsi notare. Dopo il lancio di stanotte, il produttore di chip di Sunnyvale ha molte chance di uscire dall’ombra della gigantesca rivale e iniziare a guadagnarsi un posto al sole.

Lo strumento per arrivare a questo traguardo è EPYC Rome, il processore per server basato sull’architettura ZEN 2 e costruito, in parte, con processo produttivo a 7 nanometri.

“Il datacenter moderno” – dice il CEO di AMD Lisa SU dal palco del Palace of Fine Arts di San Francisco – “è sotto una costante, enorme pressione. Tutti vogliono più potenza, più flessibilità, più scalabilità e maggiore sicurezza. Ma per averlo, bisogna cambiare.”

L’idea che sta alla base della strategia di AMD è quella di fornire più potenza di calcolo, più core, più flessibilità e un migliore rapporto potenza consumata/prestazioni a un prezzo molto inferiore a quello dei concorrenti.

Per farlo, ha deciso qualche anno fa di ripensare completamente i propri processori, facendo anche qualche mossa coraggiosa. Nel 2017 ha presentato EPYC Naples, processore per server basato sull’architettura ZEN che permetteva grandi prestazioni anche grazie all’Infinity Fabric che ne gestiva la comunicazione tra le varie componenti.

Basato sulla tecnologia a 12nm, bisognava decidere se andare a migliorare il chip su quella base o se tentare il grande salto e andare a 7nm in meno di due anni. Lisa Su ha scelto la seconda ipotesi e il risultato è notevole, come testimoniano gli 80 record in termini di prestazioni, stabiliti in altrettanti scenari di utilizzo reale, mostrati durante la presentazione.

Un occhio all’interno di EPYC Rome

Per quanto avanzato e frutto di scelte coraggiose, EPYC Rome, in realtà, è un processore ibrido, realizzato in parte a 12 nm e in parte a 7nm.  La parte “centrale”, che funge da coordinatrice per i flussi di dati ospitando la memoria e i controller PCIe, è ancora costruita con il vecchio sistema, mentre la parte più sotto pressione, composta da un massimo di 8 die che ospitano i vari core, è costruita con il nuovo processo.

I vantaggi sono notevoli. Rispetto agli XEON di Intel, che usano ancora il processo produttivo a 14nm, EPYC consuma meno, può incorporare più core, sfruttare frequenze di clock più elevate, montare più memoria cache e fare tutto questo mantenendo i costi molto bassi.

Inoltre, i nuovi processori supportano nativamente il PCIe 4.0, esponendo solitamente 128 linee che possono arrivare a 162 su piattaforme speciali, e si pongono come i processori x86 più veloci al mondo.

EPYC Rome sfrutta il socket SP3 (FCLGA 4094), che è compatibile anche con le piattaforme Naples sulle quali, però il PCIe 4.0 diventa un 3.0. La compatibilità del socket è stata data per sicura anche per i processori basasti su ZEN3, la prossima generazione di EPYC che porteranno il nome Milan, mentre è ancora incerta per i processori successivi (gli EPYC Genoa).

Come per i primi EPYC, anche Rome ha una gamma che viene separata nettamente tra i processori da utilizzare su singolo socket (caratterizzate da una P alla fine della sigla) e processori destinati a piattaforme multisocket. Il motivo di questa scelta è prettamente commerciale, ma anche molto sensato.

Come vedremo in seguito, le prestazioni dei nuovi EPYC sono così elevate che AMD vuole puntare molto sul concetto che si può usare un server a singolo socket per fare il lavoro che adesso si fa con macchine dual socket, risparmiando fino al 45% in licenze software, elettricità e assistenza/mantenimento.

Il numero di core disponibili sui processori Rome spazia da un minimo di 8 con 16 thread fino a un massimo di 64 core con 128 thread. Le frequenze di base partono da 2.0 GHz per arrivare a 3.2 GHz, con boost che spaziano da 3.0 GHz fino a 3.4.

Rispetto a Naples è un grande miglioramento che porta conseguenze importanti sulle prestazioni, soprattutto pensando che il nuovo sistema di gestione dei consumi di AMD permette al processore di sfruttare frequenze molto elevate anche quando tutti i core sono a pieno regime e questo vale anche per l’EPYC 7742 che può far correre a 3.2 GHz tutti i suoi 64 core.

Tutti i processori Rome supportano un massimo di 2TB di memoria ciascuno e fino a 4TB per server, gestiti tramite otto canali DDR4-3200. Inoltre, il supporto nativo PCIe 4.0 gli garantisce una banda doppia su quel canale rispetto ai processori Intel ancora ancorati al PCIe 3.0 almeno fino all’avvento di della piattaforma Ice Lake, prevista per la metà del 2020.

Da un punto di vista della memoria cache, Rome ha sfruttato molto bene il passaggio a 7 nanometri. Il maggior spazio sui die ha permesso di montare 256 MB di cache L3 sui modelli a 64 core, mentre sui modelli a 48 core si può scegliere se montarne 256 o 192, scendendo a 64 o 128 MB per i modelli a 32 core. Il modello di EPYC più potente, in versione dual socket, monta quasi mezzo giga di cache L3.

Da un punto di vista dei consumi, Rome si presenta con cinque gamme di TDP che vanno dai 120W ai 225W che possono essere impostati su ogni SKU per spremerne il massimo in termini di prestazioni oppure ottimizzandole per il rapporto consumo/performance.

Il TDP più alto di Rome è più elevato rispetto a quello di Naples, nonostante il ricorso al processo di costruzione a 7nm, ma bisogna considerare che la configurazione massima di Rome vanta il doppio dei core rispetto al suo predecessore.

Le prestazioni sembrano fin troppo belle per esser vere

Di solito, quando arriva una nuova piattaforma siamo abituati a vedere miglioramenti nell’ordine del 10-20%. I benchmark mostrati da AMD, invece, arrivano a mostrare miglioramenti che arrivano al raddoppio delle prestazioni.

Siamo impazienti di poterli provare nei nostri laboratori, ma sul palco si sono alternati rappresentati di molti vendor quali HP, Lenovo, Twitter e Google che hanno testimoniato questi incrementi con Mark Potter, CTO di Hewlett Packard Labs, che ha parlato addirittura di un triplo ’incremento delle performance quando si consolidano database.

Nella slide qui sotto, possiamo vedere quali sono i miglioramenti che Rome può vantare su Naples e quella che salta subito all’occhio è il raddoppio di tutti i vettori per i calcoli in virgola mobile, oltre a un buon rinforzo in ambito calcolo integer.

Mark Papermaster ha anche specificato che hanno rinunciato ad alcuni megabyte di memoria cache per destinare i transistor agli algoritmi migliorati di branch prediction perché hanno notato che sui carichi reali si aveva un beneficio maggiore.

Una questione di sicurezza

Non potevano mancare alcune considerazioni sulla sicurezza di questa piattaforma, un tema che è stato definito vitale dalla stessa Lisa Su. AMD ha preso accorgimenti a livello di firmware e microcodice su tutte le vulnerabilità al momento conosciute e hanno implementato molti accorgimenti per isolare meglio le componenti dei processori e rendere molto più difficile, anche se non impossibile, scovare in futuro altri trucchi simili a Spectre.

Inoltre, sono state migliorate anche le funzioni di sicurezza già esistenti portando, per esempio, a 509 il numero massimo di chiavi di criptazione utilizzabili nelle macchine virtuali e isolando meglio il chip che si occupa della sicurezza dal resto della piattaforma in modo da non renderlo accessibile al sistema operativo.

La microarchitettura di Rome

Rome usa la stessa microarchitettura della serie di processori Ryzen 3000 e quindi ne eredita il miglioramento del 15% nell’esecuzione di istruzioni per ciclo.

Il processo a 7 nanometri, però, permette molta flessibilità, potendo garantire un incremento nelle prestazioni del 25% oppure mantenendo lo stesso livello di frequenze nei core consumando la metà della corrente necessaria prima.

Combinando questa caratteristica con il nuovo sistema di branch prediction TAGE, si ottengono miglioramenti marginali ma decisi che sommandosi vanno a fare molta differenza nei risultati finali e un ruolo sicuramente importante viene giocato dall’architettura chiplet.

Ogni chiplet, infatti, adesso è composto da due ccx standard a quattro core, solo che adesso sono accompagnati da una quantità di memoria doppia. Il fatto che l’architettura chiplet sia molto simile a quelal dei Ryzen 3000 l’aiuta a tenere bassi i costi, raggiungendo densità davvero notevoli.

In ogni package, infatti, AMD può comprimere fino a 32 miliardi di transistor. Un bel vantaggio in termini di funzioni che possono essere aggiunte senza dover cambiare il formato.

Come abbiamo anticipato, il die centrale da 12 nm ospita i controller PCIe 4.0 e DDR4, collegandoli al resto del processore tramite l’Infinity Fabric seguendo uno schema diverso da quello dei Naples che ha il grande vantaggio di ridurre i salti che un dato deve fare per arrivare a destinazione. Come effetto, le latenze sono ridotte del 19 e del 14% nei due domini NUMA presenti su Rome.

Anche lo stesso Infinity Fabric è stato migliorato rispetto alla precedente versione, passando dai 10.7GT/s di Naples a 18 GT/s, raddoppiando la reale capacità di lettura (portandola a 32bit) ma mantenendo la capacità di scrittura a 16bit.

Cosa significa, in soldoni, l’arrivo di Rome e ZEN2?

Potremmo parlare ancora a lungo delle caratteristiche tecniche e dei cambiamenti apportati dalla piattaforma Naples, ma non vogliamo fare un manuale tecnico d’istruzioni. Piuttosto, vogliamo far notare come il divario tecnologico in ambito server sia adesso a deciso vantaggio di AMD. Una situazione nuova, che potrebbe non avere le conseguenze che tutti si aspettano.

EPYC Rome è sicuramente una piattaforma estremamente valida e il larghissimo supporto da parte dei vendor del settore informatico indica che in molti aspettavano che qualcuno mettesse un po’ di pepe in un settore bloccato da tempo.

Ma come reagiranno le aziende? Correranno davvero a comprare in massa i prodotti basati sulla nuova soluzione? La cosa più probabile è che AMD crescerà molto più lentamente di quanto non meriterebbe in questo settore. Le aziende sono molto conservative quando si tratta dell’infrastruttura su cui girano i software business critical e quindi i cambiamenti sono lenti.

AMD, però, ha ribadito che il suo impegno nel tempo è molto solido, con Zen2 già disponibile, Zen 3 che ha terminato la fase di design e Zen 4 in fase di design. Questo darà a chi vorrà tentare la migrazione una buona base per iniziare con fiducia e anche se Twitter ha dichiarato che l’infrastruttura basata su Epyc Rome gli fa risparmiare il 20% dei costi rispetto a Intel, tutti ci andranno con i pieni di piombo, anche se è indubbio che la piattaforma EPYC fornisca più potenza di calcolo e più flessibilità di quella Intel a un prezzo che è solitamente la metà.