IBM mostra blade server con Cell

Al recente evento fieristico E3 IBM ha mostrato un prototipo di piattaforma blade server basata su cpu Cell.
di Fabio Boneschi pubblicata il 31 Maggio 2005, alle 08:45 nel canale ProcessoriIBM
Al recente evento fieristico E3 IBM ha mostrato un prototipo di piattaforma blade server basata su cpu Cell.
di Fabio Boneschi pubblicata il 31 Maggio 2005, alle 08:45 nel canale Processori
89 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoIl cell è ottimo per fare tanti calcoli semplici tutti in una volta, tipo simulazioni fisiche, o altri campi in cui possono essere usati i supercomputer, ma per applicazioni general purpose non mi pare adatto.
Poi vorrei sapere perchè non specificano mai le condizioni ed il tipo di benchmark utilizzato: f.l.o.p.s in sè vuol dire tanto/poco.
1) sono f.l.o.p.s. in singola o doppia precisione magari I.E.E.E 754/854...
2) sono f.l.o.p.s provenienti dal caro "vecchio" benchmark Whetstone...
3) sono f.l.o.p.s Linpack risultato di operazioni "vettoriali" per la soluzione di sistemi lineari...
4) sono f.l.o.p.s del tipo: "somma 1.234 ad 1.5667"...
Insomma non si può sempre "sparare ad alzo zero"...
Grazie.
Marco71.
state ammazzando l'ABC dell'informaticaaaa
per prima cosa vorrei ricordare a tutti che dentro il vostro pc quasi sicuramente avete già più di 400 gflops, e anche di parecchio... una qualsiasi scheda video di fascia medio / alta presumibilmente ha quella capacità di calcolo.
pertanto, fermatevi prima di schizzare come schegge impazzite quando sentite un numero: per lo meno prima fatevi un'idea di cosa significa
vi dò due parametri:
a) il cell ha un'architettura del tutto particolare che lo rende estremamente performante per compiti estremamente specifici (come la GPU, d'altronde), mentre per compiti general purpose è veramente una chiavica (ha un solo core che si occupa di questo ed è pure molto semplice e poco efficiente)
b) ma anche rimanendo nell'ambito in cui il cell eccelle, ovvero il calcolo vettoriale, i valori che vengono dichiarati sono DI PICCO... anche se comunque nelle (poche) applicazioni specifiche che lo sfrutteranno a dovere mi aspetto che abbia valori notevoli anche in sustained, perchè è progettato apposta (ricordo che già c'erano processori dedicati al calcolo vettoriale, ne ricordo uno da 96 core, 50 gflops e 5 watt di consumo a 250 mhz, il quale si trova - singolo o doppio - su normalissime schede per pc - se ricordo bene ne puoi montare fino a 5 per un totale di 10 processori e 500 gflops)
scordatevi database, web server, file server, eccetera eccetera... il cell fa bene UNA cosa: il calcolo vettoriale. eccelle se:
- deve gestire stream dati (ad es. flussi multimediali, come dice l'articolo)
- deve macinare alcune tipologie di calcoli scientifici (ad es. per fare certi tipi di supercluster sarà il processore ideale)
per tutto il resto, ci sono altri processori.
in un altro topic qualcuno (intelligentemente) aveva fatto notare che il mostro POWER5 come gflops è anni luce dal cell, e probabilmente c'era qualcosa di strano se ibm mette in una console da 300 euro più gflops di un server high-end da mezzo milione di euro... e infatti la cosa non è così, perchè un singolo power5 nel 98% delle applicazioni andrà come 8 cell messi assieme (8 intendo 8, non 1 con 8 core), mentre nel restante 2% il cell farà faville.
stesso discorso per l'opteron... metti un server pieno di cell a fare da web server, mettici a fianco un server con degli opteron e poi ditemi...
ora, sui gflops c'è una confusione esagerata, non andiamo avanti ad alimentare ignoranza, ma facciamo informazione... spero di avervi dato un contributo utile a tal riguardo, se così è fatelo vostro...
Byexx..
scusa, ma in quella frase ci sono 2 predicati e 2 soggetti
cmq in definitiva nn si capisce chi li fa i 53 gflops, se 1 procio o 1 telaio di n proci..
Cmq non essendo una cpu general porpouse, diciamo che in uso generale non sarà questa grande scheggia. Con calcoli che trattano dati "vettorizzabili" se la cava egregiamente (ad esempio dati multimediali), con altri (da qui l'esempio del database) si ridimensiona di molto.
Appunto. Ora, io vado ad intuito ma un server immagino svolga soprattutto operazioni su database, non certo dati su calcoli vettoriali (in quel caso non credo che "server" sia la parola giusta).
Che operazioni sono le più comuni in un server?
Che operazioni sono le più comuni in un server?
Dipende, se fai un cluster con tante cpu e lo usi per fare calcoli particolari (calcoli distribuiti di qualunque genere) probabilmente se la cava molto bene.
per prima cosa vorrei ricordare a tutti che dentro il vostro pc quasi sicuramente avete già più di 400 gflops, e anche di parecchio... una qualsiasi scheda video di fascia medio / alta presumibilmente ha quella capacità di calcolo.
Andiamo piano prima di sparare numeri !!!
Una gpu tipo Geforce 6800 Ultra ha 16 pipes ogniuna esegue calcoli su un vettore di 4 float (precisione singola) e ad un'operazione per clock (400Mhz) siamo a uhm ... 16x4x400M = 25.6GFlop... ben distanti dai 400 ...
Se vuoi puoi anche aggiungere i 6 vertex processor ... portatno a uhm 22 i pipes teorici... ma in realtà i dati calcolati dalla vertex unit sono "temporanei" nel senso che bene o male non possono essere riutilizzati quindi è inutile tenerne conto!
Purtroppo non trovo più un documento interessante dove si parlava dell'elaborazione di dati video usando la GPU invece della cpu, all'epoca il confornto era fatto con Geforce4 4800 (circa 9.6Gflop se non ricordo male) vs Athlon XP 1800+ (circa 1.5Gflop ... qui probabilmente il calcolo è stato effettutato usando il 3Dnow che permette operazioni in floating point su vettori di 2 fp a singola precisione con un tempo di esecuzione di 2 cicli di clock .. quindi si ha un operazione per ciclo... e l'xp 1800+ lavorava a 1533Mhz quindi 1.533 gflop)
Per quanto riguarda gli opteron.. scordatevi pure i 53 Gflop per processore .. !
facnedo 2 conti .. visto che l'opteron usa SSE2 è in grado di eseguire operazioni su vettori di 4 fp singola precisione.
Ora se tale operazioni richiedessero 2 cicli di clock (sinceramente non lo so...) si potrebbe avere un teorico di 4.4 Gflop per proc (a 2.2 ghz)
Ciauz !
Che operazioni sono le più comuni in un server?
Credo che un comune file server non veda mai un floating point.
Se e' un server per calcoli scientifici ne vedra' pure troppi e li' il Cell potrebbe avere un ottimo uso, soprattutto con compilatori che parallelizzano automaticamente.
Una gpu tipo Geforce 6800 Ultra ha 16 pipes ogniuna esegue calcoli su un vettore di 4 float (precisione singola) e ad un'operazione per clock (400Mhz) siamo a uhm ... 16x4x400M = 25.6GFlop... ben distanti dai 400 ...
Una pipeline esegue in un colpo di clock al massimo due istruzioni semplici su 4 fp32 anche in configurazione 1+1+1+1, ovvero un massimo di 8 istruzioni su dati diversi, piu' una normalizzazione fp16 (3 mul e 2 add), piu' un texture fetch con relativo filtro bilineare o trilineare (al piu' sono 4 add e 1 mul). Alla fine della pipeline ha un certo numero di ROP, non ricordo quali ma ipotizziamo 8, che effettuano l'alpha blending fp16 (2 mul e 1 add).
Sono a occhio circa 20 flop per pipeline per 16 pipeline a 400M. Per quanto questo valore possa avere senso (poco), sono nell'ordine dei 100Mflops solo nella fragment pipeline, a cui va aggiunto tutto il resto dei calcoli che e' in grado di fare una GPU.
Però su GPGPU ho trovato degli articoli sull'uso delle unità shader per operazioni su database e la cosa mi ha lasciato così
http://gamma.cs.unc.edu/DB/
Se leggete la news originale, è specificato che i 400 Gflops sono per scheda, quindi 200 per chip, e sono teorici. Comunque scordatevi di aggredire la Top500 con questi piccoli mostri, il LINPACK fa uso di float a 64 bit, e su questi purtoppo il Cell è piuttosto scarso
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".