3 PetaFLOPS per il futuro supercomputer più veloce al mondo

3 PetaFLOPS per il futuro supercomputer più veloce al mondo

Architettura con soli processori Intel Xeon di prossima generazione quella scelta per una nuova installazione in Germania, sviluppata in collaborazione con IBM

di Paolo Corsini pubblicata il , alle 09:09 nel canale Server e Workstation
IntelIBM
 

Resta aggiornato sulle ultime offerte

Ricevi comodamente via email le segnalazioni della redazione di Hardware Upgrade sui prodotti tecnologici in offerta più interessanti per te

Quando invii il modulo, controlla la tua inbox per confermare l'iscrizione

19 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
coschizza20 Dicembre 2010, 12:59 #11
Originariamente inviato da: rb1205
Immagino che homero intenda che fare un supercomputer così potente basato solo su un numero elevatissimo di cpu è uno spreco considerando che con molte meno risorse si potevano raggiungere quelle prestazioni con un sistema ibrido, o maggiori prestazioni a parità di risorse.


"con molte meno risorse si potevano raggiungere quelle prestazioni"

solo una domadna : come?

se a loro serva una potenza pari a 10 ci devono mettere dentro cpu che diano potenza pari a 10, mica stiamo parlando di un pc di casa assemblato ma di un supercomputer sviluppano in anni di lavoro che che richiede anche centinaia di persone costantemente impegnate a mantenerlo operativo.

Forse homero intendeva dire: se mi serve potenza 10 allora mettro delle cpu che mi diano potenza 5 e delle gpu che mi dirano il restante 5. Il problema di questo approccio è che magari la potenza 5 data dalla gpu non è utilizzabile perche le applicazioni che devi far girare non sono gestibili tramite gpgpu (cosa molto comune) quindi ti trovaresti un sistema piu complesso piu costoso è con una potenza totale inferiore a quello che ti serve.

I sistemi ibridi vengono usati gia oggi sul supercomputer che ha l'attuale 1 posizione, ma si usano solo se ti danno un vantaggio Altrimenti non servono a nulla.

Ti faccio un esempio in piccolo, immagina che io devo farmi un supercomputer per casa e mi serve per usare il 3dsmax in rendering, allora punto tutto sulla cpu perche le gpu non mi servono a nulla in questo caso (e posso unsare anche una gpu integrata come faccio io realmente), se invece punto tutto sul rendering e sulla modellazione 3d allora devo bilanciare la potenza anche su una gpu discreta di livello, se invece devo fare solo modellazione e 0 rendering allora la gpu sara l'investimento principale. Spero che hai capito come si va a decidere che hardware deve unare un supercomputer.

GPU e CPU non sono intercambiabili.
Pier220420 Dicembre 2010, 13:23 #12
Originariamente inviato da: coschizza
"con molte meno risorse si potevano raggiungere quelle prestazioni"

solo una domadna : come?

.


Non so se l'idea è peregrina oppure attuabile, ma invece che usare un supercomputer monolitico, non è meglio distribuire i calcoli su un un numero considerevole di Computer sparsi nel mondo?

Per quanto un supercomputer è potente non raggiungerà mai la potenza di migliaia di macchine in parallelo..

Naturalmente se questo è fattibile.
jpjcssource20 Dicembre 2010, 14:13 #13
Originariamente inviato da: Pier2204
Non so se l'idea è peregrina oppure attuabile, ma invece che usare un supercomputer monolitico, non è meglio distribuire i calcoli su un un numero considerevole di Computer sparsi nel mondo?

Per quanto un supercomputer è potente non raggiungerà mai la potenza di migliaia di macchine in parallelo..

Naturalmente se questo è fattibile.


Quindi spargi per il mondo pacchetti di dati riguardanti progetti di ricerca riservati o addirittura top secret di importanza strategica per le aziende del tuo paese e per le tue forze armate?
Il calcolo distribuito non è la panacea di tutti i mali.
coschizza20 Dicembre 2010, 15:00 #14
Originariamente inviato da: Pier2204
Non so se l'idea è peregrina oppure attuabile, ma invece che usare un supercomputer monolitico, non è meglio distribuire i calcoli su un un numero considerevole di Computer sparsi nel mondo?

Per quanto un supercomputer è potente non raggiungerà mai la potenza di migliaia di macchine in parallelo..

Naturalmente se questo è fattibile.


certamente ,questo gia si fa oggi con varie ricerche ma il problema è: di chi sono i computer?, chi li finanzia?, chi paga l'energia elettrica? chi mantiente l'integrita del tato e la tutela alla privacy nel caso sia necessario?

Ci sono progetti come SETI@home e Folding@home che fanno questo ma dipende da chi deve fare al ricerca e che fondi ha, inoltre quali sono le elaborazioni da fare. Non puoi mica delegare al mondo l'elaborazione di dati strategici per una ricerca senza poter essere sicuro che il tutto funzioni a dovere inoltre certi calcoli devono avvenire con grande interazione tra i processi e questo richiede server vicini o attaccati non con il mondo di internet in mezzo che li separa.
rb120520 Dicembre 2010, 15:07 #15
Originariamente inviato da: coschizza
solo una domadna : come?


è scritto appena dopo la frase che hai quotato: con un sistema ibrido. Lo so bene che c'è differenza fra CPU e GPU, e che un sistema ibrido è meno flessibile di uno a sole CPU, ma ricordati che quello che stavo facendo era cercare d'interpretare il pensiero di homero.

Originariamente inviato da: Pier2204
Non so se l'idea è peregrina oppure attuabile, ma invece che usare un supercomputer monolitico, non è meglio distribuire i calcoli su un un numero considerevole di Computer sparsi nel mondo?


Quello si fa già per molti progetti e si chiama, appunto, calcolo distribuito. Molti sono basati su normalissimi PC di donatori sparsi per il mondo; ad esempio il maggiore, Folding@Home, è il sistema informatico con la maggior potenza teorica al mondo: sviluppa l'equivalente di 10 PFLOPS.
Tuttavia un sistema del genere comporta molte problematiche: la pesante limitazione delle tipologie di problemi risolvibili, i tempi necessari a completare ogni progetto, il dover mandare in chiaro i dati e i risultati delle analisi in giro per il mondo, il poco controllo sulla qualità dei solutori e tanti altri.
Opteranium20 Dicembre 2010, 15:27 #16
Originariamente inviato da: rb1205
Immagino che homero intenda che fare un supercomputer così potente basato solo su un numero elevatissimo di cpu è uno spreco considerando che con molte meno risorse si potevano raggiungere quelle prestazioni con un sistema ibrido, o maggiori prestazioni a parità di risorse.

vi ringrazio per le risposte, ma fatelo dire a lui... Solo allora riconsidererò l' ipotesi del trattamento

e, a parte gli scherzi, tu parli di «spreco, troppe cpu, magari si poteva fare di più e con meno». Due cose:

1. chi lo ha progettato non sarà un venditore di tostapane;
2. se guardate la top500 e prendete il Jaguar (II posto), noterete un totale di 226 mila e passa core, nella pratica oltre 37 mila cpu Opteron, per un massimo stabile di 1,7 PFlop.

questo avrà poco più di 1/3 dei suddetti core, ma una potenza superiore. E lo chiamate spreco?

Terza e ultima cosa, come altri hanno detto, le gpu vanno bene per molto ma non per tutto. Se l' obiettivo di questo aggeggio esula dal loro campo non vedo grosse alternative..
D1o20 Dicembre 2010, 16:42 #17
Originariamente inviato da: Pier2204
Non so se l'idea è peregrina oppure attuabile, ma invece che usare un supercomputer monolitico, non è meglio distribuire i calcoli su un un numero considerevole di Computer sparsi nel mondo?

Per quanto un supercomputer è potente non raggiungerà mai la potenza di migliaia di macchine in parallelo..

Naturalmente se questo è fattibile.


è fattibile (e come detto da altri viene fatto) se si devono eseguire tanti calcoli singoli e non è necessaria interazione e scambio di dati tra i vari nodi. altrimenti la lentezza della rete inficia il guadagno prestazionale dato dalla distribuzione dei calcoli.

non a caso, nelle situazioni dove è richiesto un grande scambio di informazioni tra i vari core e processori si usano le reti infiniband che costano uno sfracelo. probabilmente anche questo supercomputer tedesco avrà una situazione del genere.
Pier220420 Dicembre 2010, 18:25 #18
Originariamente inviato da: jpjcssource
Quindi spargi per il mondo pacchetti di dati riguardanti progetti di ricerca riservati o addirittura top secret di importanza strategica per le aziende del tuo paese e per le tue forze armate?
Il calcolo distribuito non è la panacea di tutti i mali.


Certamente no, non so perche in Germania hanno commissionato un computer simile, se riguarda settori di interesse strategico Nazionale o Militare è chiaro che non è possibile, io parlo di settori di interesse globale, per fare esempi: lo studio di eventi sismici, lo studio del clima a livello globale, il calcolo delle risorse fossili e non..sarebbero molti i settori dove il calcolo distribuito potrebbe essere un vantaggio per tutti.

Originariamente inviato da: coschizza
certamente ,questo gia si fa oggi con varie ricerche ma il problema è: di chi sono i computer?, chi li finanzia?, chi paga l'energia elettrica? chi mantiente l'integrita del tato e la tutela alla privacy nel caso sia necessario?

Ci sono progetti come SETI@home e Folding@home che fanno questo ma dipende da chi deve fare al ricerca e che fondi ha, inoltre quali sono le elaborazioni da fare. Non puoi mica delegare al mondo l'elaborazione di dati strategici per una ricerca senza poter essere sicuro che il tutto funzioni a dovere inoltre certi calcoli devono avvenire con grande interazione tra i processi e questo richiede server vicini o attaccati non con il mondo di internet in mezzo che li separa.


Originariamente inviato da: rb1205
è scritto appena dopo la frase che hai quotato: con un sistema ibrido. Lo so bene che c'è differenza fra CPU e GPU, e che un sistema ibrido è meno flessibile di uno a sole CPU, ma ricordati che quello che stavo facendo era cercare d'interpretare il pensiero di homero.



Quello si fa già per molti progetti e si chiama, appunto, calcolo distribuito. Molti sono basati su normalissimi PC di donatori sparsi per il mondo; ad esempio il maggiore, Folding@Home, è il sistema informatico con la maggior potenza teorica al mondo: sviluppa l'equivalente di 10 PFLOPS.
Tuttavia un sistema del genere comporta molte problematiche: la pesante limitazione delle tipologie di problemi risolvibili, i tempi necessari a completare ogni progetto, il dover mandare in chiaro i dati e i risultati delle analisi in giro per il mondo, il poco controllo sulla qualità dei solutori e tanti altri.


Originariamente inviato da: D1o
è fattibile (e come detto da altri viene fatto) se si devono eseguire tanti calcoli singoli e non è necessaria interazione e scambio di dati tra i vari nodi. altrimenti la lentezza della rete inficia il guadagno prestazionale dato dalla distribuzione dei calcoli.

non a caso, nelle situazioni dove è richiesto un grande scambio di informazioni tra i vari core e processori si usano le reti infiniband che costano uno sfracelo. probabilmente anche questo supercomputer tedesco avrà una situazione del genere.


Grazie delle risposte, certamente la rete è un problema quando la velocità di scambio dati tra i vari processi è un fattore di primaria importanza, e naturalmente, come ha fatto notare qualcuno, non si capisce chi deve sostenere i costi.
Pleg21 Dicembre 2010, 17:47 #19
Originariamente inviato da: Pier2204
Non so se l'idea è peregrina oppure attuabile, ma invece che usare un supercomputer monolitico, non è meglio distribuire i calcoli su un un numero considerevole di Computer sparsi nel mondo?


Dipende, ma in genere no.
Il problema e' come sono fatti quei calcoli, non basta dire "paralleli", ci sono molti tipi di "parallelo" diversi.

Ad esempio, considera un problema standard in moltissimi campi, quello dell'evoluzione di unn sistema particellare (o un'analisi a elementi finiti, fondamentalmente e' lo stesso). Il problema si affronta cosi': hai un volume con all'interno un tot di "particelle", dove ogni particella interagisce con le altre (gravita', se la "particelle" sono stelle in una simulazione astronomica; equazioni quantistiche, se le particelle sono atomi, eccetera); parti dalla condizioen iniziale al tempo 0; poi calcola tutte le forze, calcola come le particelle si muovono a causa di queste forze, e calcola la nuova posizione al tempo t1; ora ricalcola tutte le forze per la nuova configurazione, applica le forze, e ottieni la posizione al tempo t2; ... e prosegui cosi' per molto tempo (possono essere milioni di step, o miliardi, o miliardi di miliardi, a seconda di cosa vuoi simulare).

Come si parallelizza un problema del genere? Suddividi il volume in tanti volumetti, assegna ogni volumetto ad un processore, che calcola uno step (es. l'evoluzione da t0 a t1); tutti i volumetti sono calcolati in parallelo... ma alla fine, tutti i processori devono scambiarsi i dati, vuoi perche' una particella potrebbe essere passata da un volume ad un altro, vuoi perche' cmq devi tenere conto delle forze non solo nel tuo volume, ma anche in quelli vicini (con delle semplificazioni, ad es. potresti tenere conto solo dei volumi di fianco al tuo, perche' gli altri sono troppo lontani per avere effetto, eccetera).

Quindi, funziona cosi':
* calcolo step 1, parallelo
* barriera: sincronizzazione di tutti i processori, tutti devono raggiungere questa barriera e scambiarsi i dati prima di procedere
* calcolo step 2, in parallelo
* barriera: sincronizzazione di tutti i processori
* ...

Ora, in un supercomputer hai decine di migliaia di nodi, quindi puoi dividere in un sacco di volumetti e calcolarli in parallelo. Ma hai anche una rete velocissima per scambiare dati tra i processori, che e' fondamentale per fare in fretta la fase di sincronizzazione (la "barriera".

Considera ora un sistema tipo BOINC: puoi anche avere milioni di computer, e quindi fare molto in fretta i calcoli paralleli; ma poi devi sincronizzare tutti... e li' non ce la fai: magari un task e' andato perso perche' uno ha spento il computer o si e' sconnesso dalla rete, oppure uno ha un computer lentissimo e ci mette piu' tempo degli altri a calcolare il suo task, e tutti devono aspettare lui... metti anche solo che in 10 secondi riesci a distribuire un milione di task in giro per il mondo, farli elaborare, e raccoglierli (che e' completamente irrealistico); gia' solo per eseguire un milione di step ti servirebbero 10^7 secondi, cioe' 115 giorni, di cui magari 1 giorno di calcoli, e il resto di sincronizzazione

Non funziona, proprio no, a meno di non avere un problema parallelizzabile in modo diverso, ad es. un problema scomponibile in pezzi completamente scorrelati, come ad es. (non a caso, ovviamente il programma del SETI o Folding.
Ma la maggior parte dei problemi non si parallelizzano in quel modo.

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.
 
^