Mulit-core proc OS problems worth it? - CPU & Components
  Tom's Guide Forums » CPU & Components » CPUs » Mulit-core proc OS problems worth it?
 




Word :   Username :  
 
 Page : 1 2
Next
Author
 Thread : Mulit-core proc OS problems worth it?
 
More Information

Last message on previous page:
When HT first came out, there was a patch needed for WinXP. (I don't think M$ ever even released it for Win2K.) This patch wasn't even needed to make XP run with HT because XP can handle two procs. It was needed because HT is technically one processor pretending to be two and XP wasn't treating a HT proc any different from two procs. So the patch improved XP's scheduling on a HT processor (because it's not two actual procs, there are some better ways to distribute tasks for it than just an equal split), to use the HALT command to help prevent HT procs from sitting around doing nothing when idle, and to use the YIELD command to avoid spinlock contention. Oh, and the patch convinced XP (home and pro) that HT procs were only one proc for licensing use. (Because XP Home specifically wouldn't let it run with HT until it thought of it as only one proc for licensing.) And thus HT worked on WinXP just peachy keen ever since.

Likewise, XP probably needs the new dualcore patch to convince XP that a dualcore proc is still only one proc for licensing. (Though maybe not. Handling multiple logical procs in one physical proc might have all been worked out with the HT patch.)

But still, these things are worked out now. To the Windows scheduler (and to any software apps running) dualcore is no different than two individual CPUs, and that's worked fine in Windows since, what, NT3? So any problems that exist with dualcore are the fault of 3rd party software developers, such as drivers, or apps. There's nothing there to fix in Windows anymore. (At least as far as I know.) And any such problems existing in 3rd party software would exhibit themselves the same on a two-CPU system, a HT-CPU, or a dualcore-CPU.

Are there some softwares that have problems with multiple logical or physical CPUs? Sure. Usually the problems arise when the software developers code specifically at a very low level to use CPU0 but the scheduler throws a task onto CPU1, and suddenly parts of the code are trying to access the wrong processor. My company has struggled with some drivers that were written in Assembly code to do that. But these kinds of problems are extremely rare, as almost no one codes on such a low level anymore. And simply setting the affinity to CPU0 will solve the problem. Patches that remove this kind of bad coding also fix the problem. But because these problems are in the 3rd party software, they have to be fixed in the 3rd party software. There's no global fix that M$ can provide to fix people's bad code. (Which was pretty well proven when M$ fixed the memory scheduler in the NT5 kernel to reuse freed memory before using new memory memory, thereby causing all sorts of hell with programs that were coded badly to free a memory location but keep on using it anyway.)

Related Product

Register or log in to remove.

More Information

I guess the question for me is this:

Does WinXP Home support dual core CPU's?

As someone said earlier, it's a licensing issue- not a support issue. Regardless if the machine is dual processor or dual core, WinXP Home (from what I understand) is licensed to work only with 1 CPU. At this point I don't see how Windows can possibly know the difference between dual processors and dual cores. To the operating system, they're the same!

I tried googling all this and to my surprise, I couldn't find crap! I do know for sure that WinXP Home (when it initally came out) only supports 1 CPU regardless if it's HT, Dual Core, or Dual Socket/Processor. However, this could have changed in SP2 or a patch. Any thoughts Slvr?

-mpjesse

More Information

I'm pretty sure that XP Home will run dualcore as dualcore. When HT was invented the concept of differentiating between 'logical' and 'physical' processors was introduced. And since WinXP Home will run a HT proc just fine, I'd imagine that it'd run a dualcore proc just fine too. After all, a dualcode proc is still just one CPU with two 'logical' processors. The only difference is that the second 'logical' processor is also a real core, where as with HT it isn't. So I'd expect it to work. And I've heard plenty of people running two dualcores on XP Pro with all four cores firing, and XP Pro only allows two procs. So it stands to reason that XP Home would use the same logic for one proc.

The one thing that I'm not sure of is how XP Home would handle the rare P4EE dualie with two cores and HT on each core. But then who'd run one of those on XP Home? (Hell, who'd even buy one of those?) Technically speaking, it should work, as the licensing specifically identifies per physical processor, not per logical processor. Just as a quad-core processor should work. But M$ might not be that far ahead of the game yet. I don't really know. I haven't heard of anyone trying. **really big shrug**

More Information

Quote :

Technically speaking, it should work, as the licensing specifically identifies per physical processor, not per logical processor.



Yes, that makes sense.

Quote :

But M$ might not be that far ahead of the game yet. I don't really know. I haven't heard of anyone trying.



I read something about a year ago (I think it was on The Register) that said M$ wasn't going to try and make people buy 2 licenses for dual core or quad core CPU's. They said it would "detrimental" to the advancement of PC's. So that's good I guess.

-mpjesse

More Information

Scratch that, what I read was this:

http://www.theregister.co.uk/2005/ [...] al_change/

Quote :

As of December, Microsoft plans to charge customers on a per instance instead of per processor model. This scheme will cover products such as SQL Server, BizTalk Server, Internet Security Accelerator Server and other server software. Most impressively, it will apply whether you run Virtual Server or rival VMware virtual machine software, which is much more popular than Microsoft's code.



So I guess the verdict is still out on Vista and whether 4 core support will be there at no extra cost.

:?

-mpjesse

More Information

XP Home, and XP Pro treat Hyperthreading (And I assume Dual Core), exactly the same way.

I have XP Pro on my work computers, and naturally I get two CPU in the control panel/hardware, and also on the task manager/performance there are load indicators for both cores.

My computer at home is running XP Home, because I dont need the additional networking features, it correctly detects my HT P4 as two cpu's installs the full ACPI Multiprocessor HAL, enables the second load indicator in the task manager, allows the control of processor affinity etc.

However, if you have installed XP with the single processor HAL, and then just switch processors, it wont always 'automatically' update itself to the ACPI Multiprocessor HAL. When this happens it remains locked into a single processor mode, and hyperthreading (Or Dual Core) will not be enabled.

If the ACPI Multiprocessor Hal is installed correctly, it will be listed under Computer in the device manager as ACPI Multiprocessor PC, and the second processor will be visible. If this is not happening, then enabling HT in bios could cause instablility in the system.

In reality there is very little difference between XP Home, and XP Pro, Home has a few files missing from its CD compared to Pro, and its licence key disables additional processors, but thats about it.

XP Home does not support more than one CPU, but it should support a CPU with 2 Cores, and quite possibly more. I would not be surprised if a clean install of XP Home on a the new dual core EE's will give all 4 virtual cores.

More Information

I don't know the exact terms or if this is even right, maybe slvr can correct anything. But if the BIOS detects and distinguishes what kind of cpu(s)/core(s) are installed, why wouldn't the OS be able to read this and make that distinction? I would think there some kind of hardware ID or something else that makes it possible for the BIOS and OS to be able to know when there are multiple sockets, single sockets, dualcore, single core w/HT, single core, dualcore w/HT, etc. I do know the OS can recognize the difference between a virtual core (what HT is) and a physical core, I believe this was the issue with XP when HT first came about. XP at first was treating the virtual core as a 2nd, physical core which its not, contributing to the performance hit some saw at first. Seeing that in a dualcore chip there are 2 physical cores, this shouldn't be a problem. Again if I made any mistakes, please correct me.

More Information

Corasik has it right. I've worked on a couple of systems with dual-core procs, and with XP Home installed. Both showed two processors when looking at the CPU graphs.

More Information

Right on.

More Information

OK,

The harware is in. I listed the system in the thread already. And no, this system hasn't been built yet, and I wanted to flush out problems early.

As for my existing system why would I be paranoid to go into BIOS and disable multi-thread for the Intel CPU? And, it does show a second CPU in the XPHome device manager in the hardware profile. Does that mean
ihe CPU does anything? The task manager says that yes, there is CPU load on both CPU's. Not a lot, but there is some. I don't have real multitask programs so the best I could do is run a virus scan and download a file off of the Internet at the same time...and hope it doesn't crash.

Why is Hyperthread not working on my current P4PE Asus motherboard with BIOS 1007? It goes to the BSOD and / or freezes. No error messages. I have the problem isolated to a possible hardware driver for my hardware, not windows, modem. I have the newest modem driver, but it may not allow dual CPU's. US Robotics isn't probably going to mess with the driver for this device, either.

There is cross-over legacy for older hardware and software. PC's are a compilation of stuff and it is sometimes impossible to tell what is over the line. There are a lot of people still on dial-up, and use AMD X2's. The actual method of real verses virtual (the AMD isn't a virtual CPU) may be less problamatic with my stuck in time modem driver. Who would make a dial-up midem dual processor compliant, anyway? Maybe now they will, who knows. But, dual CPU's do indeed need different drivers in the HAL layer, or why would AMD issue a new X2 driver?

I'm going to use the X2 and see what happens. If it is problamatic, I'll get the single core and wait it out a few years till I have a choice other than dial-up. I'm not in town, or want to spend over $30/mo for Inernet.

This discussion went crazy ways, but there are indeed problems that aren't a result of the user's "error". Using a modem that has always been fine with the newest driver is the best anyone could have done. Dual CPU's are not transparent to really open architecture PC's. Maybe they are on workstations and the like but how old is the hardware there?

More Information

Quote :

Yes, it does depend on what you have in your PC for dual core, or hyperthread. Neither is as stable as a single core, by a long shot..... blah blah blah blah blah..... ad nauseum



Have you ever even USED a dual core system? Why do so many companies and large servers use Dual processor systems running microsoft products rely on those systems to stay rock solid, if YOU say they are unstable?

I think you are a paranoid ignoramus who doesn't know what you are talking about.

More Information

Perhaps rower30's P4HT is actually faulty, and causing the problem, or perhaps he's right and its his modem driver, although I find that a little hard to believe, but I wont argue that he's got problems or insult his intelligence.

I can only say that I've only ever had hyperthreading enabled on Springdale, and Canterwood motherboards, and northwood P4's and found them to be almost totally reliable with HT enabled on XP Home and XP Pro.

Now, to clarify the 'almost' I have found two applications that totally hate Hyperthreading. One is a network monitoring application called Sniffer Pro. With HT enabled it would cause my PC to randomly reboot. The second is an older game, SimCity 4000. This game would just drop to desktop without any errors with HT enabled.

Apart from those 2 problems, I am still a believer in HT, as it really does make the PC's feel more responsive when multi tasking, and the problems I've had are extremely rare, and not a major concern.

I suspect that dual core is alot better than HT in any case, as the virtual core can only operate in certain conditions when there is the appropriate part of the cpu available, IE the P4 only has 2 integer units, so if the virtual core 0 is using them, core 1 would stall if it tried to use one, and have to wait until core 0 was done. With true dual core both cpu's will have all componants ready and available at all times.

More Information

Ok, now we're getting somewhere, this is more like it.

Quote :

I have the problem isolated to a possible hardware driver for my hardware, not windows, modem.

Have you tried a different modem or is the system fine before you install the drivers/unintsall them? Like I said in a previous post, sometimes software/drivers actually might have issues with certain platforms. Back when the AthlonXP was king, I knew of hardly anyone running a dual cpu rig that had success using a Creative sound card. The drivers would just BSOD randomly. This wasn't just 1 or 2 people this was happening to either. So I would start with uninstalling the modem or trying a different one.

Quote :

But, dual CPU's do indeed need different drivers in the HAL layer, or why would AMD issue a new X2 driver?

As far as I know, the only drivers from AMD and patches from MS have been dealing with power state issues regarding the Cool&Quiet functionality. And remembering the article from MS's site, it was a patch for all multicore systems, including traditional dual cpu machines. Also if you look on AMD's site, you'll see that the X2 driver wasn't the only cpu driver to be updated, the driver for every line of cpu that supports C&Q/PowerNow! was updated.

Quote :

but there are indeed problems that aren't a result of the user's "error".

I think if this post would have been your original one, there wouldn't have been nearly the amount of ranting that went on in this thread.

More Information

They use REGISTRED software that is GUARATEED to work on dual CPU's. They use dual, or more, CPU's because servers are hit with multiple requests by design, This is why SCSI hard drives and newer SATA drives that have native command queing are used, too, to handle multiple requests.

Now, your home PC IS NOT full of registered software and hardware/drivers is it? As such, it won't run as stable as a registered system.Windows is "pretty good" with single core, and less so with dual. It simply a software and driver compatibility issue. What do you think people slam windows for anyway? Macs? They write and support ONLY their hardware, drivers and software. Amazing why that makes a more stable system. Not to mention, they used SCSI type interface, too.

This stuff isn't exactly unknown. I'm not so sure who knows what, either.

More Information
n°941505
01-25-2006 at 08:31:10 PM
Hide