Nothinman
Elite Member
If you make that claim, then you have a clear reading-comprehension problem. MS clearly shows that HT IS supported on W2K. As I quoted from that doc.
It's supported just like 32-bit Win2K/XP/Vista support 4G of memory.
If you make that claim, then you have a clear reading-comprehension problem. MS clearly shows that HT IS supported on W2K. As I quoted from that doc.
If you want proof of this fire up a quad core box with hyperthreading (8 logical cores) on a Windows 2000 Server box with the 4CPU limitation.
I understood your argument perfectly already, no need to re-iterate. The diagrams in section 4.1, and the emphasis placed on the BIOS MADT tables, seem to indicate that the scenario you describe cannot happen, that if you have two threads in the runqueue, and 4 logical processors (two physical followed by two logical), that the two threads will get scheduled on the first two (physical) processors.
I didn't say "two threads started", either. I said "two threads in the runqueue". Reading comprehension indeed. If you have four threads and then stop two, you still have two threads on the runqueue.Originally posted by: Smilin
Easy there with the reading comprehension accusations there kettle.
He didn't say 2 threads started. (should work fine on 2physical, 2logical cores)
He said 4 threads started then two stopped. (may have hyperthreading problems on 2physical, 2logical cores))
HyperThreading on Windows 2000 is - here's the official term for it - "supported". Something that bsobel in his infinitesimal grasp of the English language doesn't want to admit.Originally posted by: Smilin
Windows 2000 doesn't treat physical and logical processors differently. Win2k is compatible with hyper threading but it was not designed to take advantage of it. Period
Which will do what, exactly? It should only use the first four (physical) CPUs in that configuration.Originally posted by: Smilin
If you want proof of this fire up a quad core box with hyperthreading (8 logical cores) on a Windows 2000 Server box with the 4CPU limitation.
All started threads are in the "runqueue" so when I say "two threads started" it means two threads in the "runqueue". The part you are being dense about is two threads being started (placed in runqueue :roll: ) is not the same thing as four being started (placed in runqueue :roll🙂 followed by two being stopped (removed from run queue :roll🙂 . In this case 4 minus 2 does not equal 2. This is what he was saying. You missed it so you get the reading comprehension bozo button.Originally posted by: VirtualLarry
I didn't say "two threads started", either. I said "two threads in the runqueue". Reading comprehension indeed. If you have four threads and then stop two, you still have two threads on the runqueue.Originally posted by: Smilin
Easy there with the reading comprehension accusations there kettle.
He didn't say 2 threads started. (should work fine on 2physical, 2logical cores)
He said 4 threads started then two stopped. (may have hyperthreading problems on 2physical, 2logical cores))
No, here is the official stance:Originally posted by: VirtualLarryHyperThreading on Windows 2000 is - here's the official term for it - "supported". Something that bsobel in his infinitesimal grasp of the English language doesn't want to admit.Originally posted by: Smilin
Windows 2000 doesn't treat physical and logical processors differently. Win2k is compatible with hyper threading but it was not designed to take advantage of it. Period
Originally posted by: VirtualLarryWhich will do what, exactly? It should only use the first four (physical) CPUs in that configuration.Originally posted by: Smilin
If you want proof of this fire up a quad core box with hyperthreading (8 logical cores) on a Windows 2000 Server box with the 4CPU limitation.
HyperThreading on Windows 2000 is - here's the official term for it - "supported". Something that bsobel in his infinitesimal grasp of the English language doesn't want to admit.
Which will do what, exactly? It should only use the first four (physical) CPUs in that configuration.
Something that bsobel in his infinitesimal grasp of the English language doesn't want to admit.
I didn't miss it at all. You OTOH, don't seem to understand what a runqueue is. It is a queue that holds all of the currently-runnable processes (or in NT's case, threads). If there are 4 runnable processes, and 2 are stopped, that means that they are removed from the runqueue, and that there are 2 left. Which, according to the whitepaper, seems to indicate that they should be scheduled on the first 2 CPUs according to the BIOS order, which would be the first two physical CPUs. What I am trying to say is that according to the whitepaper, CPUs should be used in the BIOS MADT order, always. Meaning that threads should not be scheduled for the logical CPUs before the physical ones.Originally posted by: Smilin
All started threads are in the "runqueue" so when I say "two threads started" it means two threads in the "runqueue". The part you are being dense about is two threads being started (placed in runqueue :roll: ) is not the same thing as four being started (placed in runqueue :roll🙂 followed by two being stopped (removed from run queue :roll🙂 . In this case 4 minus 2 does not equal 2. This is what he was saying. You missed it so you get the reading comprehension bozo button.Originally posted by: VirtualLarry
I didn't say "two threads started", either. I said "two threads in the runqueue". Reading comprehension indeed. If you have four threads and then stop two, you still have two threads on the runqueue.Originally posted by: Smilin
Easy there with the reading comprehension accusations there kettle.
He didn't say 2 threads started. (should work fine on 2physical, 2logical cores)
He said 4 threads started then two stopped. (may have hyperthreading problems on 2physical, 2logical cores))
You must be blind then. I already quoted that part of the whitepaper earlier in this thread. Yes, it includes the word "supported".Originally posted by: Smilin
The word "supported" does not appear once in the whitepaper. Search for it.
That's a licensing limit, nothing more. Upgrade your Windows license and you'll be able to properly utilize all of your physical and logical cores.Originally posted by: Smilin
In Windows 2000 Server if you have four logical CPU's being used out of 8 it doesn't really sound "supported" to me larry.
But it IS supported. If you understood how it works under the hood, you would understand how SMT is a drop-in replacement for SMP (due to intel's brilliant design), and that it is not required that a scheduler be "hyperthreading aware". All that's required is that the physical cores be used before the logical ones, and that depends on the BIOS order.Originally posted by: Smilin
Dude get this through your head: Windows 2000 is not hyperthreading aware. Period.
I don't know why you are claiming that I am "provoking" an argument. All I am doing is pointing out the OFFICAL MICROSOFT DOCUMENTATION, to clear up any incorrect perceptions that SOME people have about W2K and HyperThreading.Originally posted by: Smilin
End of thread. Stop being an annoying sh1t and playing devils advocate just to provoke an argument.
I know. Speaking out for the truth seems to be a very unpopular thing on this forum. Much easier to just be a sheep and go along with the crowd. Heaven help whomever disagrees with the groupthink. Oh, wait, that's my job. Because I stand up for the truth.Originally posted by: Smilin
It is one of the primary reasons why you are almost universally dislike by many of the veterans on the AT forums.
would be the first two physical CPUs. What I am trying to say is that according to the whitepaper, CPUs should be used in the BIOS MADT order, always. Meaning that threads should not be scheduled for the logical CPUs before the physical ones.
I don't know why you are claiming that I am "provoking" an argument. All I am doing is pointing out the OFFICAL MICROSOFT DOCUMENTATION, to clear up any incorrect perceptions that SOME people have about W2K and HyperThreading.
I know. Speaking out for the truth seems to be a very unpopular thing on this forum. Much easier to just be a sheep and go along with the crowd. Heaven help whomever disagrees with the groupthink. Oh, wait, that's my job. Because I stand up for the truth.
however, in the end, i don't really care either way since i don't run multiple processors or windows 2000.
Meaning that threads should not be scheduled for the logical CPUs before the physical ones.
The scheduler was specifically re-engineered in SP4 to support HyperThreading technology.
Originally posted by: bsobel
The scheduler was specifically re-engineered in SP4 to support HyperThreading technology.
Here is a nice key quote. Larry, the scheduler was not re-engineered in SP4 to by HT aware. You stating otherwise doesnt' make it true. Only the XP and above scheduler is HT aware.
It was re-engineered to add the HLT and YIELD support, as per Intel's HT programming guidelines.