• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Hyperthreading, does it helps?

rogerdv

Member
At some point (eventually), Im going to upgrade to some Core i CPU, and Im wondering how well hyperthreading technology works. Does it really increases perfomance? Affects in some way any application, like those not built specifically for multithreading?
 
Hyperthreading basically allows unused parts of the processor to work on other threads. If a program will only utilize 2 threads and you have a two core CPU with hyperthreading, you'll see zero extra performance in that program. If the program can utilize 4 threads, you might see a nice performance increase (30-50% perhaps).

Hyperthreading, in my experience, helps a fair amount in terms of how fast a system "feels", when comparing a Pentium to an i3.

i5's do not have hyperthreading, while i7's do. Read here to see how much it can help:
http://www.anandtech.com/show/8227/devils-canyon-review-intel-core-i7-4790k-and-i5-4690k/3
 
And what if you run more than ONE program? Crazy, I know, but kids these days are running more than one program at once! They want it all, I tells ya! And hyper threading is only the start.
 
Just do some research on this site and you will find some good info.

Here are benchmarks comparing an Intel Haswell i5 vs i7. Yes, the i7 has a larger amount of L3 cache, but otherwise they are nearly the same except for the HT:

http://www.anandtech.com/bench/product/837?vs=836

Sometimes HT makes a big difference, and sometimes not.
Look at what you want to do and see if it would help you out or not.
 
Short answer if the CPU core has to pause to wait for information such as retrieving info from ram which is then put into cache instead of having that CPU core pause and do nothing and wait for the info to come available the CPU can work on an unrelated math problem which is already in cache.

Now most people do not realize that each CPU has its own internal memory called cache. CPUs can only do math problems that are stored in this internal memory that is located on the CPU. If the information is not on the cache it has to wait for the information to be retrieved from the RAM or from the Hard Drive and this takes time, and time measured for a CPU is not seconds but CPU cycles (hertz). The reason for RAM and aHard Drive if in both cases the CPU has to fetch this info doing so from the RAM is much faster than doing from the hard drive as in an order of magnitude faster. More RAM does not make the CPU faster it instead allows it to be more efficient and having a higher CPU utilization. Eventually you will hit diminishing returns where more ram will not help. Having a SSD instead of a hard drive merely allows you to have a faster hard drive retrieval speed.

How many math problems solved in a certain time is called IPC as in Instructions Per Cycle (how many math instructions / how many math problems it can do in a hertz)
 
Edit: I take that back - I found one! Still somewhat old, though, but it's LGA1155.
Celeron G460, G465, and G470 are the last Intel single-core processors with hyperthreading. All three beat the garbage Celeron J1800, J1900, and Pentium J2900 easily in terms of single-thread performance.
 
the G4xx Celerons were never cheap enough compared to the G530-G540 to make much sense, as far as I can remember...


as for HT, yes it works well, for most (but not all) of the cases were having more real cores would also help... it has been the case since the P4 3.06 a long time ago.
 
At some point (eventually), Im going to upgrade to some Core i CPU, and Im wondering how well hyperthreading technology works. Does it really increases perfomance? Affects in some way any application, like those not built specifically for multithreading?

maybe moreso from the larger cache on the i7 vs the i5.. point worth remembering, with the i7 you also get a larger L3 cache.
 
HT tends to help with severely loaded cores - so if you plan on eeking out the last bit of cpu performance with many threads running at once, great go for HT, but if you run at 50% (say gpu limited) then it won't really provide much gain
 
Depends what software is being executed. For instance GPR's are replicated and a nice speed up can be had with multiple threads but some other EU's are shared and if both threads of the same core are fighting over a shared resource while polluting cache then degradation can take place and the software may run slower.
 
I'm a software developer and Hyper threading really helps parallel compilation (up to 50% faster).

I haven't found any other significant advantages; but faster compilation was enough for me.
 
HT tends to help with severely loaded cores - so if you plan on eeking out the last bit of cpu performance with many threads running at once, great go for HT, but if you run at 50% (say gpu limited) then it won't really provide much gain

It helps when there is a lot of switching of execution between threads. Hyperthreading uses the hardware to context switch between threads instead of software. Every time you switch between threads, the execution context of the switched from thread must be saved so it can be restored when switching back. Hyperthreading does this in hardware, which is much faster than software, so applications that do a lot of switching execution between threads see the advantage.
 
The program has to scale with more threads, not have a huge cpu cache related performance bottleneck, and the program can't already be using most of the execution units without hyperthreading, for you to see a big benefit.

I'd say it is pretty common nowadays for all that criteria to be satisfied.
 
Back
Top