Once upon a time (up to barely two years ago), CPUs for the mass market were exclusively single-core. One CPU had one core.
Then AMD started the X2 and Opteron lines, essentially putting TWO CPUs in the same package. So, today, we can have dual core CPUs meaning that there are two, full-fledged CPUs on one single die. The AMD 64 line is stil single-core though, so that dodo has not yet disappeared.
The future is apparently going heavily in the multi-core direction, with AMD and Intel having both promised that four- and eight-core CPUs are in the pipeline.
As for hyperthreading, a simple Google search gives this description directly from Intel. Essentially, hyperthreading is simply Intel's way of pretending to have a multi-core CPU on a single-core one.
This solution does not have much of a future, given that true dual-core CPUs are becoming more and more common, available and affordable.
What that definition doesn't tell you about hyperthreading is that it was rather efficient on fast P4's that were "single-core".
Just like with dual-core CPU's today, hyperthreading only shows benefits when you run a multi-threaded application, or run many applications at once. Hyperthreading is like a set of instructions for the OS that divides separate, multiple tasks into a stream of tasks that go at the same time to the CPU, instead of processed in single-file.
While not perfect, hyperthreading was the next best thing to having a dual-core CPU. As of right now, multi-threading is still in its early stages, and there's no immediate benefit worrying about having either one...
~cdogg
"Insanity: doing the same thing over and over again and expecting different results." - Albert Einstein
[tab][navy]For general rules and guidelines to get better answers, click here:[/navy] faq219-2884
And of course Hyperthreading can kill applications as well as make them run better.
Many apps had problems with HT in W2K as it's not correctly supported, this means that sometimes threads would "Lock" effectivly killing the application.
Oddly enough, one we suffered from was an Intel Application !
Stu..
Only the truly stupid believe they know everything.
Stu.. 2004
Recently there have been some studies that indicated that heavily threaded applications running under a high CPU load can actually perform worse on hyperthreading CPUs than on non-hyperthreaded CPUs. This is because the application expects two CPU cores rather than a hyperthreaded core, and hyperthreading only allows you to run two threads simultaneously in a specific subset of normal circumstances.
Right, the technology is far from perfect. The main goal of hyperthreading is to utilize as much of the CPU as possible at any given moment.
Most operations, such as in Office applications, will only use roughly 10-20% of the CPU. Without hyperthreading, other processes trying to run in the background will simply have to stand in line weaving in and out of the commands demanded from the office app. You might see the CPU usage spike occasionally.
Hyperthreading, on the other hand, tries to separate the CPU load into smaller portions, giving each thread it handles it's own little slice of the pie (one task does not get to use another task's part of the CPU). By doing so (in theory anyway) all tasks waiting for a chunk of the CPU would complete faster, if none of the tasks waiting need that much CPU horsepower to complete.
This is why some apps that will hog the CPU anyway, don't benefit from hyperthreading, but do with dual-CPU cores. Gaming is one good example. Before Dual-Core CPU's, it was near impossible to burn or encode a CD/DVD while playing a game. Hyperthreading just wasn't enough since the CPU itself was being maxed out already. Dual-Core allows the OS to use one core for the first CD/DVD authoring app, and go straight to the other core for the game.
Plus, as some here have encountered, the program code itself might snag problems under Hyperthreading, but will and should not in Dual-Core environments...
~cdogg
"Insanity: doing the same thing over and over again and expecting different results." - Albert Einstein
[tab][navy]For general rules and guidelines to get better answers, click here:[/navy] faq219-2884
As cdogg point out Dual core should not encounter the same problems:
If we have 1 processor with HT it just isn't a happy bunny.
Without it it's fine.
However if we have 2,3 or 4 processors without HT, fine, soon as HT is on. No go.
So as dual cores are fundamentally the same as dual processors, in theory should be ok.
Of course if software was well written and bug free we wouldn't need all this power, but that's a whole different rant !
Only the truly stupid believe they know everything.
Stu.. 2004
Even Intel admitted that hyperthreading was not up to its pretentions. You won't hear about it in the future, unless Intel marketing decides to bring it back as a parade to some AMD benchmark that will make Intel look bad. But don't spend one extra buck for it.
I think it is settled that "hyperthreading" was the interim technology used until Dual-processors and Dual-Cores became more affordable to mainstream users.
Whether it was successful or not depended on the type of applications benchmarked.
~cdogg
"Insanity: doing the same thing over and over again and expecting different results." - Albert Einstein
[tab][navy]For general rules and guidelines to get better answers, click here:[/navy] faq219-2884
Dual core can be just as useless as hyperthreading. Both have their role with applications that are written to take advantage of them. There just aren't many of them around.
The current crop of dual core processors has deficiencies too - insufficient buses to pass data just and skimpy primary memory for starters.
Top of the range dual-core processors are ridiculously expensive too. Save yourself a bomb by going for (slower) dual processors. They will be far cheaper than the top of the range dual core equivalent and will really fly when running applications designed for dual processors.
There are 4 different "dual" configurations (and I've listed each's advantages below):
1) Intel Xeon: Usually have more cache than their P4 counterpart. The downside is that multiple processors share the frontside bus to access main memory. The other disadvantage is that all direct communication between processors must travel over the frontside bus.
2) Intel Pentium D: Also suffers from having to share the frontside bus for memory and cross-communication, but one advantage over the Xeon is being able to run unbuffered or unregistered memory (which saves you $$). A Xeon rated at about the same speed will perform pretty similar to a Pentium D.
3) AMD Athlon X2: Although the X2 cores also share the memory controller over the hypertransport bus (replacement for frontside), they have one significant improvement over any of the Intel models. The X2's have an on-die, high-speed crossbar interface which allows the cores to communicate without using the hypertransport bus. This causes less traffic and of course, a shorter path for communication.
4) AMD Opteron: The Opteron takes multi-processing to another level. Unlike the other 3 options, the Opteron gives a bank of memory with it's own memory controller to each CPU. This is a huge benefit. Also unlike the other 3, each CPU also has its own hypertransport bus (frontside bus) to the chipset. And finally like the X2's, it also has a separate bus that allows the CPU cores to talk directly to each other without crowding the hypertransport bus.
On paper, clearly the Opteron is the best option and most efficient (though pretty expensive in comparison).
Also, tf1 you are correct in saying that an application by itself will not perform any faster on a dual-CPU rig than it will on a single-CPU if it is not written to take advantage.
But this is not true when you start talking about multiple applications. Like the example I gave above, it is possible to do more at once (encoding a DVD/CD, play a game, work in an office app, surf the net, etc) on a dual-CPU rig that you couldn't do before without the system crawling or crashing. No special programming is needed in an application for this to work well on dual-CPU rigs.
~cdogg
"Insanity: doing the same thing over and over again and expecting different results." - Albert Einstein
[tab][navy]For general rules and guidelines to get better answers, click here:[/navy] faq219-2884
I agree with your summary (much more comprehensive than mine!) I don't see the home user benefiting much from the current dual-cores. However, there are some significant changes to the system architecure that should see big improvements over the next 2 or 3 years.
Yeah, I don't think we were really in disagreement.
But I will say that many home users do prefer to multi-task with CPU-hogging applications, and this is where a dual-core does come in handy. In that respect, it's worth the extra dough.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.