AMD Demos Dual-Core Athlon 64
DigitumDei writes "Dual core chips came closer to reality as AMD demonstrated their Athlon64 dual-core offering. The 90nm technology chip will use the same 939-pin infrastructure and cooling solutions as the current Athlon 64 chips, meaning that upgrading to a dual-core chip from your current AMD64 will require little more than a BIOS update. Available in the second half of this year, the chip will be added to AMD's current line (Athlon64, Athlon FX, Sempron)."
HT is a way of letting one processing unit work with mulitple threads at once. Multi-core technology is identical to SMP, meaning more physical processors actually doing work, so it isn't token.
However, expect lower clockspeeds, two cores in that proximity causes a severe power/heat problem that would mandate reduced clock over single processor solution.
XML is like violence. If it doesn't solve the problem, use more.
Before you buy one of these dual-core processors for your server, make sure that your software vendor isn't going to double your price on you.
Oracle and others have announced plans to increase their revenue by charging people for multiple cores in their single processor.
I'm a big tall mofo.
Now, also, how many OSs (and applications) are prepared for dual-core support? Are there any available systems that are stable and do that?
Solaris supports dual cores on both SPARC and x86. The UltraSPARC IV processors are dual core.
Any application should be "prepared for dual-core support". If the application even has to be aware that it's running on a dual core or hyperthreaded CPU, then the OS is broken.
- Old Man of the Mountain ---- "I want to disturb my neighbor"
You should probably get your terms right before you comment on it. HT is simply Intel's name for SMT (simultaneous multithreading). They didn't choose an optimal implementation and people shouldn't expect the same performance from it as you would from dual processors. SMT is simply an extension of the superscalar idea. Disconnect the dispatch mechanisms from the execution mechanisms and you can run an out of order processor a lot faster than an in order. Make multiple execution units and multiple fetches per cycle and you now have an n-way superscalar. A few more additions (mostly replication of units in the processor) and you can grab instructions from multiple threads instead of from the same thread (it is difficult to get lots of instructions per cycle from the same thread because of the high frequencies of branches in the code stream - and branch prediction isn't perfect). Dual core is completely different, they simply put two processors on the same chip. Dual core has the problem that it cannot share the same resources between the two threads. The resources (execution units, queues, etc.) are partitioned x amount for thread 1 and x amount for thread 2. The designs are really very different, depending on the use, sometimes dual core is better, sometimes SMT is better. AMD's planning on bring out Dual Core SMT where each core will have 2 threads running through it for a total of 4 thread running simultaneous. If you want more information about this "throughput computing" google for Sun's Niagara chip.
they don't offer much of any performance benefit in most apps (particularly games)
Ah, rejoice irresponsible youth! Right now a $25,000 8 CPU machine that can no longer keep up with a decent sized corporate database needs to be replaced with a $60,000 16-CPU machine. After dual core hits the market, it can be upgraded for the price of 8 new dual-core CPUs and a BIOS flash. Less money for hardware == more money for bonuses... W00T! W00T!
meaning they don't offer much of any performance benefit in most apps (particularly games). They draw more power, they run at higher temperatures, etc.
from TFA:
For example, a processor with dual 2.0-GHz cores can deliver performance not all that different from a single-core 3.5-GHz part. More important, such a dual-core part will hold down power dissipation to a figure closer to that of a standalone 2.0-GHz CPU, allowing processing throughput to effectively double for not much more power.
and
At such speeds, single-CPU processors can often dissipate more than 150 W.
The dual-core Athlon 64 runs at a clock-speed of 2.4 GHz and has a maximum power dissipation of 100 W.
hack a day
i dont know about amd's pricing but i did see intels a while back. as i recall the dual 2.8 was $241, dual 3.0 something like $300 and the dual 3.2 something like $400
Typically 517 of those threads are asleep waiting for IO or a signal, and the one piece of information that you are currently waiting for is being processed in the single remaining active thread.
It's simple. Everyone knows that you can scale better in heavly multithreaded envorement by adding more CPU's instead of increasing speed of single CPU - it consumes less time on each CPU spent for managing tasks and context switches than on single, since each cpu has to work with smaller amount of threads.
:P).
And since currently even a desktop computer starts to approach point where there are hundreds of threads running (check in task manager or top) - this makes quite a lot of sense.
Also, a lot of people mistakenly believes that Hyperthreading in their intel CPU's brings similar benefits as SMP. No, it is just a nifty trick to keep the long p4 pipeline filled with as much data as it can. But multicore chips are in fact two CPU's in the same casing. (think - real hyperthreading
Also there is the issue of simplified motherboard design (less traces for the same amount of cores), reduced packaging costs and higher computing density. All three being quite considerable points. As they say - computing today is all about integration. And multicore CPU's are one of the answers to allow simpler integration and allow greater flexibility (same costs to produce MB that supports single or multicore cpu. But the performance benefits - quite significant).
You can use an affinity tool to put your process on a single processor alone, and everything else on the other. This all but eliminates context switches in your program's context, while all other processes can continue to run on the other core(s). The only thing that consumes a lot of CPU that is not typically multithreaded is game software. Eventually, this too will be multithreaded, as we see more multi-core systems out there.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
No-one's forcing you to upgrade at all. Stop believing the hype!
The power increase between a single core processor and dual core processor is probably less than you think: I would not be surprised if it is in the 20% range on average.
Simply running the clock (and not performing any operations) on most processors will draw ~60-70% of the parts max power, which suggests that the loading on the part determines how much of that extra 30-40% is being dissipated.
Working under this assumption, worst case, a dual core processor would draw 40% more power than a single core processor, while effectively doubling your maximum throughput.
As for cost, I would be surprised if these processors debuted at more than 50% more than their single core cousins, and the prices would probably drop fairly rapidly
Now, also, how many OSs (and applications) are prepared for dual-core support? Are there any available systems that are stable and do that?
Microsoft Windows 2000 and XP support 2.
Apple OSX supports 2.
FreeBSD support 4 (or more?). NetBSD supports 2 (or more?). OpenBSD is working on it (last I knew).
Linux 2.4.x and 2.6.x support 2+.
Sun Solaris has support 2+ for as long as I know.
AIX, HPUX, SCO Unix and all those support 2+.
Did I miss any?
Almost all OSes for the last several years have supported multiple processors natively. At worst these OSes would need a patch to update their SMP awareness.
Applications on the other hand, well they've been slower to change to a multithreaded moddel. Many server grade programs are ready. Most common desktop programs are not.
I have used a dual Athlon MP system for a long time now. The biggest difference I can tell you between dual 1.6GHz and single 3.2Ghz is that one process can not take over the processor. Even with modern preemption I can tell the difference when I have a second CPU processing my clicks and keystrokes. All I can say is "try one for a while, you'll get hooked".
FreeBSD: The Power to Serve!
I trust you are aware that you could have gone dual AMD? And that in many cases HT actually results in poorer performance?
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
The main problem with this is that the processors share a clock tree and arbitration logic - if the clock multiplier is contained in the arbitration logic, then having one core at one speed and another at a different speed would be impossible.
If the clock multiplier is contained separately in each core, it would be possible - however, having different clock ratios on each core would considerably complicate the arbitration logic, since it would have to deal with different setup and hold timings when sending data to one core vs. the other - this would probably greatly increase your chances of inducing a processor error.
Trying to do this could also require a great deal more design difference between the two cores, which might cause many problems. It also would make it much more difficult to sell single core versions of dual core chips (i.e. one core fails, the other core is good - blow a few fuses to get the chip to look like a single core chip, and sell at as a single core)
According to AMD, no. IIRC they said recently that dual core Opterons will be inline, price wise, with the top end Opterons currently available, while offering much improved performance.
You can't win Darth. If you mod me down, I shall become more powerful than you could possibly imagine
You can't really take TFA seriously, since it's InformationWeek, and not a reputable source. Just look at your first quote. There are plenty of 2.0Ghz single core chips out there that can deliver beter performance than a 3.5Ghz P4...
When they talk about single core chips using 150 watts, they're talking about intel chips (almost certainly the Itanium). 100 Watts for a dual core 2.4 Ghz Opteron is a 60% increase in power usage over the single core version.
Of course the parent to your post is just plain wrong about not offering a performance benefit for most apps. Now that developers are starting to try and use Hyperthreading to their advantage, those apps will see some serious benefit from multi-core chips; benefit that users could only wish for with a P4HT.
>Money would be better spent on RAID, rather than dual core or dual processor.
You're right about that.
Unlike CPUs which become worthless in less than 2 years, RAID h/w last a bit longer.
Some five years ago I bought an Ultra2Wide SCSI 320 card and a (at the time big) 8GB HDD - I paid $400 for the card and $250 for the HDD.
I still use the card - I haven't checked but it should be as fast as SATA II I guess - and the SCSI disk works too (although it's quite useless - I use it as dedicated swap disk).
In the meantime I went thru 3-4 generations of motherboards and CPUs (consecutive 100% wipeouts) and my RAID stuff still rocks...
By year's end I'll go not for a dual core CPU system but for what's today top of the line nForce4 system. Screw the hype.
Money would be better spent on RAID, rather than dual core or dual processor.
S ingleDriveVsRaid0 has this to say:
:)
Actually RAID doesn't noticeably speed most things up in a desktop environment in my experience.
http://faq.storagereview.com/tiki-index.php?page=
Dont assume RAID 0 offers increased performance for all or even most applications... and dont assume that transfer rates reflect application-level performance.
Perhaps the money is better spent on more RAM?
If XP works the same way 2000 did, when you upgrade to a dual-core from a single-core, you will have to reinstall the OS for the second core to be activated.
2000 had two entirely separate sets of system files, one each for uni- and multi-processor. Even if you added a second CPU, if you didn't have the multiproc HAL to begin with, it simply wouldn't work.
Because XP is just 2000 with a facelift, I suspect this won't have changed. You are correct that if your initial install was on a P4, which 'looks like' two physical processors, XP would have installed its multi-cpu core.
If, however, you are installing a dual-core Athlon in, chances are quite high that you didn't do your initial install on a P4. So you won't have the multiproc system files, and you'll probably have to reinstall to get the second proc going. (A 'repair' installation may be adequate, and would be much less painful.)
Linux works somewhat similarly, but fortunately you can replace just the kernel, rather than the entire OS.
Actually, HT is not "simultaneous multithreading". Intel added extra hardware registers, etc, to make switching threads faster. HT still is a single threaded processor.
But what's the processor utilization? On most systems, its usually less than 10 percent.
;-) there are many applications that are processor, not data, intensive. Also, in the case of servers that run multiple services, if one of your services has a problem and pegs out a CPU, your site is not completely crippled, and it is also much easier to remotely connect to the server to fix it. Ever try fixing a machine with one CPU that is completely pegged out due to one broken app?
Regardless of the fact that you pulled that number out of your ass
Ironically, the word ironically is often used incorrectly.
SMP ready cpu's weren't always more expensive than there UP breatheren. The CPU's are almost exactly the same, but the manufacturers just disable the SMP ability and sell them for more.
"brxref
Good question. If you look at the recent history of CPU design (say, for the past 20 years), you see that the primary concern of architects have changed with the technology over time. In the 80's any design you came up with was limited by how many transistors you could squeeze onto a chip, and so everyone was worried about transistor count. By the 90's the transistors became abundant and small enough that a lack of transistors was no longer a primary concern of designers --- instead, they were much more concerned with the wires: how to pack them in and route the nicely, and how long it took for signals to get from one place to another.
These days, wires are abundant, transistors are abundant, and the main concern is power. Why?
a) GHz == Power. If you increase the clock rate, you increase the power drawn. So every time you want to make the machine "faster", you need to feed it more power.
b) More logic == more power. If you want to make the chip more complex or have more cache, it will need more power. But at the moment, it is cheaper (in terms of power) to add more logic than to add more GHz.
So why is power a problem? How much is too much? First, let's talk about total power: the total amount of electricity you have to feed into the chip to keep it running. This changes depending on how you utilize the chip, but designers have to design for the worst case.
There are two problems with total power: how do you get the electricity into the chip, and how do you get the heat it produces off of the chip. My understanding is that both problems are hard, but the heat one is currently harder. If you put too much power in, you need to get the heat out. More power == more heat. More heat == more expensive cooling solution. For example, if you had a low power chip you could get away with a simple and cheap heat sink. As it draws more power you have to add expensive (and noisy!) fans. Add more power, and you might eventually have to add a liquid cooling system, air conditioning unit, and a bunch of plumbing. Add more power, and perhaps you have to hire a team of workers to constantly feed dry ice into your machine, or some other creative cooling solution. So the fundamental problem is that once your chip draws enough power keeping it cool becomes too expensive. Right now it looks like 100 to 150W is the max power which can be kept cool by fan systems which are cheap and quiet enough that people will actually buy them. Nobody wants to buy a computer with plumbing for their home or office, liquid cooled machines are still only used for special business applications where they have little other choice.
Now total power is not the only problem. There is also localized power. Think "will a portion of my chip melt into a pool of molten silicon since I can't cool it off fast enough"? There is a nice story of how one of the first Alpha CPU prototypes cracked in half due to having too much power running up the middle of the chip... It turns out that this localized heat is a major limitation these days, and is a primary reason why Intel won't sell you a 5GHz chip. They don't know how to avoid this problem in a reasonable way. So, instead, they are going to improve performance by adding cores.
If you have one core, you have one central location in the chip that is constantly working hard, and so it is generating a lot of heat. Getting the heat away from that tiny point is hard. If you build a chip with two cores, then you divide the work over two points, and so each point generates half of the heat. Keeping that cool is much easier. With four cores....etc.
A research paper at last year's ASPLOS suggested that a good way to work this problem is to have a program run on one core until it gets too hot, then move execution to the next core, and repeat. This way you always have one core doing work, and the others are cooling off. We may end up having to do this.
Where's the surprise in this? They havn't pulled any amazing numbers out of their hat, 55w is roughly %70 more power than a single core Winchester. The other %30 is probably accounted for by a new more efficient core revision. The .09 micron Athlon 64 Winchester parts already sip power AT FULL LOAD (27w for 3000, 30w for 3200+, ~33w for 3500+).
The design spec for the Winchester core says 63w TDP, but that's just so designers can eventually drop in a 2.4-2.6GHz+ Winchester core. These higher frequencies will most likely require higher voltage, and thus have substantially higher power consumption than the 3000-3500 Winchesters.
Or perhaps you could just, say, drop in a 2.2GHz dual core. So many wonderful options...
Man is the animal that laughs.
And occasionally whores for Karma.
You assume everything can be trivially multithreaded. That's utterly wrong.
First of all, multithreading is not always done for performance. Sometimes it makes the code easier to write. It's nice to be able to compartmentalize tasks into threads and control them with a boss.
Second, in the field of parallel programming there is a term called "embarrassingly parallel." This means that it's obvious how to multithread the task, in such a way that you get maximum benefit from each CPU. However, real-world tasks are rarely "embarassingly parallel." It's absolutely unfair to call the application designer a "failure" because the application can't be effectively multithreaded. Most things can't be.
There are many real-world super parallel applications (the kinds of things that run on 10,000 CPU clusters) that have properties like, to double the execution speed you must have 8 times the number of CPUs. This doesn't mean the application designer is an idiot, it means the problem is hard.
It's easy for people who've never done parallel programming to run their mouth off, however.
More specifically, the chips cost $1,299 when they were first released.
Many people seem to forget that this was not considered abnormally expensive for a processor not all that long ago.
Also from a single app standpoint you may not see a significant increase in speed. But when running several apps like most desktops do nowadays, you should see a good increase.
Um, the PPro came into production use in ~1995, so no more than 10 years.
2000 had two entirely separate sets of system files, one each for uni- and multi-processor. Even if you added a second CPU, if you didn't have the multiproc HAL to begin with, it simply wouldn't work.
Fortunately, this is incorrect. As described in Microsoft's knowledge base, a HAL change is all that is required to take advantage of the second processor. Windows NT 4.0, 2000, XP, and 2003 all are capable of this, although NT needed a utility uptomp.exe to accomplish this feat.
It is very common to have to do this on dual-processor capable servers when installing a second processor.
"2.6GHz Athlon FX57 with 1MB cache. The latter has a 95W power draw already, but it is 130nm"
There is no Athlon 64 FX-57. The fastest available Athlon 64 is the Athlon 64 FX-55, at 2.6GHz / 1M / 130nm.
All 130nm Athlon 64 CPUs, excluding notebook parts, have a Vcore of 1.5v and thermal design power of 89W. Measurements of the Athlon 64 FX-55 actually place it at around 70-80W.
All current Opteron processors (excluding the HE and EE variants) have Vcore of 1.5V and TDP of 89W as well.
Winchester-based (90nm) Athlon 64 cpus have Vcore of 1.4V and TDP of 63W. As with earlier K8-based CPUs, the TDP is for the entire line, regardless of clock. Low-end parts consume substantially less power than indicated by the TDP.
Intel, on the other hand, understates their TDP. Their TDP is meant to reflect "typical" usage patterns. Actual P4 Prescott CPUs have been measured to draw as much as 130W - 150W when under heavy load. Intel is relying on the thermal protection built into the CPU to slow down the system if necessary and prevent overheating.