Dual Core e HyperThreading: un possibile bug

Alcune analisi con processori Xeon DP hanno evidenziato un possibile problema del sistema operativo Windows XP, nella gestione di sistemi biprocessore con tecnologia HyperThreading attivata
di Paolo Corsini pubblicata il 08 Marzo 2005, alle 14:17 nel canale ProcessoriWindowsMicrosoft
61 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infomi vedi completamente d'accordo con la tua afferamazione, il problema non è tanto dell'architettura dual core di intel ma del kernel del so...
tuttavia credo che questa avverrebbe anche con kernel linux e unix e il motivo credo sia semplice...le cpu fisiche sono la numero 0 e la 2 utilizzando HT e il so per distribuire i thread va in ordine (ponendo che tt le cpu siano libere) e fornisce lavoro prima alla cpu 0 (fisica) e poi alla cpu 1 (logica).
la soluzione più logica sarebbe (durante il processo di installazione) mappare le due cpu fisiche come numeri 0 e 1 le due cpu logiche come 2 e 3.
tuttavia non so quanto questo possa essere fattibile
Ricordo che sul medesimo sito è apparso un articolo ove si ipotizza che la superiorità di AMD64 su codice a 64 bit sia da imputarsi in parte a questioni di compilazione. Tempo fa usci' una notizia ove mostravano come in alcuni bench legati al compilatore Intel Fortran AMD64 batteva Itanium (o lo Xeon, non ricordo) anche in presenza di ottimizzazioni per cpu Intel.
Ergo, la questione programmazione è tutt'altro che secondaria e lo sarà a maggior ragione in futuro visto che andremo incontro a cpu dual core.
IMHO
tiMo
Non penso proprio, o altrimenti il problema avrebbe dovuto già manifestarsi con la piattaforme Xeon a 2 processori (che poi è esattamente quanto hanno fatto gli autori dell'articolo per verificare il bug su windows XP).
SO
Il problema non è assolutamente del SO, ma bensì del progetto p4: per sopperire alle mostruose latenze derivanti dalla lunghissima pipeline si son inventati un modo per riempirle ovvero HT. Purtroppo il so "crede" di avere sotto unità di esecuzione idempotenti ma questo non è vero proprio per questo trucco di intel. Dubito dei risultati che potrà ottenere una patch allo scheduler in quanto egli non sa se il thread da eseguire sarà abbastanza peasnte da beneficiare di un core "fresco" oppure soltanto un thread senza grossi carichi che sarebbe meglio far girare sul secondo core logico...Bellissima!!
Questa è meglio della capra che compa sopra la panca...
Ricordo che sul medesimo sito è apparso un articolo ove si ipotizza che la superiorità di AMD64 su codice a 64 bit sia da imputarsi in parte a questioni di compilazione. Tempo fa usci' una notizia ove mostravano come in alcuni bench legati al compilatore Intel Fortran AMD64 batteva Itanium (o lo Xeon, non ricordo) anche in presenza di ottimizzazioni per cpu Intel.
Ergo, la questione programmazione è tutt'altro che secondaria e lo sarà a maggior raggione in futuro visto che andremo incontro a cpu dual core.
IMHO
tiMo
sicuramente si trattava di xeon dato che gli itanium si basano su una architettura completamente diversa
poi è risaputo che le implementazioni dei 64bit di intel e amd sono impari...mille volte meglio quella di amd
se leggi il mio post a inizio pagina ti spiego il perchè funziona cos'
Il problema non è assolutamente del SO, ma bensì del progetto p4: per sopperire alle mostruose latenze derivanti dalla lunghissima pipeline si son inventati un modo per riempirle ovvero HT. Purtroppo il so "crede" di avere sotto unità di esecuzione idempotenti ma questo non è vero proprio per questo trucco di intel. Dubito dei risultati che potrà ottenere una patch allo scheduler in quanto egli non sa se il thread da eseguire sarà abbastanza peasnte da beneficiare di un core "fresco" oppure soltanto un thread senza grossi carichi che sarebbe meglio far girare sul secondo core logico...
se leggi il mio post a inizio pagina ho spiegato il motivo per cui il problema è il so
perchè? senza andare troppo sul tecnico ma senza rispondere con un "perchè sì"..
il motivo è banale, gli athlon64 sono nati con la "ciruiteria" integrata per supportare i 64bit, mentre i p4 (prescott) non sono nati per essere proci a 64bit ma a 32bit...l'introduzione dei 64bit di intel è stata una mossa per tentare di arginare il fenomeno AMD64
poi se cerchi bench su internet noterai che in ambiente 64bit la differenza già presente tra athlon64 e p4 diventa quasi una voragine...
e non parlo di soli bench come 3dmark o spi ma parlo anche di compilazione che imho è uno dei parametri più importanti per verificare la bontà di una architettura
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".