Is hyperthreading even meaning full with quad cores and above?
-
HopelesslyFaithful Notebook Virtuoso
-
H.A.L. 9000 Occam's Chainsaw
I don't understand the question?
-
HopelesslyFaithful Notebook Virtuoso
IB i5 has no hyperthreading and i7 does....does it even matter? I know hyperthreading helped single cores but you have 4 cores...why have a virtual 8 cores? Does that even help?
-
H.A.L. 9000 Occam's Chainsaw
Hyperthreading is just filling in the gaps in code execution across threads. Nothing more.
With IVB's performance level, I'd say it won't matter. Plus it will probably help keep thermals down. -
HopelesslyFaithful Notebook Virtuoso
so not worth the extra 100 bucks
i find the price between the i5 and i7 ridiculous 250 for i5k and 350 for i7k and the only difference is 100mhz and 2mb cache and hyperthreading lol. Never seen such a pointless difference before. Thanks for the reply HAL
-
There are benchmarks of both i5-3570k and i7-3770k at xbitlabs:
Desktop Ivy Bridge. Intel Core i7-3770K and Core i5-3570K Processors Review - X-bit labs -
You do know the "k" at the end means it has an unlocked multiplier, right?
-
HopelesslyFaithful Notebook Virtuoso
yes i know and my point was there is so little difference between the two i tink a 40% price increase is dumb
-
The i5's have always been better valued. That's just how price tiering works. Once you get to the higher end you get diminishing returns.
As for how much of an improvement hyperthreading gives, it often only comes to 20%-ish. It's nothing like having double the number of cores. -
Absolutely; but only if you have the programs thats optimized to take advantage of it.
So the first determination in calculating use/price is to know if the programs you use most often are designed with that function in mind.
Editing programs are, so it will be of great importance to me when I update my next workstation.However, you neglected to mention that that percentage increase comes at relatively no cost. Something that can't be said for adding additional CPUs or even cores. -
If you're gaming, it will make little to no difference. If you're doing something seriously multithreaded like CAD or video work, it might make 20-30% difference. At any rate, I don't think it's worth the price difference; note the two i5 machines in my sig
-
HopelesslyFaithful Notebook Virtuoso
so lets say for purpose of understanding. the i5 and i7 are equal clocks (overclock the i5 by 100mhz). You run folding@home, which is heavy cpu and heavy multithreaded. Your i7 will out perform the i5 even with same clocks because the i5 is 4 threads and not 8?
Just like if I turned off the hyperthreading on my 720qm it would run worse for F@H -
H.A.L. 9000 Occam's Chainsaw
I wouldn't be that enthusiastic about it... but it does help. Marginally.
Again... 20-30% is being awfully optimistic. The real number is around 10%. Hyperthreading isn't creating two whole new threads. It's a virtual thread per hyperthreaded core... and on top of that, that virtual thread can only use the execution gaps in the main thread for code execution.
Intel has probably gotten their prioritization perfected to the point where they don't need hyperthreading for IVB. IMHO, it really wasn't needed on Sandy Bridge. -
^ you sure that the hyperthread runs as slave to the native thread? I don't remember reading any lit that says that. In fact, I haven't read anything that says one thread is different than the other thread.
This is what I've read:
*Intel doubled the number of registers on each core (so now theres enough memory for two threads worth of thread -data)
*Each thread will want to use a specific pipeline in the CPU
*If each thread is requesting a different pipeline, then both run simultaneously. Otherwise, one of the threads is blocked.
in conclusion, if the two threads never share the same execution units, then you doubled your throughput at the cost of the die space of the extra registers. This will never be the case however. In the bad cases, you save the time it takes to context switch between threads.
Windows has some logic on how to pair threads together, although, I'm not sure how smart it actually is. -
H.A.L. 9000 Occam's Chainsaw
100% positive. The actual physical cores will always get priority over HT "threads". -
HopelesslyFaithful Notebook Virtuoso
What does unclewebb have to say about this
-
which whitepaper did you read this from?
-
H.A.L. 9000 Occam's Chainsaw
It's the way the technology works. It's what it was created for... to increase efficiency-per-clock. Since HT threads aren't real full threads, priority will be given to the main thread first, then delegated to other threads and HT threads.
You can see it clear as day in Windows 7 in the task manager. Watch which cores are active most... Core0 and Core2. Core1 and Core3 are HT, for i5's anyway.
Plus, has anyone seen this? This is on an i7 3770k...
-
Hyperthreading has nothing to do "virtualized threads" or using "execution gaps" for code execution. Hyperthreading (aka Simultaneous Multithreading Technology, SMT) is a process in which the Intel HT CPU duplicates certain sections of the processor.
From the Windows - Hyper-threading Doc:
The BIOS will start up the logical processors. A list of all of the logical processors that have been started is created by the BIOS and provided to the operating system in the Multiple APIC Description Table (MADT). The BIOS passes the MADT to the operating system, and Windows will attempt to utilize the logical processors in the same sequence as the BIOS listed them in the MADT. So, each logical processor that is contained within an HT processor appears to the operating system as an individual processor. It so happens that each physical CPU will get the lower number priority then the virtualized HT CPU.
In regards to thread to processor assignment, the scheduler in Windows XP (BIG ASSUMPTION on my part here that this also applies to Vista/7) will identify HT processors and favors dispatching threads onto inactive physical processors wherever possible. This is due to the way the physical CPUs were reported in the MADT. Each physical CPU is reported with lower numbers than a HT CPU. This way, if processor #1 is busy, Windows can assign a thread to CPU#2 - which would be the second physical core.
If truly interested for more details, take a look at:
Introduction to Multithreading, Superthreading and Hyperthreading
Hyper-threading - Wikipedia, the free encyclopedia
Windows Support for Hyper-Threading Technology
MS isn't one to change technology, so it is a safe bet that this part of Windows has only been optimized in Win 7. -
H.A.L. 9000 Occam's Chainsaw
I never said anything about duplication, but it never duplicates the real hardware architecture.
From Wiki:
Also, the duplication "feature" may lie in the hardware itself, but the HT threads are just that... they are NOT complete threads. That's why the performance level doesn't increase in a linear progression with HT. -
Soooo, what is this telling us? Hyperthreading can actually be a slight detriment to performance in some cases and perhaps as much as 25% improvement in others? They'd probably be better off increasing clock speeds 10% than fussing with HT.
-
H.A.L. 9000 Occam's Chainsaw
I looked into what you've said there. I thought that was interesting. Seems Windows 7 schedules a LOT like XP. Windows Server 08 R2 schedules very VERY consistently even. My Latitude is running Server 08 R2 which is based off NT 6.1 like Windows 7... same kernel even... but thread scheduling is different. Much different.
EDIT: Even with that taken into consideration though, I still only get a maximum of 15% improvement with HT on (vs off). -
No, I never said you did. That was from Wikipedia. Here's the quote,
To me, this means there are some, but not all, elements of the CPU duplicated. There must be extra room for a thread's Program Counter, as well as other L1 registers close to the execution of the current instruction to maintain the context of two threads.
In regards to the 10-30% increase, other articles suggest the perf improvement is somewhere around the 20% mark, depending on how threaded your applications are. The main reasoning is that since the not all of the entire processor is duplicated, since the other registers are not duplicated in hardware, if the executing thread encounters a simple cache miss or requires another CPU resource not at hand, which is a common case, that thread must stall. That explains why perf numbers are not greater.
Is hyperthreading even meaningful.....
Discussion in 'Hardware Components and Aftermarket Upgrades' started by HopelesslyFaithful, Apr 29, 2012.