Hyperthreading si Hyperthreading no

Mi sono recentemente posto questo problema:
L’hyperthreading dei processori, nel caso di applicazioni single thread, e non ottimizzate quindi per questa tecnologia, che impatto ha sulle performance ?
Da alcuni test effettuati con e senza HT, risulterebbe che si possa anche verificare una diminuzione delle performance.
Questo potrebbe essere dovuto dall’utilizzo massimo del 50% del potenziale di calcolo del processore, che essendo virtualizzato in due unità, renderebbe disponibile all’applicazione solo la metà della CPU.
Senza dubbio, se le applicazioni sono ottimizzate per il multi-thread e multi-tasking, si ottengono aumnenti delle prestazione del 10-30%, cosa ben diversa si ha se le applicazioni ed i carici di lavoro non sono ottimizzati. E’ bene sapere che le applicazioni ottimizzate per questa tecnologia sono ben poche, e addirittura qualcuna non è compatibile. (si parla di Citrix, MS SQL etc)
Personalmente, sebbene non abbia dati precisi ed esatti, ho avuto la netta sensazione di un incremento delle performance su applicativi win32 e su query MySQL.
L’argomento è complesso e richiede una conoscenza approfondita delle architetture, cosa che io non ho, vi rimando quindi a qualche link relativo:


February 18th, 2006 alle 1:48 am
ho riletto il tuo post e mi sono incuriosito ulteriormente e guarda un po qua…
http://www.intel.com/support/processors/sb/cs-017343.htm
in particolare mi ha colpito:
The following desktop operating systems are not recommended for use with Hyper-Threading Technology. If you are using one of the following desktop operating systems, it is advised that you should disable Hyper-Threading Technology in the system BIOS Setup program:
Microsoft Windows 2000 (all versions)
Microsoft Windows NT* 4.0
Microsoft Windows Me
Microsoft Windows 98
Microsoft Windows 98 SE
qui dice desktop … ma win2000 server ?
da altri post si evidenzia una fondamentale differenza fra windows 2000 e windows 2003
Per windows2000 con HT attivo
processori logici = processori fisici
ovvero windows 2000 non è in grado di capire che ha a che fare con due processori logici invece che fisici…
windows 2003 invece distingue le due cose e sembra sfruttare nel caso le applicazioni supportino la tecnologia stessa … - a parte mysql :)-
ergo ritengo che su windows 2000srv l’HT sia meglio disabilitarlo ….