Una buona parte delle CPU Intel offre una funzionalità chiamata hyper-threading che è un marchio Intel per Simultaneous Multi-Threading o SMT. L'hyperthreading è un processo che può consentire un aumento delle prestazioni della CPU in attività fortemente multi-thread.
Suggerimento: i thread sono sequenze di istruzioni per un processo. Se un processo viene suddiviso in più parti più piccole che possono essere eseguite contemporaneamente, viene chiamato multithread.
Cos'è l'hyperthreading e come funziona?
L'hyperthreading è commercializzato come uno strumento che consente a un singolo core della CPU di eseguire due processi contemporaneamente. Nella maggior parte dei sistemi operativi, i core hyperthreaded sono mostrati come un secondo core logico, accanto al core fisico principale e come aventi lo stesso
Questa non è una rappresentazione particolarmente realistica di come funziona effettivamente l'hyperthreading. In realtà, l'hyperthreading è un processo di pianificazione intelligente che consente a un core della CPU di accodare due thread. Se il primo thread si blocca, ad esempio, se è in attesa di dati, il secondo thread può essere facilmente sostituito. Questo design consente al secondo thread di sfruttare il tempo di inattività della CPU che altrimenti andrebbe sprecato per eseguire calcoli utili.
Qual è l'impatto sulle prestazioni?
A seconda del tipo di carico di lavoro, ad esempio per processi fortemente multithread, come l'editing video, l'hyperthreading può fornire un aumento delle prestazioni fino al 30%. In altre attività, tuttavia, come le applicazioni a thread singolo, l'hyperthreading non può comportare alcun miglioramento delle prestazioni.
Hyperthreading significa che la CPU utilizza più energia e genera più calore rispetto a una CPU senza hyperthreading. Ciò è causato dai livelli di utilizzo più elevati della CPU.
Core hyperthread vs core fisici
In realtà, l'hyperthreading è un bel extra, che fornisce un po' di prestazioni extra gratuite per le attività multithread. I core CPU fisici, tuttavia, sono in grado di fornire un aumento delle prestazioni molto maggiore per i carichi di lavoro multithread. Se puoi scegliere tra una CPU dual-core con hyperthreading e una CPU quad-core senza hyperthreading, il quad-core supererà le prestazioni del dual-core hyperthreaded. Il numero di core fisici è la parte più importante delle prestazioni multithread, il supporto dell'hyperthreading è un po' una spinta.