Damn you RavenSeal, get off my threads lawn!
Lol 😀
:wub:
Damn you RavenSeal, get off my threads lawn!
Lol 😀
:wub:
Maybe Windows 98 is dumb with respect to HT, but not Win XP and later, or any Linux running a newer kernel. All of those know about HT and will not be scheduling stuff obliviously and randomly move stuff around like you've described.windows is dumb as a rock when it comes to thread handeling, but that is not windows fault in most cases. Hyperthreading is designed so that it was implemented with little to no changes needed at the software level. To do this, the CPU lies and reports the logical Hyperthreading cores as being real.
As they report as real, windows swaps the threads it has to work with to the cpu with the lowest usage, which means a program with two threads can end up on the same physical core from time to time. By time to time I mean windows will take one of the threads and move it to another core (real or logical) and so "fix" the issue of running on the same core. Down side is that their is a overhead from changing cores in mid run as data needs to be moved around for the new core to be able to use it.
All windows tries to do is move threads from heavly used cpus to lightly used CPUs with the intent that each thread gets the best performance it can. Down side is that the hardware does not know which core it can put to sleep (save power) as windows could try and use it without notice. Intel and AMD have both had the issue (AMD first IIRC), but it has lead to both manufactures needing to speed up and down cpu cores together to keep windows happy.
So a program can also do its own scheduling taking HT into account if the programmer thinks he/she can do a better job than OS, but the OS will leave you on your own then, and you'll have to take care of a lot of other things that Win scheduler does, and is generally not worth the trouble.
Do you guys realize how dumb it sounds to pipe off about how crappy HT is, and saying that disabling HT will actually get you performance increases, when that chart posted right at the top of the thread proves you completely wrong?
There is no reason for anybody to disable HT unless you're tuning a high-throughput database server. Pretty much every other application will run better (or no different) on Windows with HT enabled.
If a program has 3 threads, and you have a quad core processor, how can HT help? Is there any game with 5+ threads?
If a program has 3 threads, and you have a quad core processor, how can HT help? Is there any game with 5+ threads?
In 70% (16/23) of the games, HT advantage was less than 10%, sometimes even negative. Only in a handful of games did it matter, and one of them doesn't make much sense (100% scaling for F1 2010). This is for dual core i3 2105, for quad core it would matter even less.Do you guys realize how dumb it sounds to pipe off about how crappy HT is, and saying that disabling HT will actually get you performance increases, when that chart posted right at the top of the thread proves you completely wrong?
There is no reason for anybody to disable HT unless you're tuning a high-throughput database server. Pretty much every other application will run better (or no different) on Windows with HT enabled.
I'm not sure I understand the question. Win is a piece of software, and so is its scheduler, and like any other software, it uses CPU and RAM, probably disk for config data etc. Sure it runs in kernel and has some special privileges, but bottom-line, it's a piece of software.Can I ask a ques, what does Win scheduler send it's instructions to? Is it the CPU itself, or some other piece of hardware.
In 70% (16/23) of the games, HT advantage was less than 10%, sometimes even negative. Only in a handful of games did it matter, and one of them doesn't make much sense (100% scaling for F1 2010). This is for dual core i3 2105, for quad core it would matter even less.
And it doesn't come for completely free. I don't have a kill-a-watt, but my thermals go up quite a bit, about 5-10 degrees Celsius higher on my i7 920 at full load vs HT disabled. If you're OC-er, you could probably OC it a smidgen higher to further lessen HT's advantage.
Because most of us run more than one program at a time, :thumbsup:
In 70% (16/23) of the games, HT advantage was less than 10%, sometimes even negative. Only in a handful of games did it matter, and one of them doesn't make much sense (100% scaling for F1 2010). This is for dual core i3 2105, for quad core it would matter even less.
And it doesn't come for completely free. I don't have a kill-a-watt, but my thermals go up quite a bit, about 5-10 degrees Celsius higher on my i7 920 at full load vs HT disabled. If you're OC-er, you could probably OC it a smidgen higher to further lessen HT's advantage.
Hyperthreading adds the minimum amount of additional resource handlers to a CPU core, so that that CPU core can execute multiple threads. HT as it is currently implemented is very close to a fully shared implementation. A few parts are still split, but the important bits are either added on (dedicated full-size resources for each thread), or shared (execution units, caches, etc.). It is much closer to fully shared SMT than it is to fully partitioned (IE, split up) SMT.Good day AT people. I have a question that I thought some people might like to discuss. Hyper-Threading is a proprietary technology developed by Intel where every physical core can be "split" into two logical cores that can perform processes simultaneously to speed up an application (that's a very watered down explanation but the point of this post is not to discuss what HT is but how).
This is also wrong. The program needs to be developed to use Hyperthreading to extract the most performance from a Hyperthreading CPU, running low IPC/high CPI code that is not low IPC or high CPI due to bandwidth limitations or execution resource stalls. Such optimizations are generally either leftovers from console development (XB360 and PS3 CPUs have SMT that can be used like HT), or leftovers from the era of early P4 Xeons. Once the K8 came out, developers started to generally not care (this is a good thing, mind you), and HT in the Core i series has far superior performance to HT in the P4.But the program must be developed to utilize Hyper-Threading in order for it to work...
CPUs have gotten very fast very quickly, but memory hasn't. Even as they stay <4GHz, they are doing more work per cycle, so a modern 3GHz CPU might be equivalent to what people in the early 90s would have expected from a 10GHz CPU.Ok, got that, that part makes sense now. But how or exactly why this is the case is still eluding me...