2013
di Gianpaolo Perego, Aethia Srl
A & C - ANALISI E CALCOLO | MARZO 2013
Xeon Phi è una scheda PCI Express che ospita fino a 60 core di famiglia x86, utilizzabile per accelerare elaborazioni parallele a fianco delle tradizionali CPU.
L'idea deriva dal progetto Larrabee, avviato da Intel nel 2006 con l'intento di realizzare una scheda grafica accelerata basata su core x86 in grado di competere con i prodotti dei competitor Nvidia e AMD. Larrabee è stato abbandonato da Intel nel 2010, ma i concetti migliori sono stati ripresi, indirizzati alle esigenze dell'High Performance Computing e incorporati nel progetto Xeon Phi.
Uno degli aspetti dirompenti di questa tecnologia è che non è richiesto di scrivere codice in CUDA o OpenCL, ma utilizzando linguaggi come C, C++ e Fortran. Grazie a questo, la curva d'apprendimento per i programmatori è potenzialmente molto più favorevole che nel caso del GPU computing con CUDA e OpenCL.
Le schede Xeon Phi sono oggi già presenti in uno dei più potenti supercomputer del mondo: Stampede, presso il Texas Advanced Computing Center.
Architettura hardware
L'architettura Many Integrated Core che sta alla base di Xeon Phi prevede un numero di circa 60 core per scheda, ognuno dei quali è sostanzialmente un processore Pentium modificato, ottenuto con tecnologia costruttiva Tri-gate a 22nn, operante alla frequenza di circa 1GHz e in grado di eseguire 4 thread in contemporanea. Ogni core dispone di una cache L2, per un massimo di 30,5 MB per scheda. La memoria complessiva è di 8GB, con throughtput di 320GB/s. I processori sono in grado di eseguire istruzioni SIMD a 512 bit.
Il fattore di forma della scheda è PCIe x16 a doppio slot, a raffreddamento passivo. Non sono presenti uscite video sul retro.
Dal punto di vista software Xeon Phi fa girare un sistema operativo basato su Linux (uOS, Micro Operative System), la cui immagine installata è indirizzabile via IP. E' possibile quindi collegarsi via SSH ed operare sulla scheda “dall'interno".
Vantaggi
Intel pone l'attenzione in particolare su questi vantaggi:
1. Risparmio energetico: il miglioramento di prestazioni per watt dichiarato è almeno doppio rispetto ai processori Xeon serie E5.
2. Facilità di programmazione: la creazione di codice in grado di girare su Xeon Phi richiede solo la conoscenza di linguaggi di larga diffusione come C/C++ e Fortran, e non risulta essere molto diversa rispetto a quanto avviene per i processori Xeon.
Entrambi i vantaggi possono essere in un certo senso moltiplicati dal fatto di poter installare all'interno di un unico server più schede Xeon Phi, limitatamente alla disponibilità di slot PCI Express e naturalmente alla scalabilità dei codici di calcolo utilizzati.
Il vantaggio costituito dal modello di programmazione unificato prospettato da Intel è potenzialmente molto grande, in quanto permette agli sviluppatori di minimizzare il tempo necessario per arrivare a codici che girano in modo ottimizzato. Un codice scritto per architettura x86 potrebbe potenzialmente girare sia su CPU Core i3 che su Xeon E5 o, appunto, su Xeon Phi, ottenendo via via prestazioni crescenti.
Chiaramente questi vantaggi non possono prescindere dal fatto che Intel sia in grado di offrire davvero incrementi di prestazioni interessanti con questo tipo di soluzione tecnologica. In questo momento le schede Xeon Phi sono sottoposte a test e benchmark in tutto il mondo, e si avranno presto indicazioni interessanti in merito.