Ciao Mondo 3!

thumb_logoIn questo articolo vi presentiamo la nuova architettura server di AMD basata sul core di classe Bulldozer. Vi descriveremo le CPU serie 4200 per sistemi a 1 e 2 socket e serie 6200 per sistemi a 2 e 4 socket per un massimo di ben 64 core.

[ENGLISH VERSION]

 

La sempre maggior richiesta di servizi web e/o cloud ha fatto aumentare la necessità di installazioni di piattaforme e sistemi server. La soluzione più efficiente ed economica attualmente maggiormente utilizzata è la virtualizzazione: una sola macchina fisica può simulare svariate macchine, anche centinaia. Basta avere una quantità sufficiente di Core e RAM. Tipicamente almeno un Core e 1GB di RAM per macchina virtuale. E’ quindi nata l’esigenza di avere il maggior numero possibile di core e slot DIMM per un singolo sistema. Attualmente le server farm sono composte da torri comprendenti qualche decina di slot per altrettanti rack, ognuno ospitante un sistema completo. Va da se che tanti più core e DIMM un rack può ospitare, rimanendo anche in un consumo e calore accettabile, tanto maggiore è il numero di server virtuali che si possono ospitare.

AMD_Interlagos_1

I requisiti per una piattaforma server sono dunque l’economicità per il cloud, la scalabilità per la virtualizzazione, ossia la capacità di ammettere molte macchine virtuali senza perdere in prestazioni e la potenza di elaborazione per l’HPC, ossia l’High Performance Computing.

AMD_Interlagos_2


Le CPU

Con le serie 4200 e 6200 AMD dichiara di aver migliorato tutti e tre gli aspetti rispetto alla passata generazione ed anche in confronto alla concorrenza.

I test seguenti sono stati compilati con il miglior compilatore e linkati con la migliore libreria per la piattaforma in esame. Ciò vuol dire che i test AMD sono stati compilati per usare le nuove istruzioni FMA4 e XOP esclusive di AMD e la libreria ACML 5.0, ottimizzata per l'architettura Bulldozer. Questo spiega anche, in parte, gli ottimi risultati. Il buon risultato nel test di memoria, però, è tutta farina del sacco di AMD: efficienza del controller RAM e dei collegamenti HT tra le CPU con HT-assist.

AMD_Interlagos_3

 

Performance HPC: 2 Opteron 6276 generano l’84% di potenza in più nel benchmark LINPACK di 2 Xeon 5670.

Banda di memoria: 2 Opteron 6276 generano il 73% di banda di memoria in più nel test STREAM 2P di 2 Xeon 5670.

Efficienza ed economicità per il cloud e la virtualizzazione: metà potenza per core rispetto ai migliori Xeon (4.375W contro 10W), 2/3 in meno dello spazio a parità di core (un rack per sistemi 2P INTEL può ospitare 12 core contro 32 core per AMD) e infine da 1/3 a 2/3 in meno di prezzo di listino per soluzioni server complete TOP di gamma AMD contro quelle INTEL.

AMD ha scelto di effettuare la comparazione con la CPU Xeon 5670 (controparte server degli esacore Gulftown) in quanto costituisce la stragrande maggioranza delle vendite di Intel per il mercato server.

AMD_Interlagos_4

 

Le CPU sono basate sull’architettura Bulldozer a moduli, di cui trovate una descrizione dettagliata in questo nostro precedente articolo.

Le soluzioni serie 4200 ricalcano le configurazioni desktop con soluzioni da 4 a 8 core, organizzati a moduli, con 64KB di cache L1 istruzioni per coppia di core, 16KB di cache L1 dati per core, 2MB di cache L2 per coppia di core e 8MB di cache L3 totale. I sistemi basati su Opteron 4200 dispongono di fino a due socket con due canali DDR3 1600MHz per socket, tre link HT x16 3.0 per socket, fino a 6.4GT/s e frequenze fino a 3.3GHz di base con 3.7GHz di turbo core massimo, con soluzioni da 35 a 95W consistenti con la precedente serie 4100, essendo installabili, previo aggiornamento BIOS, anche in sistemi esistenti.

AMD_Interlagos_5

 

Le soluzioni serie 6200 raddoppiano le caratteristiche della serie 4200, essendo basati su due die in configurazione MCM, con soluzioni da 4 a 16 core, organizzati a moduli, con 64KB di cache L1 istruzioni per coppia di core, 16KB di cache L1 dati per core, 2MB di cache L2 per coppia di core e 16MB di cache L3 totale per socket, con soluzioni a due e quattro socket con quattro canali DDR3 1600MHz per socket, quattro link HT x16 3.0 per socket, fino a 6.4GT/s e frequenze fino a 3.3GHz di base con 3.6GHz di turbo core massimo, con soluzioni da 85 a 140W consistenti con la precedente serie 6100, essendo installabili, previo aggiornamento BIOS, anche in sistemi esistenti.


 

Caratteristiche delle CPU

 

Le soluzioni server AMD sono flessibili, con la tecnologia Turbo core, Core select per selezionare da BIOS il numero di core visibili (per esempio per ridurre i costi di licenza software), svariate modalità di funzionamento di FLEX FP, partizionamento della Cache e nuove istruzioni HPC (FMA4 e XOP, esclusive di AMD, e AVX e di accelerazione crittografica, condivise con INTEL), TDP power CAP, per limitare la potenza dissipata dalle CPU con granularità di 1W, stato C6, per un minor consumo in IDLE, 6 classi di TDP per poter scegliere la CPU più adatta alle proprie esigenze, supporto per DIMM a basso e bassissimo voltaggio, supporto da 4 a 64 core per rack con stesso chipset (e quindi driver) per tutti i sistemi da 1 a 4 socket.

AMD_Interlagos_6

La tecnologia Turbo core si attiva sia con tutti i core attivi, nel qual caso consente un aumento da 300 a 500MHz a seconda dei modelli e con al massimo metà dei core attivi può arrivare fino a 1.2GHz (per il modello top di gamma a 16 core).

AMD_Interlagos_7

Come abbiamo visto nella presentazione dell’architettura Bulldozer, ogni modulo è dotato di una FPU condivisa, capace di eseguire istruzioni a 128 e 256 bit di due thread.

AMD_Interlagos_8

I set di istruzioni supportati dalla FPU sono:

  • x87, MMX, SSE1, SSE2, SSE3, che è il set di istruzioni FPU e intero legacy, sia scalare che SIMD, supportato sia da AMD che INTEL;
  • SSSE3, SSE4.1, SSE4.2, che è il set FPU e intero SIMD, supportato sia da AMD che INTEL, che consente di accelerare gli algoritmi video, biometrici e di elaborazione intensiva del testo;
  • AESNI, PCLMULQDQ, che è il set di istruzioni, comune sia ad AMD che INTEL, per accelerare gli algoritmi criptografici, ed in particolare quelli AES;
  • AVX, che è il nuovo set di istruzioni, condiviso sia da AMD che INTEL, con una nuova codifica estensibile, che consente di avere istruzioni FPU e intere SIMD sia a 128 che 256 bit, e che serve per accelerare le applicazioni di calcolo intensivo, come quelle HPC;
  • FMA4, set di istruzioni esclusivo di AMD, che consente di effettuare operazioni di moltiplicazione e accumulo a 4 vie in una sola istruzione, accelerando di molto gli algoritmi che li richiedono, come la moltiplicazione di matrice e molti calcoli scientifici;
  • XOP, set di istruzioni esclusivo di AMD, che contiene istruzioni per accelerare applicazioni multimediali, come sommatoria di vettori, estrazione di frazione e conversione per numeri FP a 16 bit, usati nelle schede video.

 

Questi ultimi insiemi di istruzioni sono stati progettati per aumentare la densità di calcolo per istruzione, per ridurre la necessità di copiare registri (solo FMA4) e per consentire la vettorizzazione automatica da parte dei compilatori.


Risparmio energetico

Le CPU Interlagos supportano le memorie DDR3 low voltage (1.35V) e ultra low voltage (1.25V) per un minor consumo complessivo del sistema.

AMD_Interlagos_9

 

Supportano lo stato di risparmio energetico dei core C6, che consiste nello spegnere il clock e l’alimentazione ai moduli in idle, riducendo la potenza dissipata, rispetto alla precedente generazione Opteron del 46% (il 6174, 12 core a 2.2GHz, consuma 11.7W, nello stato di idle attivo C1E, mentre il 6276, 16 core a 2.3GHz, consuma 6.4W, nello stato di idle attivo C1E, con il nuovo stato di power gating C6 attivo da BIOS).

AMD_Interlagos_10

 

La tecnologia TDP Power CAP consente di selezionare la potenza target della unità APM con precisione di 1 Watt.

Come visto nell’articolo tecnico sull’architettura Bulldozer, il modulo APM (Advanced Power Management) calcola in ogni istante le unità attive, con una precisione del 2%, da cui deriva il limite superiore della potenza consumata in quell’istante dalla CPU. In tal modo può decidere se e per quanto tempo la CPU può stare in uno stato di Turbo Core superiore, in modo da consumare la quantità di energia il più possibile vicina, ma inferiore al limite specificato. Nelle CPU Desktop tale limite è fissato in genere dalla classe di appartenenza (95W o 125W). Ma nelle CPU Interlagos è possibile forzare un TDP inferiore a quello relativo alla classe di appartenenza (da 35W a 140W) con granularità di 1 Watt, al fine di ridurre il consumo e la dissipazione e poter, ad esempio, mettere più rack in un dato armadio con potenza dissipativa e di alimentazione limitata. Per come funziona l’APM e per le caratteristiche delle CPU e del software, un dato carico potrebbe addirittura non perdere in prestazioni, limitando la potenza a valori inferiori, se ad esempio già non sfrutta in pieno tutta la CPU.

 

Infine tutte le unità della CPU, impiegano un clock gating e un voltage gating avanzato per tenere accese solo le parti di CPU necessarie in quel momento.

Tutto ciò porta ad un consumo per core fino al 56% inferiore rispetto ad INTEL (8 core 35W AMD contro 6 core 60W Intel). Questo è possibile grazie al bassissimo leakage del processo SOI di Global Foundries, per cui tanti transistor alimentati a bassa tensione e funzionanti a basso clock consumano molto poco.

 


Confronto con INTEL

Nella fascia di mercato a maggior volume, le CPU AMD Opteron di nuova generazione ottengono un 89% in più di prestazioni nei test SPEC, a parità di costo della CPU (Xeon E5640, contro Opteron 6276).

AMD_Interlagos_11

 

A parità di costo di sistema, invece, offrono il 25% in più di potenza CPU, più memoria ed un miglior comparto disco.

AMD_Interlagos_12

 

Per quanto riguarda la virtualizzazione, si richiede la massima quantità di core, di memoria indirizzabile, di cache L3 e il minor consumo possibile. Le soluzioni AMD danno un costo per VM fino al 77% in meno e consentono di avere un numero 2.6 volte superiore di VM per rack.

 AMD_Interlagos_13

 

Per il cloud si richiede la massima densità, resa possibile dal basso consumo: 5.3W/core per la serie 6200, 4.375W/core per la serie 4200, contro 10W/core per le migliori CPU INTEL. In più il top di gamma AMD (6282 SE) ottiene il 25% in più in benchmark web based, rispetto al concorrente INTEL (Xeon 5690).

AMD_Interlagos_14

 

Infine per l’HPC si richiedono performance scalabili, alte prestazioni di calcolo, alta banda di memoria, molti core ed estensioni SIMD per il calcolo numerico. AMD ottiene il 73% di banda di memoria in più rispetto ad INTEL, ha un numero maggiore di core per rack, un numero maggiore di FLOP per rack e un costo fino all’80% inferiore. Per raggiungere la potenza bruta di un rack di CPU 16 core AMD, servono due interi rack di CPU INTEL.

AMD_Interlagos_16

 


Ecosistema software

Per sfruttare al meglio l’architettura Bulldozer si devono riconoscerne le sue peculiarità:

  • Ottimizzare il software per la sua architettura a moduli: il sistema operativo o l’Hypervisor devono riconoscere Bulldozer e agire di conseguenza;
  • Sfruttare le nuove istruzioni di Bulldozer, con particolare riferimento alle istruzioni SIMD, SSEn, AVX, di accelerazioni crittografiche e le esclusive FMA4 e XOP;
  • Sfruttare i contatori per la misurazione delle prestazioni per poter monitorare e migliorare il software;
  • Sfruttare lo stato C6 per consumare meno e/o abilitare un turbo core più spinto (ad esempio core parking)
  • Sfruttare le nuove istruzioni per l’accelerazione della virtualizzazione, per ottenere prestazioni quasi identiche a una macchina nativa.

AMD_Interlagos_17

Tra le varie istruzioni supportate dalle CPU AMD Bulldozer, segnaliamo quelle esclusive di AMD: FMA4 e XOP.

FMA4 implementa la fused multiply accumulate, nella formula d=a+b x c, che consente grande flessibilità di programmazione, permettendo di scegliere i 4 registri in modo indipendente. Tale istruzione è in grado di eseguire questo calcolo in modo pipelined e una FPU di un modulo Bulldozer è in grado di eseguire una FMA a 256 bit o 2 a 128 bit Floating point e contemporaneamente una FMA a 256 bit o 2 a 128 bit Intere in un singolo ciclo di clock.

Questa classe di istruzioni accelera le applicazioni che richiedono questo tipo di calcoli. IBM, SPARC e le CPU Itanium hanno già questo tipo di istruzioni. Le CPU Intel di classe x86 le implementeranno nel 2013 ma nella versione FMA3, più limitata, in cui uno dei 4 registri è sovrascritto. Questo è dovuto alla microarchitettura interna delle CPU INTEL che non consente di avere più di 3 registri per istruzione.

AMD_Interlagos_18

 

 

XOP comprende istruzioni a 128 e 256 bit a 3 o 4 operandi di sommatoria o sottrazione orizzontale, compare, shift, rotazione, permutazione, accumulazione e produttoria intera, estrazione di frazione e conversione da e verso floating point a 16 bit, usati nelle schede video.

Per sfruttare appieno la potenza delle CPU Bulldozer, i software devono essere compilati con l’opzione SSE e AVX a 128 bit e l’opzione FMA4 e linkati alla libreria ACML versione 5.x.

Se il software supporta le istruzioni in comune con INTEL e non usa il compilatore INTEL (che controlla che la CPU sia INTEL prima di abilitare il supporto alle nuove istruzioni) allora non deve essere ricompilato. Se si vuole far uso delle istruzioni FMA4 o XOP, si deve ricompilare il software o linkarlo con le librerie ACML 5.x.

Il supporto alle nuove istruzioni di virtualizzazione è in fase di implementazione in tutti i software e kernel più recenti.

Il supporto a Bulldozer è attivo su tutti i compilatori più recenti, eccetto quello INTEL in cui XOP e FMA4 non sono supportati e bisogna forzare a mano l’uso di AVX con lo switch –mAVX.

Librerie:

  • la libreria ACML 4.0 di AMD è compatibile con Bulldozer. La versione 5.0 è ottimizzata per Bulldozer. Essa contiene le routine di algebra lineare base (BLAS), le routine di algebra avanzata (LAPACK), routine per le FFT e i numeri casuali. E’ in sviluppo la versione 5.1 della libreria ACML che contiene le stesse routine in doppia precisione ed estese ai numeri complessi;
  • la libreria LibM di AMD, versione 3.0 ottimizzata per Bulldozer, contiene le funzioni matematiche standard ottimizzate per tale CPU;
  • infine la libreria IPP di INTEL che su CPU AMD è limitata alla versione con SSE3.

 


Conclusioni

 

Le CPU AMD di classe Bulldozer nella incarnazione server, chiamate Interlagos, sono un ricambio drop-in per la precedente generazione di CPU Opteron, previo aggiornamento BIOS.

Usando gli appositi compilatori e librerie è possibile sfruttarne al massimo le caratteristiche e anche le nuove istruzioni uniche dell’architettura.

AMD_Interlagos_19

Tale compito è molto più facile del campo professionale dove in genere il codice è ottimizzato per l’architettura su cui dovrà girare il software.

In tal caso non ci sono dubbi: da quanto emerso nella presentazione di AMD Interlagos, l’architettura Bulldozer fornisce le maggiori prestazioni, il minore ingombro, la maggiore densità di core e memoria, il minor consumo e la maggiore flessibilità, in rapporto al prezzo.

AMD_Interlagos_20

Il 14 novembre costituisce il lancio ufficiale delle nuove piattaforme AMD Interlagos. AMD ha annunciato che non soltanto queste CPU saranno disponibili da subito, ma addirittura molti esemplari sono già stati consegnati da tempo ad alcuni importanti partner AMD. Bulldozer non ha brillato in ambito desktop, dove è stato accolto con un po’ di delusione, nell’ambito server però, viene accolto con aspettative ben diverse, posizionandosi in una posizione di netto vantaggio, almeno per il momento, rispetto alla concorrenza.

Marco Comerci.

Pubblicità