Page 1 of 1

HYPERThreading!!!

Posted: 2003-03-29 11:12pm
by Lord MJ
Oooh Aaah. Isn't it awesome? Not....


M$ is unable to produce a decent scheduler for its NT kernel, so it decides to fork things over to Intel to created a "HyperThreaded" processor for a hardware level fix to M$ poor software. No one seems to care that Linux or FreeBSD wont benefit from this at all.


I think AMD market share will be increasing soon....

Posted: 2003-03-30 12:22am
by Xon
Ah, what the hell are you talking about?

HyperThreading, should be supported by any OS that is supports multipule processors(meaning if you use MS-DOS, win95, win98, winME, tough luck).

Win2000 doesnt natively recognise that a hyperthreading processor isnt actually 2 different processors, WinXP however does. Since Microsoft has different lisensing scheme depending on the number of processes you have, windows might refuse to use a hyperthreading aware processor if you have too many processors in it and you licence only allows for X number of processes.

Anyway, a google search on "hyperthreading linux" brings up just under 29000 hits. I'm sure linux will have native support for hyperthreadin already.

Re: HYPERThreading!!!

Posted: 2003-03-30 01:33am
by Uraniun235
So, do you have any links to show us, or is this just a "flame Microsoft/Intel" thread?

Posted: 2003-03-30 01:43am
by Lord MJ
The fact that windows supports HyperThreading still doesn't address the fact that the Windows scheduler is still slower than that of Linux or other OS.


Much of Intel's new work will help Windows run better, but it wont be of much benefit at all to other OSes.

Posted: 2003-03-30 05:01am
by Xon
Lord MJ wrote:The fact that windows supports HyperThreading still doesn't address the fact that the Windows scheduler is still slower than that of Linux or other OS.
I havent ever heard this. If you provide quotes for your assertion, I'ld be more inclide to believe you. Hell provide a good enough argument, with good content & true I would change my view.

But dont even try the crap that win9X & winNT derivitive OS's are not preemptive multitasking, windows 3.11 and lesser were cooperative multitasking but every OS release by microsoft after windows 3.11 that I know of is preemptive multitasking. (Amasingly there are people at my uni who beleive that win9X & winNT dervived OS are not preemptive multitasking)
Much of Intel's new work will help Windows run better, but it wont be of much benefit at all to other OSes.
So having another processor strapped on wouldnt help the linux?!? :shock: WTF!

As what you are implying is the scheduler for its NT kernel scales better with more processors, were other OS are more optimized for a single processor and dont scale well with adding more processors.

I do not thing thats what you ment given the anti-microsoft slant of your post.

Posted: 2003-03-30 05:47am
by Beowulf
Hyperthreading effectively turns one processor into two slower ones. So, if the OS benefits from this, that means the scheduler sucks ass. Now, all OS inure a penalty from MP use. So turning on Hyperthreading will merely slow down the machine for most OSes. This is all merely from what I understand of Hyperthread, umkay?

Posted: 2003-03-30 05:57am
by Xon
Beowulf wrote:Hyperthreading effectively turns one processor into two slower ones. So, if the OS benefits from this, that means the scheduler sucks ass. Now, all OS inure a penalty from MP use. So turning on Hyperthreading will merely slow down the machine for most OSes. This is all merely from what I understand of Hyperthread, umkay?
wtf
Hyperthreading effectively turns one processor into two slightly slower ones, by processing 1 thread while the other is stalled for some reason(which happens fairly often).

Having to 2 slightly slower processors is much much better than having 1 slightly faster processor.

The overhead for multiprocessor use, isnt that high, and only seriously effects very badly design multi-threading apps with design flaws which dont show up on a single processor.

Posted: 2003-03-30 08:31am
by Keevan_Colton
GGS only if your task scheduling sucks ass....otherwise you are already making efficent use of the slightly faster proccessor and therefor are going "slightly faster".....

Posted: 2003-03-30 12:37pm
by Lord MJ
Ok, I made one mistake. The problem isn't with the scheduler, it's with the speed in which windows context switches (which is related heavily to the scheduler).


And compared to Linux, windows context switches fairly poorly.


One of the reasons for this is the fact that you can't recompile the NT kernel.

On a Linux machine, when you compile the kernel, if you're system is a uniprocessor machine, a lot of code that is related to multi processor machines is not even a part of the kernel. The Make process is smart enough not to add that unnceccessary code.


However since you cannot compile the NT kernel, all of that extra code is part of the kernel, whether you need it or not, resulting in a slower kernel overall.


A part of the reason I made this topic is to illustrate the fact that the usefulness of Intel's latest chips is diminishing for users of Linux and FreeBSD, making AMD chips a increasingly more attractive alternative.

Posted: 2003-03-30 02:42pm
by phongn
Lord MJ wrote:However since you cannot compile the NT kernel, all of that extra code is part of the kernel, whether you need it or not, resulting in a slower kernel overall.
:roll:

NT uses different kernels for multiprocessors or uniprocessor computers.

Posted: 2003-03-30 02:43pm
by phongn
Beowulf wrote:Hyperthreading effectively turns one processor into two slower ones. So, if the OS benefits from this, that means the scheduler sucks ass. Now, all OS inure a penalty from MP use. So turning on Hyperthreading will merely slow down the machine for most OSes. This is all merely from what I understand of Hyperthread, umkay?
No, actually, hyperthreading increases system performance in many instances, and only slows it down marginally in other instances. You're simply keeping your processor busy most of the time.

It is especially useful in multitasking situations.

Posted: 2003-03-30 02:46pm
by phongn
ggs wrote:Win2000 doesnt natively recognise that a hyperthreading processor isnt actually 2 different processors, WinXP however does. Since Microsoft has different lisensing scheme depending on the number of processes you have, windows might refuse to use a hyperthreading aware processor if you have too many processors in it and you licence only allows for X number of processes.
The license for XP is for physical, not logical processors. 2K's license is for the total (since SMT had not been released yet).

Therefore, an XP Pro user could theoretically have two SMT-enabled processors (for a total of 2 physical and 2 logical processors), while a 2K Pro user could only have one SMT-enabled processor (1 physical, 1 logical processor)

Re: HYPERThreading!!!

Posted: 2003-03-30 02:48pm
by phongn
Lord MJ wrote:Oooh Aaah. Isn't it awesome? Not....

M$ is unable to produce a decent scheduler for its NT kernel, so it decides to fork things over to Intel to created a "HyperThreaded" processor for a hardware level fix to M$ poor software.
Good for Microsoft, since they're actually making their software go faster from a company who knows their business.
No one seems to care that Linux or FreeBSD wont benefit from this at all.
Presumably someone could pay Intel to do this for them, yes?
I think AMD market share will be increasing soon....
Or not.

Re: HYPERThreading!!!

Posted: 2003-03-30 09:43pm
by Pu-239
phongn wrote:
No one seems to care that Linux or FreeBSD wont benefit from this at all.
Presumably someone could pay Intel to do this for them, yes?
Didn't Intel already add hyperthreading to the kernel? Before it was supported in XP? Like since 2.4.17?

Here's an article on hyperthreading from IBM on performance:

ICC does hyperthreading compiling. The linux version is free, but closed source... and is >60 MB, so I won't use it.