VOGONS


First post, by ratfink

User metadata
Rank Oldbie
Rank
Oldbie

I'm trying to get straight in my mind, which NT operating system versions will take advantage of and run properly on, multiple physical cpu and multiple-core cpu systems, and what the limits are. I have tried googling but it became so convoluted I am posting here in the hope someone may know.

I have [legitimate!] copies of the following OS's, and I have set out what I think the compatibility is:

NT 4.0 Workstation - seems to run on multiple-physical-cpu systems. I'm guessing it won't recognise multiple cores but then it probably won't run on any hardware that can take multi-core cpu's anyway. But how many physical cpu's can it use?

2000 Professional
- runs on up to 2 physical cpu's but it's not clear whether it will run properly on dual-core cpu's. From what I can tell there is no official support although iirc it will recognise multiple cores [presumably up to 2]. I'm sure I ran it on a couple of dual core boxes and there were various crashes though at the time I attributed these to other factors. I wonder now if it was due to multi-core issues.

XP Home - seems like it doesn't recognise multiple physical cpu's but it will recognise multiple cores. But is it limited to 2 cores or can it take advantage of 4, 6 etc?

XP Professional 32-bit - recognises and uses up to 2 physical cpu's, and will recognise and use multiple cores. But what are the limits? Will it use all cores on a 4-core or 6-core cpu?

7 Professional 64-bit
- recognises and uses multiple cpu cores, presumably unlimited. No idea if it supports multiple physical cpu's.

Why does it matter? Because one of our systems needs an upgrade and that might allow some reshuffling of hardware and os's, and the same sort of issue will recur for a few years yet.

Reply 1 of 8, by Mau1wurf1977

User metadata
Rank l33t++
Rank
l33t++

Without knowing any details, traditionally it's the server operating systems that have multi CPU support. So that's where I would be looking first!

Reply 2 of 8, by sgt76

User metadata
Rank Oldbie
Rank
Oldbie
ratfink wrote:

2000 Professional - runs on up to 2 physical cpu's but it's not clear whether it will run properly on dual-core cpu's. From what I can tell there is no official support although iirc it will recognise multiple cores [presumably up to 2]. I'm sure I ran it on a couple of dual core boxes and there were various crashes though at the time I attributed these to other factors. I wonder now if it was due to multi-core issues.

I've run 2000 Pro on an Intel e2180 some years back- both cores were recognized and it was a very stable system.

ratfink wrote:

XP Home - seems like it doesn't recognise multiple physical cpu's but it will recognise multiple cores. But is it limited to 2 cores or can it take advantage of 4, 6 etc?

No multiple physical cpu support- only multi-core. However, I've never run this on any system with >2 cores.

ratfink wrote:

XP Professional 32-bit - recognises and uses up to 2 physical cpu's, and will recognise and use multiple cores. But what are the limits? Will it use all cores on a 4-core or 6-core cpu?


Recognizes 4 cores and uses all of them just fine. One of my work pcs was an Intel E8400 with XP Pro. However, I've noticed 4 core systems run "smoother" with Win 7 rather than XP Pro- not done any tests though, just a seat of the pants feeling.

Reply 3 of 8, by sliderider

User metadata
Rank l33t++
Rank
l33t++

The limits on the versions of XP have to do with number of processors, not number of cores. XP Home will work fine with a single 4 core processor, but will not work with 2 dual core processors. Cores are not counted as processors. Processors are determined by the number of CPU sockets on your motherboard, not by what you put in them. As soon as your requirements include multiple processors you have to move up to the Professional version.

Reply 4 of 8, by Old Thrashbarg

User metadata
Rank Oldbie
Rank
Oldbie

Unlike XP, both NT4 and 2000 do not differentiate between cores and physical CPUs... each core counts as a CPU. So the Workstation versions will support dual cores, Server will do 4 cores, and Enterprise gets 8 cores. There were other OEM versions that would use more, but you probably won't encounter those in the wild. I know both NT4 and 2K Workstation will work fine on a dual-core system (though as you mentioned, there's the issue of hardware support in NT4).

Also, there are supposedly some issues with Hyperthreading in NT4 and 2K. I don't know the details on that, though, since I don't deal with Hyperthreading much.

Reply 5 of 8, by ratfink

User metadata
Rank Oldbie
Rank
Oldbie

Excellent, thanks all for the responses, I understand it now. 😁

Reply 6 of 8, by megatron-uk

User metadata
Rank l33t
Rank
l33t
Old Thrashbarg wrote:

Unlike XP, both NT4 and 2000 do not differentiate between cores and physical CPUs... each core counts as a CPU. So the Workstation versions will support dual cores, Server will do 4 cores, and Enterprise gets 8 cores. There were other OEM versions that would use more, but you probably won't encounter those in the wild. I know both NT4 and 2K Workstation will work fine on a dual-core system (though as you mentioned, there's the issue of hardware support in NT4).

Also, there are supposedly some issues with Hyperthreading in NT4 and 2K. I don't know the details on that, though, since I don't deal with Hyperthreading much.

It's to do with process scheduling - as hyperthreading was introducing after those OS were released and the OS sees the two virtual cores as two distinct processors it schedules tasks between them as best it can (as far as it is concerned, there are two physical cpu's).
However, since a HT processor shares a *lot* of hardware between the two virtual cores (the execution pipeline is only partially duplicated, they both share the same l1 and l2 cache, cannot both execute fpu instructions at the same time etc, etc - unlike two physical cpu's which have their own) trying to run this way is not the most efficient use of an HT design and can lead to slowdown, cpu cache thrashing and performance issues when the OS attempts to schedule programmes to run on the 'two' processors at the same time.

XP, Vista and 7 improved the process scheduler significantly when dealing with HT processors. The scheduler in Linux is also much better in utilising HT cpu's.

My collection database and technical wiki:
https://www.target-earth.net

Reply 7 of 8, by luckybob

User metadata
Rank l33t++
Rank
l33t++

Windows 2000 is a bit weird.
pro can use 2 cpu/cores. basically it supports the netburst hyperthreading.
server goes to 4 cpu/core
advanced server goes to 8 core/cpu
datacenter server will do 32

NT4 workstation supports 2. server supports 4 and enterprise will do 8.

xp home does 2 pro will do 4.

Windows 7 is a bit different. home version supports one SOCKET. And pro/ultimate supports 2 SOCKETS. It doesnt care about cores.

It is a mistake to think you can solve any major problems just with potatoes.

Reply 8 of 8, by Old Thrashbarg

User metadata
Rank Oldbie
Rank
Oldbie

xp home does 2 pro will do 4.

Wrong. This has already been covered... read the posts above. XP goes by the number of sockets, not the number of cores. Same with Vista and Seven. There is no limitation on the number of cores in the Home versions, you are simply limited to one socket.