Vista filesystem redirection

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
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.
 

bsobel

Moderator Emeritus<br>Elite Member
Dec 9, 2001
13,346
0
0
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.

Actually that will do the right thing (well the best thing possible) because of the way the bios enumerates procs, see my next post.
 

bsobel

Moderator Emeritus<br>Elite Member
Dec 9, 2001
13,346
0
0
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.

Larry, the bios madt tables come into play to deal with licensing issues. As an example, if you are on a quadcore with HT (4 physical cores, 4 logical cores) but you are only licensed for 4 cores the bios will enumerate one physical core per proc before enumerating the logical cores. This way you don't get the worset case solution of using only 2 physcial procs out of the 4 physical procs being used. Its a good trick an ensures you use up your physical procs before adding logical ones against your OS processor license.

Once the W2K is up it makes no differentiation between a logical and a physical CPU. From the article you linked (which, BTW is same one I linked earlier) "As a result, Windows 2000 treats each logical processor as if it were an individual physical processor." What this means is no thread affinity is adjusted based on it. In the example I gave, 4 threads running on 4 vcores. Two threads, both on the same physical proc stop the schedule SHOULD change the affinity of one of the remaining threads to MOVE IT to the open physical core. W2K does not do this, that is why I, Intel, and Microsoft say that HT isn't supported on W2K. See there is a reason that section is called "4.1 Operating Systems That Are Not Hyper-Threading Aware (Windows 2000)".

XP and above ARE hyperthreading aware and will correctly schedule threads to maximize core usage across physcial procs before using logical ones.


 

VirtualLarry

No Lifer
Aug 25, 2001
56,544
10,170
126
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))
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
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
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
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.
Which will do what, exactly? It should only use the first four (physical) CPUs in that configuration.

Edit: Spelled infinitesimal wrong because google didn't correct me on my spelling.

 

Smilin

Diamond Member
Mar 4, 2002
7,357
0
0
Originally posted by: VirtualLarry
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))
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.
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
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
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.
No, here is the official stance:
"Windows 2000 Server does not distinguish between physical and logical processors on systems enabled with Hyper-Threading Technology".

The word "supported" does not appear once in the whitepaper. Search for it.

As proof that it is not supported....

Originally posted by: VirtualLarry
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.
Which will do what, exactly? It should only use the first four (physical) CPUs in that configuration.

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.

Dude get this through your head: Windows 2000 is not hyperthreading aware. Period. End of thread. Stop being an annoying sh1t and playing devils advocate just to provoke an argument. The only purpose it serves is to piss people off at you and ensure that they become deaf to any valid argument you may have on some other topic. It does not serve your best interest to continue arguing every little thing in life until you win (or someone gives up on you). It is one of the primary reasons why you are almost universally dislike by many of the veterans on the AT forums. Even when you have an intelligent and well though out post the frequent response to it is "here we go again, another brilliant larry post. :roll:" and you are dismissed before you can even begin. You've built an ugly reputation for yourself and crap like this thread is how you do it. /lecture
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
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 is just semantics. It's supported in that Win2K will see all of the logical CPUs but it won't use them very effectively.

Which will do what, exactly? It should only use the first four (physical) CPUs in that configuration.

Only if the BIOS has them laid out properly which doesn't always happen.
 

bsobel

Moderator Emeritus<br>Elite Member
Dec 9, 2001
13,346
0
0
Something that bsobel in his infinitesimal grasp of the English language doesn't want to admit.

Larry, you keep commenting on my reading skills. Let's again go to the Microsoft documentation which says:

"Performance on non-HT-aware versions of the Windows operating system, such as Windows 2000"

"4.1 Operating Systems That Are Not Hyper-Threading Aware (Windows 2000)"."

"The type of modifications that are required for HT processor identification and support are not typically supported in a service pack. there are no plans to introduce this support in any future Windows 2000 service pack.

"As a result, Windows 2000 treats each logical processor as if it were an individual physical processor"

Now, let us go to the Intel Hyperthread Technology page:

"The following desktop operating systems are not recommended for use with Hyper-Threading Technology. If you are using one of the following desktop operating systems, it is advised that you should disable Hyper-Threading Technology in the system BIOS Setup program:

Microsoft Windows 2000 (all versions)
Microsoft Windows NT* 4.0
Microsoft Windows Me
Microsoft Windows 98
Microsoft Windows 98 SE"

And an old user comment about the W2K to .NET (Windows 2003 server) migration:

One user says he thinks Microsoft is blatantly using support for Hyper-Threading as a carrot to draw users to Windows .NET Server, but that it's probably not going to be a problem for his organization.

Back to the Microsoft documentation, read section 5.1:

Hyper-Threading Aware Thread Scheduling

This discusses the scenario I gave you above. This scheduler modification is included in XP and above and NOT in 2K.

That answers the question for absolutely everyone except you. As another poster in the thread says, you like to argue even when your so clearly wrong its comical. Microsoft and Intel will tell you HT isn't supported on 2K, Microsoft and Intel are VERY clear that WXP is the first released Microsoft OS to support HT.

Secondly, you would think if you were correct you could find at least ONE other person who understands the issue and agrees with you. If you re-read my scenario above it shows why HT is not supported on 2K (note: 'Not supported' is not the same as 'the computer won't boot'). Call the Dave at MS (he's over on the Live team now, but I'm sure he'd apprecaite the laugh), call Gawrock at Intel (tell him I said sent you). Let us know what they say. But at this point you have everyone who understands the issue disagreeing with you, showing why your wrong, and your just steamrolling ahead with your ignorance.
 

VirtualLarry

No Lifer
Aug 25, 2001
56,544
10,170
126
Originally posted by: Smilin
Originally posted by: VirtualLarry
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))
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.
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.
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
The word "supported" does not appear once in the whitepaper. Search for it.
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
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.
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
Dude get this through your head: Windows 2000 is not hyperthreading aware. Period.
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
End of thread. Stop being an annoying sh1t and playing devils advocate just to provoke an argument.
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.

If there were a FAQ entry on this issue, I hope to God that it would include the official Microsoft documentation on this issue (which I have helpfully quoted in this thread), not just some user's opinions or anecdotal "evidence".

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.
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.
 

bsobel

Moderator Emeritus<br>Elite Member
Dec 9, 2001
13,346
0
0
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.

...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.[/quote]

Larry, go read section 5.1, Hyperthreaded aware scheduler. Read it again. Read it again again. Do it until you understand it. When you finally get it, come back.

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.

The official documentation you posted says that 2K is not hyperthreaded aware.

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.

Truth is good, but your still wrong on this.
 

ajchun

Junior Member
Jan 29, 2001
22
0
0
i'll just throw my opinion in. the three documents i read are these:
ms doc
intel doc
intel doc 2

from what i understand, windows 2000 doesn't support smt, it supports smp. smt will work under windows 2000 only because it is emulating smp and because intel has defined a spec in the bios for processor enumeration. for me to state that windows 2000 fully supports smt in my naive view, i would say that the threads are properly scheduled despite the processor enumeration and the os licensing is aware of the difference between logical and physical processors.

which actually leads to a question i have now. if i hypothetically modify the bios and change the processor enumeration, would newer versions of windows (xp or vista) always be able to schedule threads on physical processors before logical? or has os support been tied to the bios enumeration? depending on the answer to this, my definition of support may change.

the second intel doc mentions certain things the os must do. from the way every doc talks about windows 2000 and smt, i bet windows 2000 doesn't do any of them.

when i first was reading these arguments, the first thing i thought of was the whole direct 9 support vs compliance when all the cards out were dx8. the dx8 cards could run dx9 games but couldn't support all the features in dx9. so it comes down to is how you define support. is it, "does it run?" or "does it run using all the features?". man i suck at coming up with analogies.

so my personal view is, windows 2000 supports smt because intel implemented/defined a smp interface and bios support. it does not fully support smt because it doesn't know what smt is and by that i mean that it cannot guarantee proper execution, licensing, and whatever else was stated in the second intel doc. it seems the argument is VirtualLarry defines support as minimal support, while smilin/bsobel defines it as full support. however, in the end, i don't really care either way since i don't run multiple processors or windows 2000.
 

bsobel

Moderator Emeritus<br>Elite Member
Dec 9, 2001
13,346
0
0
however, in the end, i don't really care either way since i don't run multiple processors or windows 2000.

I have to admit, that made by chuckle.

Go read section 5.1 of the doc I linked, it explains what the scheduler needs to do it be HT aware (in short, always use physical cores over logical ones whenever possible. 2K doesnt do this, and the bios ordering doesnt have anything to do with this).
 

bsobel

Moderator Emeritus<br>Elite Member
Dec 9, 2001
13,346
0
0
Meaning that threads should not be scheduled for the logical CPUs before the physical ones.

Sure, if your scheduler is HT aware. The issue is threads have affinity. Affinity is an expensive thing to change so the scheduler tries to keep a thread on the same core in which it started. The HT aware scheudler is smart enough to realize the situations in which an affinity change will actually improve performance and will do so. The non HT aware schduler will not. As documented, XP+ is HT aware, 2K is not.

 

bsobel

Moderator Emeritus<br>Elite Member
Dec 9, 2001
13,346
0
0
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.

 

VirtualLarry

No Lifer
Aug 25, 2001
56,544
10,170
126
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.
 

bsobel

Moderator Emeritus<br>Elite Member
Dec 9, 2001
13,346
0
0
The vast conspiracy continues...

The Microsoft support for HT that has attracted by far the most attention in the trade press and various discussion groups is software licensing. In a decision that could have gone either way, Microsoft decided that it will license its software by physical processor. However, support for this licensing policy depends on your running an OS version which recognizes and supports HT. This requires Windows XP (for a workstation) or an upcoming release of Windows 2003 .Net Server. On the licensing front, Windows 2003 .Net Server supplies a SYSTEM_LOGICAL_PROCESSOR_INFORMATION structure that a running process can access to determine if HT is active so that applications like SQL Server can figure out how many physical processors are installed and confirm license compliance automatically.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
It was re-engineered to add the HLT and YIELD support, as per Intel's HT programming guidelines.

Wow. HLT and YEILD may be part of the Intel's HT guidelines but making the scheduler HT-aware requires a lot more than that.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |