Linked by Thom Holwerda on Sun 11th Dec 2005 12:37 UTC, submitted by Valour
Hardware, Embedded Systems "With the recent introduction of dual-core processors come more questions about system performance. Does a dual-core computer really perform better than a single-core CPU? How does it compare to a true multi-CPU system? What about Hyper-Threading Technology -- is it a thing of the past? Read on for an explanation of dual-core processors and symmetric multiprocessing and what it means to your computing experience."
Order by: Score:
dual core != multicore ?
by Tom Janowitz on Sun 11th Dec 2005 17:53 UTC
Tom Janowitz
Member since:
2005-12-05

"If your current machine is good enough for your needs, there's no reason to upgrade."
lol - what a advice! Couldn't figure that out by myself.
And i don't understand the importance of distinction between dual and multicore. The fact is that dual core is a big shift (taking os/software into consideration) from single core, but "multi core" is rather gradual evolutionary step in the same direction (i.e. not really a revolution).

Reply Score: 1

Well..
by dylansmrjones on Sun 11th Dec 2005 18:43 UTC
dylansmrjones
Member since:
2005-10-02

Dual core == multicore but multicore != dual core

A dual core system is a multicore system, but a multicore system can be more than a dual core system, like a quadruple core. Both are multicore but only one system is dual core ;)

Personally I'd like to have a dual AMD 64 x2 system . I just can't afford, though I could use the power.

Reply Score: 1

Nice and simple article
by suryad on Sun 11th Dec 2005 18:43 UTC
suryad
Member since:
2005-07-09

I liked the article. Nice and simple and it helped me understand a bit more about the differences between Intel and AMD's dual core architecture. Looks like AMD knew what they were doing! What was surprising is that XP Home is not a multithreaded OS as was mentioned in the article and somehow that does not seem right to me. Anyone explain that?

Reply Score: 1

RE: Nice and simple article
by CPUGuy on Sun 11th Dec 2005 21:55 UTC in reply to "Nice and simple article"
CPUGuy Member since:
2005-07-06

Because Microsoft chose to make Home with the single proc kernel. At the time (in 2001), there was no such thing as dual core, there wasn't even hyperthreading yet.

Because only only professionals and power users had more than 1 processor and as such, they should need to shell out the dough for the Pro version.

Reply Score: 1

RE[2]: Nice and simple article
by dylansmrjones on Sun 11th Dec 2005 22:35 UTC in reply to "RE: Nice and simple article"
dylansmrjones Member since:
2005-10-02

Just another way for Microsoft to milk the cows ;)

Technically there was no reason for doing the Home edition in such a way, considering that NT4 was multithreaded in all versions, and Win2K also for all versions.

End result: Home was made purely for the sake of milking the cows. No more, no less.

Reply Score: 2

RE[3]: Nice and simple article
by Lazarus on Sun 11th Dec 2005 22:48 UTC in reply to "RE[2]: Nice and simple article"
Lazarus Member since:
2005-08-10

"End result: Home was made purely for the sake of milking the cows. No more, no less."

Too true. Its one of the things I dislike so much about all the different client versions of Vista that Microsoft is going to sell. I find the tactic very distastefull.

One of the evils of proprietary software.

Reply Score: 1

RE[4]: Nice and simple article
by dylansmrjones on Sun 11th Dec 2005 23:04 UTC in reply to "RE[3]: Nice and simple article"
dylansmrjones Member since:
2005-10-02

Weeeelllll.... you can find commercial versions of GNU/Linux doing pretty much the same stuff.

It's not so much a result of proprietary software - it's rather a result of people lusting for money. And their companies do have to make money. Some users are just too stupid to avoid buying it.

Reply Score: 1

RE[4]: Nice and simple article
by CPUGuy on Mon 12th Dec 2005 06:07 UTC in reply to "RE[3]: Nice and simple article"
CPUGuy Member since:
2005-07-06

So, what if someone doesn't want those features, should they still have to pay the same price?

Oh wait, you want it all to cost the same as the cheapest version as well.

Reply Score: 1

RE[2]: Nice and simple article
by nimble on Sun 11th Dec 2005 22:57 UTC in reply to "RE: Nice and simple article"
nimble Member since:
2005-07-06

Because Microsoft chose to make Home with the single proc kernel. At the time (in 2001), there was no such thing as dual core, there wasn't even hyperthreading yet.

I doubt whether Home has even got a different kernel. You you only need to change one registry key to turn Home into a kind of Pro Light, although I don't know whether that removes the processor limitation too.

Reply Score: 1

RE[3]: Nice and simple article
by CPUGuy on Mon 12th Dec 2005 06:09 UTC in reply to "RE[2]: Nice and simple article"
CPUGuy Member since:
2005-07-06

Yes, it uses a different kernel.

They have a single proc kernel (always have) and a multiproc kernel. When you install Windows, depending on your system config obviously, it chooses which one you need.

Reply Score: 1

RE[2]: Nice and simple article
by suryad on Mon 12th Dec 2005 01:28 UTC in reply to "RE: Nice and simple article"
suryad Member since:
2005-07-09

Hmm but then what about the dual cpu graphs displayed in the task scheduler when using XP Home? I have an intel 3.4 ghz with HT in my laptop and when I check the task scheduler I see the 2 graphs shown....

Reply Score: 1

WHAT!!?!?!?!
by setuid_w00t on Sun 11th Dec 2005 19:07 UTC
setuid_w00t
Member since:
2005-10-22

"Secondly, your application software must also be multi-threaded. One sure-fire way to verify that all of your applications are multi-threaded is to compile them yourself."

I'm sorry, but recompiling a single threaded application will not magically turn it into a multithreaded application.

Reply Score: 4

XP Home
by DonQ on Sun 11th Dec 2005 20:37 UTC
DonQ
Member since:
2005-06-29

XP Home is multithreaded OS exactly like all WinNT derivatives (and in lesser extent, all W95 series too). I'm a bit surprised, how author of otherwise not so bad article could write this...

About multithreaded applications - it is not obligatory have applications multithreaded. Usually computers are used to run multiple applications, on all such scenaries dual/multicore CPUs give performance gain. Looking at "normal" desktop XP installation, users have about 10-20 background applications active - they will have better performance, using dualcore CPUs. Of course multithreaded applications win most - if they do not wait for HDD or other slow data channels.

Edited 2005-12-11 20:40

Reply Score: 3

RE: XP Home
by Valour on Sun 11th Dec 2005 20:49 UTC in reply to "XP Home"
Valour Member since:
2005-07-08

You are wrong. WinXP Home only supports one CPU. That means one logic core. So it's not multi-threaded.

http://www.microsoft.com/technet/prodtechnol/winxppro/reskit/z04d62...

Edited 2005-12-11 20:50

Reply Score: 1

RE[2]: XP Home
by aaronb on Sun 11th Dec 2005 21:26 UTC in reply to "RE: XP Home"
aaronb Member since:
2005-07-06

Windows XP Home supports 1 CPU but 2 Cores

I have a (very noisy) Pentium D820 with Windows XP home and it shows two CPU's

Reply Score: 2

RE[3]: XP Home
by Anonymous on Sun 11th Dec 2005 21:39 UTC in reply to "RE: XP Home"
Anonymous Member since:
---

That got me as well. XP HOME does 'support' for example an AMD64 3800x2. I use the quotes as my personal experience is that this was the buggiest most likely to crash combination I have experienced since running a ZX81 with an overheated 32k RAM PACK.
XP Pro and XP pro 64 seem more reliable, fewer STOP errors.

Reply Score: 0

RE[2]: XP Home
by Anonymous on Mon 12th Dec 2005 03:14 UTC in reply to "RE: XP Home"
Anonymous Member since:
---

> You are wrong. WinXP Home only supports one CPU.
> That means one logic core. So it's not multi-threaded.

The use of multiple threads is coded into a program by the developer and has nothing to do with number of CPUs or cores that the system has or supports.

Reply Score: 1

RE[4]: XP Home
by Soulbender on Mon 12th Dec 2005 10:36 UTC in reply to "RE: XP Home"
Soulbender Member since:
2005-08-18

"That means one logic core. So it's not multi-threaded. "

You are confusing multi-threading with multiple cpu's.
XP, and even win95, is very much multi-threaded BUT they dont necessarily take advantage of multiple cores/cpu's.

Reply Score: 2

Re:XP Home is multi threaded
by Anonymous on Mon 12th Dec 2005 04:08 UTC
Anonymous
Member since:
---

you don't have to have two cpus to have a multthreaded application.

Threads works just as well on a single CPU system, and some apps are actually faster on a single cpu system depending on many things including the memory manager.

So Windows XP home is multithreaded, no question about it.

Reply Score: 1

Uninformed and meaningless
by Anonymous on Mon 12th Dec 2005 08:44 UTC
Anonymous
Member since:
---

This article has connections with the truth, but diverges sufficiently as to make it disinformative.

XP home, as all XPs, is always multithreading. It is just that it is configured to always choose the same processor when it has to decide which of the available processors should run a new thread. And then, it is not strictly limited to just one processor, but will take advantage of hyperthreading to run two threads in parallel. I believe it will even use both processors in a multicore, but I'm not sure of that; if not, Microsoft will enable that with a simple one-line patch once these processors become commonplace.

As for performance flattening with more than two processors, that is also BS. Symetric Multiprocessing (SMP) computers with many, many processors have fantastic performance with the right loads. "The right load" is a program written to take advantage of multiple threads executing on multiple cores; think of a database issuing a thread for each query, with many queries possibly executing at the same time; or a graphics program splitting the 3D calculations in many parallel sections, which migh execute in different processors.

This means that custom compilation for good SMP performance is also BS; if the program is not architected to split its work in multiple threads, no recompilation will change that.

And it is true that Linux is nowadays SMP and multithreading, but that wont help much with single-threaded programs (although when several single-threading programs run in a multiprocessing machines, the load will spread somewhat gross-grainedly among the processors).

In all, a bad article, written with only the bitter consideration that "they" are out there only to fool us and have our money (which might be frighteningly close to the truth, if you think about it).

Reply Score: 0

RE: Uninformed and meaningless
by Ookaze on Mon 12th Dec 2005 13:16 UTC in reply to "Uninformed and meaningless"
Ookaze Member since:
2005-11-14

I agree with you that the article is full of BS, but ...


XP home, as all XPs, is always multithreading

That does not mean anything, so I doubt you know what you're talking about.

It is just that it is configured to always choose the same processor when it has to decide which of the available processors should run a new thread

Which is a good thing, but I doubt that what you say is true, as XP Home support only one processor, which means one core. HT is NOT the same as SMP.

And then, it is not strictly limited to just one processor, but will take advantage of hyperthreading to run two threads in parallel

You are strongly mistaken like I said above. HT and SMP are two different things, and XP Home supports only one processor (or core). Again, HT is not equal to SMP.

I believe it will even use both processors in a multicore, but I'm not sure of that

You're wrong. Only XP Pro supports more than one processor. BTW, all of this still has nothing to do with a "multithreaded OS or kernel". "Multithreaded OS" does not mean anything BTW.

if not, Microsoft will enable that with a simple one-line patch once these processors become commonplace

We'll see. You seem to be sure of that, I have high doubts. You assume that we won't find anything beside dual core soon, which I highly doubt. Normal users won't buy expensive dual core processors when there are cheaper ones with one core.

As for performance flattening with more than two processors, that is also BS

I disagree.

(SMP) computers with many, many processors have fantastic performance with the right loads

Windows does not have this right load you talk about.

This means that custom compilation for good SMP performance is also BS

Agree with that.

And it is true that Linux is nowadays SMP and multithreading

No, that does not mean anything. Linux supports SMP and HT, and the kernel is not multithreaded.
True micro kernels are multithreaded, but Linux is not, and despite their claim, I doubt Windows kernel are. Making Linux multithreaded would degrade its performance. On Linux, they go out of their way so everything executed in kernel space stay on the same processor.

that wont help much with single-threaded programs

I don't know for Windows, but I can assert that in Linux, it helps a lot, as I use a dual CPU setup.

In all, a bad article, written with only the bitter consideration that "they" are out there only to fool us and have our money

Not so bad after all, better than your comment still.

Edited 2005-12-12 13:30

Reply Score: 1

OS support for MT/HT
by Anonymous on Mon 12th Dec 2005 14:28 UTC
Anonymous
Member since:
---

I'm confused since there are so many contradictory answers here. So here are my questions:

- I understand that if I run one single application on a computer, and that app is not designed for MT/HT, then more than one CPU or a CPU with HT, respectively,won't help me. Is that correct?

- If an app is not designed for MT/HT, will recompiling provide any performance benefits?

- If an app *is* designed for HT/MT, can it still be compiled in such a way that it only works on one CPU. If so, why would anyone do that?

- What does it mean if one says an OS "supports" MT and/or HT? Given that an application is designed for MT/HT and also compiled for support them, and the OS does *not* support MT/HT, will the app not be able to take advantage of them if they are available hardware-wise?

Thank you for your time.

Reply Score: 0

RE: OS support for MT/HT
by Ookaze on Mon 12th Dec 2005 15:48 UTC in reply to "OS support for MT/HT"
Ookaze Member since:
2005-11-14

- I understand that if I run one single application on a computer, and that app is not designed for MT/HT, then more than one CPU or a CPU with HT, respectively,won't help me. Is that correct?

MT/HT won't necessarily help, but SMP WILL help.
This is because you don't run only your app, in a multitasking OS (we don't use these procs for running DOS). You also run your kernel, and your graphic layer, which take processing power too.
So, if your app is made of one process without several threads, you won't benefit from HT, because HT counts only when you use an app with several threads. On the other hand, in SMP, your graphic layer and kernel, at least, can run on one CPU, while your app will have one processor for itself, so you will gain from SMP.

- If an app is not designed for MT/HT, will recompiling provide any performance benefits?

No, it won't.

- If an app *is* designed for HT/MT, can it still be compiled in such a way that it only works on one CPU. If so, why would anyone do that?

No it won't, so nobody can actually do that. It will work on one CPU though. The CPU will just have to do more work, so it will be less efficient on one CPU most of the time.

- What does it mean if one says an OS "supports" MT and/or HT?

It does not mean anything. The piece of the OS that can understand MT/HT is the kernel actually.
Specifically, it's the scheduler : the code that decides which thread/process will run when and on which processor. So that means the scheduler actually knows that it runs on a HT processor, and must use some special rules to be efficient. If the scheduler thinks the HT processor is SMP, performance will be degraded fast, because HT (several threads) is NOT equivalent to SMP (several true cores).

Given that an application is designed for MT/HT and also compiled for support them, and the OS does *not* support MT/HT, will the app not be able to take advantage of them if they are available hardware-wise?

No, because if the kernel supports SMP, it will believe that it has 2 CPUs. As 1 CPU with HT is not equivalent to 2 CPU, performance will degrade quickly in most situations, below the level of the same processor without HT activated.

Reply Score: 1

Misinformation
by Night on Mon 12th Dec 2005 15:54 UTC
Night
Member since:
2005-07-07

Which is a good thing, but I doubt that what you say is true, as XP Home support only one processor, which means one core.

This is incorrect. There is no limitation on the number of cores or threads that single processor can provide, whether it contains a single core, multiple cores (X2, Pentium D), or logical cores (HyperThreading).

Reply Score: 1

RE: Misinformation
by Ookaze on Mon 12th Dec 2005 16:31 UTC in reply to "Misinformation"
Ookaze Member since:
2005-11-14

This is incorrect. There is no limitation on the number of cores or threads that single processor can provide, whether it contains a single core, multiple cores (X2, Pentium D), or logical cores (HyperThreading).

It appears you are right.
I don't know anymore if you are wrong.

Looking at this :
http://www.microsoft.com/windowsxp/pro/howtobuy/choosing2.mspx

Look at the "scalable multi processor" line.
Dual Core is SMP, like bi CPU is SMP. Windows XP Home DOES NOT support SMP, which is NOT the same as HT (which Windows XP Home supports).
But some people report it works with SP2. I'm confused.
Perhaps they changed licensing in SP2.

Edited 2005-12-12 16:49

Reply Score: 1

Dual-Core Processing Explained
by Anonymous on Mon 12th Dec 2005 20:25 UTC
Anonymous
Member since:
---

As of now I would say that, we are not yet ready for dual core processors. Pentium D and AMD 64 aren't even mainstream yet. Let's hold unto our older machines if the still perform their tasks adequately.

Reply Score: 0

RE: Misinformation
by Anonymous on Tue 13th Dec 2005 09:19 UTC
Anonymous
Member since:
---

http://www.microsoft.com/licensing/highlights/multicore.mspx

Basicly, their licencing policy is based on physical processor, not core or/and logical processor.

Which make sense as in the future more and more john doe's system will eventually have a multi-core processor, but physical multi-processors systems will still targetted mostly by workstations and servers owners.

Reply Score: 0