2012
di Gianpaolo Perego, Aethia Srl
A & C - ANALISI E CALCOLO | LUGLIO 2012
I limiti costruttivi raggiunti nella realizzazione dei processori spingono ormai da diversi anni sempre più verso l'adozione di sistemi di elaborazione parallela per poter incrementare le prestazioni. Questo avviene secondo due tendenze principali: a livello di CPU tramite l'aumento del numero di unità di elaborazione interne (multi-core), e a livello architetturale tramite l'aggregazione di più computer connessi fra loro (clustering).
Negli ultimi anni si è verificato un netto impulso soprattutto a livello di incremento del numero di core per processore. Questa tendenza è stata interpretata in particolare da AMD, mentre Intel sta seguendo una strategia diversa e produce CPU con numeri inferiori di core (ad oggi massimo 8) ma più performanti.
Si è quindi arrivati a fine 2011 ad avere sul mercato modelli di CPU AMD Opteron a 16 core, con frequenze di clock da 2.1 a 2.6 Ghz. Grazie alla diffusione e all'ottimo rapporto qualità/prezzo raggiunto ormai dalle schede madri quadri-processore, è quindi possibile acquistare oggi singoli server equipaggiati con 64 core a prezzi anche ampiamente inferiori ai 10.000 Euro. Questo è reso possibile anche dall'architettura adottata da AMD per i processori Opteron, che consente una buona scalabilità in termini di CPU mantenendo prezzi accessibili. Basti pensare che solo pochi anni fa, per raggiungere lo stesso numero di processori era necessario almeno un cluster di 8 nodi bi-processore (con CPU a 4 core), connessi fra loro da una rete Infiniband per garantire una velocità di comunicazione fra i processori paragonabile a quella fornita da un unico sistema multiprocessore (SMP). Il tutto con un investimento almeno 3-4 volte superiore in termini di hardware, e un peso molto maggiore a livello di gestione sistemistica del software.
Se pur le prestazioni di calcolo per singolo core siano in media inferiori per le CPU AMD Opteron, come accennato sopra, la disponibilità di un così elevato numero di core facilmente utilizzabili e a prezzi molto competitivi sta suscitando un particolare interesse in tutti quegli ambiti applicativi dove è preferibile massimizzare il numero di processori piuttosto che la velocità del singolo processore.
Ecco alcuni esempi di applicazioni che possono trarre particolare vantaggio da questo tipo di architetture:
- Chimica computazionale (es. massive parallel quantum chemistry)
- Modellazione ambientale (es. simulazioni della qualità dell'aria)
- Computational Fluid Dynamics
- Bioinformatica (es. Next Generation Sequencing)
- Virtualizzazione e cloud computing
- Render farm (in particolare con aggiunta di moduli GPGPU)
- Server per servizi Internet ad alto traffico
Sul sito web www.spec.org sono disponibili i dati ottenuti con il benchmark CPU2006 su alcuni server a 64 core. In figura è indicato l'indice CFP2006 ottenuto per un server Supermicro con 4 CPU Opteron 6276 a 2,3 Ghz (sino a 3,2 Ghz in Turbo Core) e 256 GB di RAM PC3-12800.
E' possibile visualizzare la scheda con i dati completi all'indirizzo: http://www.spec.org/cpu2006/results/res2012q2/cpu2....
Per avere un termine di paragone, un server a 16 core con 2 CPU Xeon E5-2650 a 2,0 Ghz (sino a 2,8 Ghz in Turbo Boost) e 128 GB di RAM PC3-12800 totalizza uno score di 424 per l'indice SPECfp_rate2006.
Da questo breve confronto risulta confermato che i core dei processori Intel Xeon offrono prestazioni anche doppie, tenendo però presente che le prestazioni complessive di un singolo server sono limitate dal numero massimo di core per mainboard, ad oggi pari a 16.
Va infine rilevato che collegando due server a 64 core tramite una connessione punto-punto Infiniband (senza switch IB), è possibile raddoppiare il numero di core mantenendo una velocità di comunicazione fra i due server più che adeguata per la maggior parte delle applicazioni di calcolo. Dal punto di vista hardware, oltre ai due server è necessario prevedere solo una coppia di interfacce Infiniband single o dual channel, e 1-2 cavi Infiniband. Con questa soluzione è possibile realizzare un “piccolo" supercomputer a 128 core con un investimento dell'ordine dei 15-20 mila Euro.