Intel e l'importanza dell'HPC

Intel e l'importanza dell'HPC

Nel corso della Supercomputing Conference 2010 Intel evidenzia alcuni elementi fondamentali circa il mondo dell'high performance computing e delle sue future evoluzioni

di Gabriele Burgazzi pubblicata il , alle 11:38 nel canale Server e Workstation
Intel
 

Pochi giorni fa avevamo parlato, con questa notizia di Knights Ferry: grazie alla riconversione di alcuni chip, originariamente sviluppati per altri utilizzi, Intel ha presentato una piattaforma derivata dal progetto Larrabee dedicata espressamente al mondo del Super computing.

La proposta di Intel è, a conti fatti, una soluzione formata da molti core, particolarmente adatta per eseguire calcoli estremamente parallelizzati, migliorando di fatto le prestazioni di una comune CPU in questo particolare scenario.

L'occasione per Intel di andare a sottolineare l'importanza del segmento HPC (High Performance Computing) giunge in corrispondenza della Supercomputing Conference 2010, tenutosi la scorsa settimana a New Orleans.

Con il termine Supercomputing si intende quel segmento di mercato informatico che, sfruttando componenti estremamente potenti, si fa carico di importanti carichi di lavoro: il supercomputing è una risorsa fondamentale, al giorno d'oggi, in ambiti come la ricerca e lo sviluppo, ma non solo. La possibilità di poter gestire simulazioni in tempo reale di proteine, componenti chimiche rappresenta infatti uno scalino fondamentale nella scalata verso il progresso tecnologico.

Per Intel il problema, quando si affronta questo discorso, riguarda i tipi di calcoli che i sistemi si trovano ad affrontare: buona parte del lavoro, infatti, riguarda calcoli estremamente parallelizzati, che difficilmente si adatta alla tipica struttura delle CPU multi-core. Le CPU sono infatti sviluppate, nativamente, per andare a risolvere pochi e diversi calcoli nel minor tempo possibile.

Ecco quindi che l'approccio impiegato con Knights Ferry rappresenta una scelta forzata: optare per una architettura di tipo MIC (Many integrated core), parallelizzando al massimo di fatto le proprie soluzioni, sembra essere la chiave di volta. ll prototipo di soluzione Knights Ferry mostrato da Intel si caratterizza per la presenza di 32 core x86 sviluppati a 32nm, e dotati di tecnologia HyperThreading. La soluzione sarà affiancata da 2GB di memoria video GDDR5 e si interfaccerà al sistema con una connessione PCIe 2.0. Analizzando il numero di core, il confronto con una normale scheda video viene di conseguenza: bisogna però tenere in considerazione che le soluzioni X86 impiegate da Intel per lo sviluppo del prototipo sono decisamente più potenti di una singola unità shader di una normale GPU.

L'hardware rappresenta però, a oggi, secondo la visione di Intel solo la metà di tutto: l'altra metà risponde invece al nome di software. Se la piattaforma di Intel per il Supercomputing è ancora in uno stadio prototipale, è sul software che Intel crede di poter giocare al meglio le proprie carte.

Le proposte di AMD e di NVIDIA, per quanto estremamente parallelizzate dal punto di vista architetturale, secondo la visione di Intel sono estremamente difficili da programmare in modo soddisfacente e richiedono una particolare abilità del programmatore.

La possibilità invece di sfruttare applicativi quali Parallel studio e cluster studio, consente di rendere più semplice questo aspetto: poter avere un compilatore che si automatizza in modo automatico per adattarsi a soluzioni multi-core o many-core permete di rendere il processo decisamente più veloce.

7 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
Foglia Morta26 Novembre 2010, 12:02 #1
ll prototipo di soluzione Knights Ferry mostrato da Intel si caratterizza per la presenza di 32 core x86 sviluppati a 22nm, e dotati di tecnologia HyperThreading.


Knights Ferry = 32nm e serve solo per come piattaforma di sviluppo, a 22nm fanno Knights Corner ma saranno oltre 50 core : http://www.intel.com/pressroom/arch...0100531comp.htm
unnilennium27 Novembre 2010, 00:37 #2
saranno anche difficili da programmare, ma le vga sono più avanti nello sviluppo rispetto ad intel... non c'è niente da fare. e anche come costi, non credo che un sistema cuda ready costi poco, ma sempre meno di un sistema con 22 core intel.. vedremo chi la spunta nel lungo periodo.. già le cpu-gpu di ati sono alle porte, e sicuramente avranno qualcosa da dire.
LMCH27 Novembre 2010, 05:27 #3
Originariamente inviato da: unnilennium
saranno anche difficili da programmare, ma le vga sono più avanti nello sviluppo rispetto ad intel... non c'è niente da fare. e anche come costi, non credo che un sistema cuda ready costi poco, ma sempre meno di un sistema con 22 core intel.. vedremo chi la spunta nel lungo periodo.. già le cpu-gpu di ati sono alle porte, e sicuramente avranno qualcosa da dire.


Più che "difficili da programmare" le GPU sono ottimizzate per una classe di applicazioni e solo quelle, se invece si usano delle cpu il modello di programmazione è più flessibile e con molto più software gia pronto (quello già sviluppato per sistemi NUMA e cluster di pc da prima ancora che si cominciasse a parlare di GPU).

Piuttosto, a decidere chi vince mi sa che saranno i tool di sviluppo.

Parte della scommessa di Intel è che ci sia sufficiente software già sviluppato per sistemi NUMA, cluster ecc. ecc. (magari pure basati su cpu e core x86) ben testato ed ottimizzato che sarà facile da portare verso i suoi chip per HPC.

Questo perchè è vero che esistono tool di parallelizzazione, ecc. ecc. ma non c'e' niente di meglio di software già sviluppato e che non deve essere riscritto, ritestato e riottimizzato.

Semmai anche in questo caso il vero pericolo viene da qualcuno che segua lo stesso approccio di Intel ma usando una cpu "di base" più semplice ed efficiente.
In particolare mi viene da pensare ai futuri core ARM a 64bit, se verranno progettati con lo stesso approccio di quelli a 32bit ne potrebbe venir fuori un mostriciattolo temibile anche per applicazioni HPC "many integrated core"
(a patto che sia obbligatorio il supporto FP in hardware).
Pleg28 Novembre 2010, 03:18 #4
Originariamente inviato da: LMCH
Più che "difficili da programmare" le GPU sono ottimizzate per una classe di applicazioni e solo quelle, se invece si usano delle cpu il modello di programmazione è più flessibile e con molto più software gia pronto (quello già sviluppato per sistemi NUMA e cluster di pc da prima ancora che si cominciasse a parlare di GPU).


Si' pero' quelle CPU immagino saranno un Larrabee rivisto e aggiornato, dove il grosso della potenza di calcolo viene dalle sue unita' vettoriali. Anche in questo caso quindi funzioneranno bene per quelle applicazioni facilmente vettorizzabili, e male per applicazioni con un parallelismo piu' irregolare.

Vero e' che la compatibilita' con x86, lo shared memory (assumendo che sia la stessa architettura di Larrabee) e il fatto che Intel abbia compilatori autovettorizzanti sono un grosso punto di vantaggio di Intel rispetto ai competitor.
Pleg28 Novembre 2010, 03:21 #5
Originariamente inviato da: LMCH
Semmai anche in questo caso il vero pericolo viene da qualcuno che segua lo stesso approccio di Intel ma usando una cpu "di base" più semplice ed efficiente.
In particolare mi viene da pensare ai futuri core ARM a 64bit, se verranno progettati con lo stesso approccio di quelli a 32bit ne potrebbe venir fuori un mostriciattolo temibile anche per applicazioni HPC "many integrated core"
(a patto che sia obbligatorio il supporto FP in hardware).


Come lo vedresti un approccio "fusion" di un multicore ARM64 con una GPU CUDA-enabled?
Gustoso?
LMCH28 Novembre 2010, 20:02 #6
Originariamente inviato da: Pleg
Come lo vedresti un approccio "fusion" di un multicore ARM64 con una GPU CUDA-enabled?
Gustoso?


Dipende da cosa ci si vuole fare, ma sopratutto da come sarà l'ARM64.
Sino ad ora quelli di ARM Ldt. hanno avuto buone idee sul come far evolvere la loro architettura, tenendo le dita incrociate spero che continuino sulla stessa strada.
coschizza29 Novembre 2010, 10:32 #7
Originariamente inviato da: unnilennium
saranno anche difficili da programmare, ma le vga sono più avanti nello sviluppo rispetto ad intel... non c'è niente da fare. e anche come costi, non credo che un sistema cuda ready costi poco, ma sempre meno di un sistema con 22 core intel.. vedremo chi la spunta nel lungo periodo.. già le cpu-gpu di ati sono alle porte, e sicuramente avranno qualcosa da dire.


in realta saranno piu facili da programmare per vari motivi che vanno dalla compatibilità con il set di istruzioni x86 alla comptibilità con i programmi di svilippo standard e soprattutto l'hardware non ha i limiti e i problemi di sviluppo che ci sono ancora oggi quando si utilizza il GPGPU.

Questi core sono core completi è possono fare molte piu cose che con le gpu non si possono nemmneo pernsare questo li rende molto piu versatili rispetto ai concorrenti.

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^