A long time back, we reported on Intel's shift towards a multi-core future, driven essentially by its inability to make chips that went faster without threatening to burn holes through the motherboard and melt surrounding components without requiring overly expensive cooling systems.
A multi-core processor simply means there are two or more processors in one chip. It's not a new idea, of course, with IBM and Sun both already offering systems housing dual-core Power5 and UltraSPARC chips respectively. With cooling posing a barrier to raising clock speeds, adding features such as hyper-threading, virtualisation and especially multi-core has become a key plank in the future direction for processor design. Intel's plan is that by the end of this year, all its CPUs will feature two cores.
True to form, AMD has followed suit and has, over the last 18 months or so, managed to trump Intel, coming out with the first 64-bit computing platform and the first multi-core chip. It also trumpets the idea that having two cores means a faster computer, while, incidentally, reports suggest that its dual core Opterons perform much better than expensive dual core Xeons.
It may take years before multi-core designs become pervasive but, according to Microprocessor Report analyst Tom Halfhill, the fact that they typically are designed to run at lower frequencies that burn less power than the latest single-core processors eventually will make data centre servers denser than today's single-core systems.
"The whole idea of having two cores on one chip is that they are more efficient. For the same amount of square footage, you can have more processing power crammed in," says Halfhill.
And one big potential barrier to the adoption of multi-core chips has largely been overcome with the agreement of most software houses to license their products on a per-chip rather than a per-core basis, reducing the cost of enterprise implementation significantly.
But there's a bit of a hitch. A key selling point for the new multi-core chips is that they boost performance. But it ain't necessarily so, as it depends what software you're running.
HP's recent launch of dual-core Pentium workstations brought with it a blizzard of press release material claiming a "significant performance boost to multi-threaded applications for CAD/CAE design and analysis and DCC rendering software with multiple applications running at the same time. Customers may expect up to 20 percent performance gains in these application environments with the dual core processor."
Applications designed from the ground up to be multi-threaded and running on a multi-user, multi-threaded OS are likely to gain most. The problem for chip makers is that the early adopters of new technology such as this are usually either very desperate enterprises, or gamers. While the latter group are happy to jump in with both feet if it means a few more polygons per second, it will gain them little, since games are almost all single-threaded. The rest of us are likely to wait until the bugs have been shaken out.
But not even the acquisition of an OS and supporting software will necessarily make today's dual core machines run as fast as a leading edge single core. Intel's first dual-core Pentium, the Pentium D was launched last week and runs at a slower clock speed than the fastest single-core chips. What's more, its memory bandwidth is slower, according to benchmarks, which is caused by concurrent accesses by the two cores. Luckily, in the real world this has little noticeable effect.
Choose your applications carefully and the difference can be marked. Server applications in particular should benefit from multi-core processors, as many have been developed from the ground up with multi-processor platforms in mind. However (again), it is hard to predict what benefits are likely to be conferred by a multi-processor system without trials in situ, using the OS of your choice.
And OS support is said by many to be better in inherently multi-user systems that are designed to be accessed by a number of processes and people. As one commentator put it, Unix people expect a machine with two processors to do twice the work, Windows people expect it go twice as fast -- not quite the same thing. Windows too was not originally designed to be multi-user -- though how much this matters now is debateable.
What is clear is that, until the dust settles, promises of huge performance improvements from the adoption of multi-core processors need to be treated as what they are: marketing.