Roadmap cpu Intel: dual Core in Q3 2005

Nuovi dettagli per le prossime versioni di processore Pentium 4. Nel mese di Novembre il debutto del bus Quad Pumped a 1.066 MHz, mentre da metà 2005 si parlerà di Dual Core
di Paolo Corsini pubblicata il 29 Ottobre 2004, alle 10:17 nel canale ProcessoriIntel
55 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoGiusto per informazione DragonFlyBSD come progetto è nato propio, tra le altre cose, per sperimentare questo approccio alla gestione del SMP
Purtroppo la sincronizzazione tra thread va sempre fatta...e nel modello a thread le strutture di sincronizzazione e di scambio dei dati sono condivise...
Bisogna anche vedere quanto dura questa fase di sincronizzazione. Ad esempio, se decido di renderizzare un filmato, l'unica cosa che m'interessa è assegnare metà dei fotogrammi al primo thread e l'altra metà al secondo, dopodiché i due thread lavorano ognuno per i fatti suoi, senza curarsi l'uno dell'altro; soltanto alla fine chi finisce per primo deve "aspettare" l'altro per mostrare il prodotto finito.
Questo modello è abbastanza diffuso, e d'altra parte se non fosse così i vantaggi delle soluzioni SMP andrebbero a farsi benedire: i thread non possono passare troppo a tempo a sincronizzarsi.
Ad esempio:
- il thread B non può partire prima del thread A e sfrutta i dati prodotti dal thread A...
- il thread C non può partire prima del thread A e sfrutta i dati prodotti dal thread A...
- il thread D non può partire prima del thread B e sfrutta i dati prodotti dai thread A, B...
- il thread A, a parte la prima volta, deve aspettare che i thread B e D abbiano prelevato i dati da lui prodottinel ciclo precedente...
Questa situazione può essere anche comune...ovviamente è solo un esempio...situazioni più complesse possono essere anche modellizzate aumentando ancora il numero dei thread...
Mi sembra che ci fosse proprio un software di rendering che realizzava una situazione simili... In pratica l'efficienza su un dual processor aumentava solo con 4 thread...
Una possibile esecuzione sui due processori sarebbe di questo tipo:
P1 P2
A--X
B--C
A--D
B--C
A--D
La sincronizzazione in questo caso è molto forte...eppure non solo si traggono i benefici del dua processori, ma si fa un uso massivo della memoria comune...
La sincronizzazione in questo caso è molto forte...eppure non solo si traggono i benefici del dua processori, ma si fa un uso massivo della memoria comune...
Se l'ordine è questo:
A--X
B--C
D--A
C--B
A--D
...
D si trova già pronti i dati e la sincronizzazione delle cache è necessaria solo quando C deve leggere i dati di A
Comunque i problemi di sincronizzazione sono gli stessi dei SMP, quindi credo che AMD abbia mantenuto la stessa politica di aggiornamento delle cache.
In genere nelle applicazioni multithread si cerca di ridurre al minimo le fasi di sincronizzazione, perchè ogni volta che un thread aspetta l'altro si sprecano cicli di clock. Adesso non ho idea di che tipo di elaborazione richieda un software di rendering che lavora a 4 fasi con i passi che hai elencato, ma se possibile i programmatori cercheranno di portare la sincronizzazione a livello di blocchi di pixel o di passata di rendering, e quindi percentualmente inciderà molto meno.
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".