View Single Post
Old 04-02-2008, 20:46   #74
Mercuri0
Senior Member
 
Iscritto dal: Jan 2006
Messaggi: 4414
Quote:
Originariamente inviato da kelendil Guarda i messaggi
Ma quando si programma multicore, non si programma per 2 o per 4 o per 8 core, ma si programma per 2^n core, o sbaglio?
Perché per forza un multiplo di due?
Non c'è nessun problema teorico per i tricore, pentacore etc.

Il discorso è che si cerca di "parallelizzare" le operazioni, e non è detto che questo sia sempre facile o possibile. Come esempio assurdo, prendi Word: può usare un core per rispondere all'input dell'utente e formattare il documento, e un core per il controllo ortografico automatico. Ma poi?

In sostanza un programma può avere solo un certo "grado" di parallelismo, perciò più core aggiungi, meno aumenti come prestazioni, perché aumenta la probabilità che alcuni core restino inutilizzati. A parte software o contesti ultra-parallelizzabili di cui stavamo discutendo sopra.

(inoltre, a dirla tutta, più aumenti la parallelizzazione, più si aumenta l'overhead, cioè il codice che serve per "spezzettare" le operazioni, per cui un software progettato per "tanti" core comincia ad essere meno ottimizzato per pochi o single core)
__________________
flìckr

Ultima modifica di Mercuri0 : 04-02-2008 alle 20:53.
Mercuri0 è offline   Rispondi citando il messaggio o parte di esso
 
1