Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Dual Core 1

Status
Not open for further replies.

carlcroom

Technical User
Jan 16, 2003
9
US
Does Win2K take advantage of both cores of a dual core processor? We have been told that an application we purchased will only run on XP because it cannot use both cores when run under 2000. BS or not?

Thanks
 
Win2K most definitely supports multiprocessor computers:

In the most general of terms, if its a multi-threaded application built on standard authoring tools that run in a win32 environment, it should remain multi-threaded on both 2K and XP.

Can you share the name of this application?
 
Windows 2000 does support dual-core, but Windows XP (and server 2K3) provide some tools for programmers to use when coding for multi-processor support that are not available in 2000. It is likely that this application is written in a way that requires XP.

 
XP has scheduling enhancements that Win2k does not share. For example, XP supports Hyper-Threading and Win2k does not. For Intel dual core more so than AMD this scheduling sophistication can make a difference. (Because Intel processors have to go outside themselves for inter-processor communications.)

The other difference that arises between Win2k and XP is that in the absence of priority settings by you Win2k treats each core equally. This matters most in a two dual or more setting, as Win2k could easily assign tasks to A1 and A2, while XP Pro would assign tasks A1 and B1, minimizing the inter-processor communication issue of Intel chips.





 
Thanks to all for the info. I think that mhkwood probably hit it on the hrad.
 
I fail to see how "programming tools" makes it XP specific.

 
I'm using a machine with 2 dual core CPUs on Windows 2000. I've got no idea how to tell whether it is using 2 cores on 1 CPU, 1 core on each CPU or 2 cores on 2 CPUs. The application runs fast enough so nobody bothers but it would be nice if there was a way of finding out.
 
Windows NT, 2000, XP*, and 2003 are all SMP aware, meaning that they will see multiple processors if multiple processors are present and the proper hardware abstraction layer (HAL) is used. They will all see dual core CPUs and they will all see Hyper-Threaded CPUs. HOWEVER, hyper-threaded CPUs CAN (but not necessarily will) perform worse with hyper-threading enabled when a system runs 2000 or NT because the OS may schedule threads inappropriately on the CPUs it sees. XP and 2003 are hyper-threading aware and will not make the potentially performance costing mistakes that earlier systems might.

Note: Hyper-Threading is NOT dual core. They are two different technologies - and yes, some dual core chips ARE hyper-threading enabled, but NOT ALL.
 
Neither NT nor Win2k support Hyper-threading processors. They will seem them as a single processor.

How does Windows exploit hyperthreading?
It depends which version of Windows you're asking about.

For Windows 95, Windows 98, and Windows Me, the answer is simple: Not at all. These are not multiprocessor operating systems.

For Windows NT and Windows 2000, the answer is "It doesn't even know." These operating systems are not hyperthreading-aware because they were written before hyperthreading was invented. If you enable hyperthreading, then each of your CPUs looks like two separate CPUs to these operating systems. Since the scheduler doesn't realize the connection between the virtual CPUs, it can end up doing a worse job than if you had never enabled hyperthreading to begin with.

.

 
bcastner -

What I said was

HOWEVER, hyper-threaded CPUs CAN (but not necessarily will) perform worse with hyper-threading enabled when a system runs 2000 or NT because the OS may schedule threads inappropriately on the CPUs it sees
I don't know if you have ever installed 2000 or NT on a hyperthreaded CPU - I have (2000). It sees the HT CPU as having two processors - it DOES SEE HT CPUS - but as I said, the OS may not schedule the threads appropriately.

This does not contradict what I posted, merely the implication that I was incorrect about it.
 
lwcomputing,

Quite frankly, I did not even read your post.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top