Articoli e news    Prezzi

Core i7 980x, analisi dei benefici dell'Hyper-Threading

00:51 - 17 maggio 2010 di Patrick Schmid, Achim Roos

L'Intel Core i7 980X mette a disposizione 12 core (sei fisici e sei virtuali) grazie alla tecnologia Hyper-Threading. Abbiamo analizzato il processore per scoprire quanto influisce l'HT e quando è realmente necessario.

Introduzione

L'Hyper-Threading è stato presentato per la prima volta da Intel con il processore Pentium 4 "Northwood" a 3,06 GHz, e nella serie di CPU Xeon MP "Foster" del 2002. Lo scopo principale di questa tecnologia proprietaria era quello di migliorare l'uso del processore grazie all'aumento della parallelizzazione. Con l'ultimo Core i7 980X e sei core fisici, l'Hyper-Threading raggiunge 12 core logici su un solo PC.

Tutto ciò però fa montare domande più che legittime: il software è in grado di avvantaggiarsi veramente di otto o più thread paralleli? L'Hyper-Threading è un problema o un toccasana per l'efficienza? Non è meglio fermarsi a sei core fisici, anziché rischiare cali prestazionali dovuti ad applicazioni poco ottimizzate che distribuiscono senza motivo i carichi di lavoro sulle unità logiche?

jpg

Il core Gulftown di Intel integra l'Hyper-Threading per fornire 12 core virtuali, ma solo con poche e specifiche applicazioni si notano prestazioni migliori.

La storia dell'Hyper-Threading

Non c'era una vera necessità di presentare l'Hyper-Threading. Dato che il Pentium 4 aveva una pipeline delle istruzioni piuttosto lunga, era imperativo salire con le frequenze il più rapidamente possibile e mantenere la pipeline occupata. Perciò Intel duplicò le unità che immagazzinavano lo stato dell'architettura, e così a un core con Hyper-Threading appare al sistema operativo come due processori logici. Lo scheduler poteva distribuire due thread, o processi, contemporaneamente e se l'unità di branch prediction di Intel avesse lavorato correttamente, avrebbe assicurato alle istruzioni un caricamento e un'esecuzione efficienti.

I benefici per il Pentium 4 erano principalmente l'incremento della reattività su sistemi a singolo core e piccoli miglioramenti delle prestazioni per le applicazioni. Almeno nel segmento desktop. Nei server, dove il calcolo parallelo è chiave, l'Hyper-Threading ha un impatto maggiore. Le applicazioni scritte per gli utenti desktop non erano ottimizzate per sfruttare i processi paralleli, perché l'hardware necessario non c'era. Inizialmente, l'Hyper-Threading si è fatto una cattiva reputazione perché ha fallito nel miglioramento delle prestazioni, in quei titoli che lavorano in single thread.

Il ritorno

Con l'arrivo dei Core 2, l'Hyper-Threading scomparve. Intel tuttavia ha deciso di riportarlo alla vita con la microarchitettura Nehalem, che è base di tutte le CPU Core i3, i5 e i7 disponibili oggi, incluso il Core i7 980X a sei core.

La situazione è molto differente oggi rispetto al primo debutto dell'Hyper-Threading. Per iniziare gli sviluppatori software sono molto più in sintonia con l'ecosistema hardware, così è raro trovare un titolo popolare che non può beneficiare del parallelismo e non è ottimizzato per sfruttare il threading. Oltre a questo, ora AMD non può applicare pressione a Intel nel segmento delle alte prestazioni e l'Hyper-Threading è stato trasformato in una funzionalità a valore aggiunto e differenziante delle serie anziché come innovazione cardine. Con sei core fisici, l'Hyper-Threading ha davvero senso?

Abbiamo deciso di osservare mettere a confronto il quad-core Core i7-975 Extreme Edition (Bloomfield) con il nuovo exacore Core i7-980X (Gulftown) e confrontarne le prestazioni, l'efficienza energetica, usando una suite di test aggiornata.

Condividi:   
 
  Consigli per gli acquisti:

Commenti

Aggiungi un tuo commento
1/2 avanti    
shark812 17/05/2010 09:36
 
...impedire lo stallo da previsioni brach errate,...

può essere che fosse Batch? Comunque articolo molto interessante, come sempre.
TheRealFoggy 17/05/2010 09:43
 
@shark812: opterei per BRANCH!
lain_iwakura86 17/05/2010 09:50
 

 Originariamente inviata da TheRealFoggy

@shark812: opterei per BRANCH!

TheThane 17/05/2010 10:03
 
Ma io mi chiedo una cosa, Hyper-Threading è praticamente creare un falso processore. Amd infatti è sempre stata contraria all'Hyper-Threading ritenendolo inutile, infatti teoricamente non può aumentare la potenza del processore, anzi dovrebbe perdere qualcosina nel processo. Quindi quello che mi chiedo è: O le applicazioni sono scritte veramente male e sono ottimizzate per sfruttare Hyper-Threading, o qualcosa non mi torna.
Come è possibile ad es. che un software vada meglio su un 8 core logici(4 fisici) che magari un 6 fisici??
TheRealFoggy 17/05/2010 10:25
 
Con l'Hyper Threading vengono replicate solo alcune unità funzionali, altrimenti avremmo tra le mani un dual core..e questo è il motivo delle scarse prestazioni aggiuntive. Senza contare che si applica solo a Thread, non a processi (come farebbe un dual core, invece). Il principio di funzionamento dell'HT è di sfruttare, fondamentalmente, gli stalli del processore causati dal thread attivo, per portare avanti , nell'attesa, un secondo thread. Immagina un Cache-miss..durante il recupero del dato dalla RAM (tempistiche elevatissime, dal punto di vista del processore), la CPU può portare avanti di un pochino un altro thread della stessa applicazione, invece di star fermo ed aspettare il recupero del dato. Poi, ovviamente, ci sono altri casi, altre considerazioni da fare, ecc..ma questo a grandi linee è quello che dovrebbe fare!
Kbytek 17/05/2010 10:38
 
+1 
Vallo a spiegare a chi ti guarda strano se hai un i5 750 sul desktop e ti dice che lui ha preso "furbamente" un i7 per giocare.
Tresh 17/05/2010 10:42
 
IMHO se AMD non riesce ad integrarlo vuol dire che non ha ancora trovato il modo di farlo. Non vedo perché ignorare una tecnologia che, di fatto, cerca di ottimizzare il più possibile le risorse a disposizione.
E' vero che già con 6 core fisici la differenza diminuisce sostanzialmente ma in alcune occasioni il guadagno resta ed è tangibile.
Pidol 17/05/2010 11:54
 
Direi che c'è un errorino nella configurazione di prova, il socket è 1366 e non 1156.
silvio3d 17/05/2010 12:10
 

 Originariamente inviata da TheThane

Ma io mi chiedo una cosa, Hyper-Threading è praticamente creare un falso processore.



la cpu fatta vadere tramite il Hyper-Threading è vara mica falsa, semplicemente ha meno risorse disponibili e quindi puoi risultare piuo o meno veloce

il vantaggio sta nel fatto che l'hardware necessario per creare la cpu logica è molto esiguo
RUDOLF 17/05/2010 12:24
 
ci saranno al mondo 10 esemplari di questa cpu,non era meglio provarlo su un i7?
1/2 avanti    
Accedi o  registrati.
Nome utente:
Password:
Segnala TomsHW

Correlazioni

  Azienda: Intel
  Categoria: Processori