Hyper-Threading vs. not - performance impact

Maverick2002

Diamond Member
Jul 22, 2000
4,694
0
0
Let's use an application that is multi-threaded and loads the CPU 100% - 3ds Max rendering. Let's assume we have two identical systems - one with a 4 core, non HT processor and another with a 2 core, HT processor.

1) It is known that hyper threading does provide a benefit to particular applications. Using a 4 core CPU with HT enabled (8 rendering buckets) vs. disabled (4 rendering buckets) will be faster. Not twice as fast, but some % faster. Can someone point to how much faster? I've never really questioned this but if a physical core is split into a pair of logical cores, at what % "speed" does each logical core now operate?

2) What is the performance difference between a 2 core HT CPU (4 rendering buckets) and a 4 core non-HT CPU (4 rendering buckets) assuming core speeds, cache, etc are the same? I assume the 4 core non-HT CPU will be significantly faster?

I haven't really been able to find an answer to either of these. TIA!
 

firewolfsm

Golden Member
Oct 16, 2005
1,848
29
91
HT simply allows cores to be used more efficiently, as processors have become more complex, it has become increasingly difficult to fully utilize their pipelines and units with one process. In some programs, HT can offer a 10% improvement in performance, but never (or very rarely) more, the average improvement is probably around 5% with some applications showing no measurable difference at all. Intel has successfully overplayed the importance of HT as a selling point against AMD processors.

A dual core with HT will not compare to a quad in multi-threaded applications. Also, you can use the core i5 and i7 reviews to see what kind of impact HT has on the processor, simply adjust for the clockspeed difference.
 

Phynaz

Lifer
Mar 13, 2006
10,140
819
126
It's impossible to say what the increase in system throughput is without testing a specific application. It will be very program and workload specific.

I will disagree with firewolfsm though, I think his numbers are low for I7's SMT implementation.
 

v8envy

Platinum Member
Sep 7, 2002
2,720
0
0
In an ideal case i7 HT could theoretically yield a 100% improvement. In the real world, HT will yield anywhere between a slight penalty up to 100% -- completely dependant on your application and data. Remember that just because your CPU meter reads 100% that doesn't mean every execution unit on the CPU is performing useful work. On some highly parallel workloads (like encoding and rendering) you can easily see a 30% (or more!) improvement by enabling i7's HT.

HT does not split each core into multiple logical processors by timeslicing. What it does do is make more efficient use of silicon by simultaneously executing instructions from multiple threads using what would otherwise be idle time for various executing units in the pipeline.

I also disagree with firewolfsm. HT on i7 is definitely not just a marketing checkbox. It's a very useful feature *if* you have a highly parallel workload which can use all 8 logical cores effectively. I have a 32+ thread java application which is showing a nearly 25% reduction in response time (latency) by moving from a 3 ghz Xeon 3210 to a 2.8 ghz i7. Not all of that is bigger cache or higher IPC. Since some of the latency is fixed network overhead I'm looking at a ~30-50% performance jump going from 4 physical CPUs to 8 logical ones.
 

dguy6789

Diamond Member
Dec 9, 2002
8,558
3
76
HT is arguably the single most important advantage i7 has over Core 2 Quad right now. I don't think it's possible in any case to get a 100% performance increase because there is not double the processor resources. ~30% performance improvements have been documented however.
 

BushLin

Member
Oct 28, 2008
94
0
66
If it's a heavily multi-threaded app then you'd get an increase, but how much is down to the application. Might be 5%, could be 25% but some applications (mostly single threaded) can show a minor decrease in performance with HT enabled, but so small that it's not worth considering.
 

Lorne

Senior member
Feb 5, 2001
873
1
76
It all depends on the application, There can possibly be clashing but this can show mainly in slower overloaded systems.

Clashing is hard to see but an eg. would be if you have a thred going and and the system starts another but the org thred then needs more cpu resources and has to just use whats allready allocated with, The cpu is still running 100% and can never go do more.

I have an old duel P4 Zeon 1800 system, The northbridge has some issues and I can only get 280 megs a second through it (cant change it because of cheap ass bosses) Whith HT on The system slows greatly in rendering and I get printing out of sequence.
With HT off the system will render faster and get it off to a printer faster before starting the next one.

This was just an example, In new faster more efficiant systems its unnoticable but still exist on a fraction level, Not to mention its really hard to test on this flaw and the only way I can see it done is to use large files of a sort equal size and have them rendered and resaved on a software that can take real advantage of not just multi thredding but of multi lead-on, And look and see if there saved out of order by time, On the system Im using now it will save them out of sequence as the time difference between file finish is large but on newer system the OS doesnt keep 1/100 sec saved on drive so its hard to tell.

4 core will always be 2x faster then 2 core HT (4 logical) same Mhz.
 
Dec 30, 2004
12,553
2
76
Originally posted by: dguy6789
HT is arguably the single most important advantage i7 has over Core 2 Quad right now. I don't think it's possible in any case to get a 100% performance increase because there is not double the processor resources. ~30% performance improvements have been documented however.

50% in the Atom chips. My netbook is faaaaaast with win 7. Love it.
 

schenley101

Member
Aug 10, 2009
115
0
0
it also depends on how the os allocates the threads between the logical vs physical cores. supposedly windows 7 is much better at it. I know with the first implementation of ht in the Pentium 4 there were difficulties with this.
 

Griswold

Senior member
Dec 24, 2004
630
0
0
Originally posted by: soccerballtux
Originally posted by: dguy6789
HT is arguably the single most important advantage i7 has over Core 2 Quad right now. I don't think it's possible in any case to get a 100% performance increase because there is not double the processor resources. ~30% performance improvements have been documented however.

50% in the Atom chips. My netbook is faaaaaast with win 7. Love it.

I'd like to think that is mostly because HT on atom helps covering the weakness of the in-order design. If you compare non-HT atoms with VIAs nano, they are being pummeled everywhere. Take a HT capable atom and suddenly it can close the gaps in many (but not all) situation but still never really overtake the nano.
 

IntelUser2000

Elite Member
Oct 14, 2003
8,686
3,787
136
Originally posted by: dguy6789
HT is arguably the single most important advantage i7 has over Core 2 Quad right now. I don't think it's possible in any case to get a 100% performance increase because there is not double the processor resources. ~30% performance improvements have been documented however.

The biggest I have seen for HT is for CT Scan processing. SMT alone can give 60% performance increases on Bloomfield.

Also, SMT on Nehalem is better than SMT on P4.
 

MODEL3

Senior member
Jul 22, 2009
528
0
0
Originally posted by: toyota
Originally posted by: MODEL3

Core i7-920 with and without SMT activated:

http://www.behardware.com/medi...s/00/24/IMG0024768.png

what OS is was being used though? HT supposedly works much better in Windows 7 and was actually designed to use it.

Windows Vista SP1.

Sorry i don't have a link with Windows 7.

I guess Anand will do an article about Windows 7 performance at launch or earlier.

Let's hope to adress this perf. difference. (All the upcoming mainstream (<$196) 32nm CPUs will be 2core versions with SMT at launch, so i think a lot of people are interested for this comparison)

 

HannibalX

Diamond Member
May 12, 2000
9,359
2
0
Originally posted by: dguy6789
HT is arguably the single most important advantage i7 has over Core 2 Quad right now. I don't think it's possible in any case to get a 100% performance increase because there is not double the processor resources. ~30% performance improvements have been documented however.

Meh, some applications perform poorly with HT enabled.
 

Viditor

Diamond Member
Oct 25, 1999
3,290
0
0
Originally posted by: Maverick2002
Let's use an application that is multi-threaded and loads the CPU 100% - 3ds Max rendering. Let's assume we have two identical systems - one with a 4 core, non HT processor and another with a 2 core, HT processor.

To answer your question, if all cores are running under full load then HT can't help at all...only hinder. The reason for HT is that most programs do not run under full load all the time.
 

Phynaz

Lifer
Mar 13, 2006
10,140
819
126
Originally posted by: Viditor
Originally posted by: Maverick2002
Let's use an application that is multi-threaded and loads the CPU 100% - 3ds Max rendering. Let's assume we have two identical systems - one with a 4 core, non HT processor and another with a 2 core, HT processor.

To answer your question, if all cores are running under full load then HT can't help at all...only hinder. The reason for HT is that most programs do not run under full load all the time.


Find an an application that fully loads four cores - as in all cpu elements fully loaded all the time. I'm sure Intel has one, otherwise they don't exist.
 

mozartrules

Member
Jun 13, 2009
53
0
0
Originally posted by: Phynaz
Find an an application that fully loads four cores - as in all cpu elements fully loaded all the time. I'm sure Intel has one, otherwise they don't exist.

I write just such an application at work (Monte-Carlo based risk management). My tests on a dual socket X5560 server (8 real cores + HT) indicated that I could get 799% CPU usage by running 8 calculation threads (799% sounds silly but top reports it that way). Any attempts at using more than 8 threads lowered total throughput, we will switch off HT when installing the production servers.

But I admit that such an application is uncommon and it a lot of thinking went into the design to improve cache hits as well keeping synchronization objects to a minimum.

 

dguy6789

Diamond Member
Dec 9, 2002
8,558
3
76
Originally posted by: iFX
Originally posted by: dguy6789
HT is arguably the single most important advantage i7 has over Core 2 Quad right now. I don't think it's possible in any case to get a 100% performance increase because there is not double the processor resources. ~30% performance improvements have been documented however.

Meh, some applications perform poorly with HT enabled.

Windows 7 is supposed to fix the HT performance penalties people have been seeing. The OS is able to tell if performance will drop or not when it moves threads around the logical and physical cores.
 

toyota

Lifer
Apr 15, 2001
12,957
1
0
Originally posted by: dguy6789
Originally posted by: iFX
Originally posted by: dguy6789
HT is arguably the single most important advantage i7 has over Core 2 Quad right now. I don't think it's possible in any case to get a 100% performance increase because there is not double the processor resources. ~30% performance improvements have been documented however.

Meh, some applications perform poorly with HT enabled.

Windows 7 is supposed to fix the HT performance penalties people have been seeing. The OS is able to tell if performance will drop or not when it moves threads around the logical and physical cores.

surely somebody has tested this by now on Windows 7 havent they? I would love to see all popular games tested with and without HT in Vista and 7 just to see. that way we could see if there is still a loss in some games in 7 and see how 7 directly compares to Vista with and without HT.
 

oddgit

Junior Member
Sep 14, 2009
3
0
0
From my research, (plan on building a dual i7 EP workstation) the benefit from hyperthreading is application dependent, and application license dependent. Most 3d applications have some sort of per core license, PRman, Maxwell, MentalRay in maya come to mind. I remember reading on the Autodesk forums that MentalRay and hyperthreading dont get along very well and its best to turn it off in the BIOS. Autodesks reason was that mentalray is designed to push the CPU to its max, and the way hyperthreading works is inefficient for how MR renders. Supposedly MaxwellRender works well with Hyperthreading, but the base license is for only 4 cpus, i haven't asked if that is 4 sockets or 4 cores. I know i will be doing many tests to see what apps work better with hyperthreading enabled, but i have a feeling most of the 3d apps when it comes to rendering wont benefit too much from it.
 

Sylvanas

Diamond Member
Jan 20, 2004
3,752
0
0
Originally posted by: toyota
Originally posted by: dguy6789
Originally posted by: iFX
Originally posted by: dguy6789
HT is arguably the single most important advantage i7 has over Core 2 Quad right now. I don't think it's possible in any case to get a 100% performance increase because there is not double the processor resources. ~30% performance improvements have been documented however.

Meh, some applications perform poorly with HT enabled.

Windows 7 is supposed to fix the HT performance penalties people have been seeing. The OS is able to tell if performance will drop or not when it moves threads around the logical and physical cores.

surely somebody has tested this by now on Windows 7 havent they? I would love to see all popular games tested with and without HT in Vista and 7 just to see. that way we could see if there is still a loss in some games in 7 and see how 7 directly compares to Vista with and without HT.

This is what Anand said a while back, and it's why AT uses Windows 7 64bit as the standard testbed even when it isn't officially released yet.
 

Phynaz

Lifer
Mar 13, 2006
10,140
819
126
Originally posted by: mozartrules
Originally posted by: Phynaz
Find an an application that fully loads four cores - as in all cpu elements fully loaded all the time. I'm sure Intel has one, otherwise they don't exist.

I write just such an application at work (Monte-Carlo based risk management). My tests on a dual socket X5560 server (8 real cores + HT) indicated that I could get 799% CPU usage by running 8 calculation threads (799% sounds silly but top reports it that way). Any attempts at using more than 8 threads lowered total throughput, we will switch off HT when installing the production servers.

But I admit that such an application is uncommon and it a lot of thinking went into the design to improve cache hits as well keeping synchronization objects to a minimum.

How are you reporting cpu usage, task manager? That's does not mean the cpu elements are fully utilized. For example, write a nop loop. Windows task manager will show 100% cpu utilization when the cpu is calculating nothing.

In order to write something that fully utilized every available resource in a cpu would require intimate knowledge of the cpu internals. Also the only way i could think of doing it would be in assembler, you certainly aren't going to be doing it in a high level language.



 

Maverick2002

Diamond Member
Jul 22, 2000
4,694
0
0
Then by your logic HT is utterly worthless, and so are most high end multi-core systems. I'm going by task manager utilization which stays at 100% for 3ds max/vray rendering on all threads.
 

BushLin

Member
Oct 28, 2008
94
0
66
I think it's more about how the application is performing, rather than what task manager is telling you about utilisation. I would say HT has limited application but noticeably beneficial where it applies.