|
|
|

More and more high-end features are currently finding their way to ordinary desktop computers. This includes parallelism for most parts of the system, including multiple processors like you find in Apple’s G5 machines.
However, the processors themselves have started to multiply, in that they contain multiple execution units like Intel’s HyperThreaded Pentium 4s and Xeons — and now the idea is to squeeze in two or more complete processor cores into a single physical chip package.
Dual-core processors were probably the hottest item at Intel’s Developers Forum recently with codenames for future processors like Montecito, Tulsa, Montvale and so on raining thick and fast.
While the 64-bit Montecito Itanium with its 1.7 billion transistors and 24MB cache isn’t likely to end up in the sort of boxes you and I will have, Intel intends to add dual cores to the 32-bit Pentium 4 processors. These will have HyperThreading as well, so the CPUs should be able to handle four threads at the same time. Availability is anyone’s guess, but the money’s on dual-core Pentium 4s coming out in a year’s time, in both desktop and mobile configurations, perhaps in 65nm process technology.
In the multiprocessor area, however, the chip giant is playing catch-up with other makers. Despite long being an advocate of parallel computing (remember the i960?) and having hired staff from DEC’s defunct Alpha CPU division, Intel has been upstaged on the dual-core front by its competitors.
Intel’s biggest competitor, AMD, had the Opteron/Athlon64 architecture ready for dual-core right from the start, with a system request interface and interrupt controller designed for that purpose. All AMD needed to do was drop in a second core with its own 1MB L2 cache. Also, the Athlon 64 benefits from the fast HyperTransport bus and integrated memory controller, which give low-latency access to system resources for both cores. At first, the 90nm dual-core Opterons will go into servers and workstations in mid-2005. Expect AMD to release dual-core variants of the mass-market Athlon 64 processors towards the end of next year as well.
In 2005, IBM hopes to launch the PowerPC970MP, a dual-core CPU made with Silicon-On-Insulator (SOI) technology. The PowerPC970MP is said to launch at 3GHz with a 1GHz front side bus, and each core gets 1MB of Level 2 cache. It looks like the PPC970MP can be used to build dual processor systems, which may mean we’ll see four-way Apple PowerMacs and Xservers next year.
Although Sun Microsystems has formed an alliance with AMD to use its Opterons in its range of x86-based servers, the company’s got silicon of what looks like a truly impressive processor, the UltraSPARC “Project Niagara”. Sun CEO Jonathan Schwartz posted pictures of the Niagara CPU, stating that it will have no fewer than eight cores that can process four threads each, making it a 32-way computer on a chip. Schwartz says the new UltraSPARC is designed for “internet workloads” as the public network represents “one massive multithreaded application”. Maybe but, more importantly, the chip has actually booted Solaris already and is likely to be released in 2006.
Having more core in the CPU doesn’t automatically make it blindingly fast, however. Chip and system designers need to work on eliminating resource contention between the processors; this is something that can hurt performance of processors with multiple execution units like Intel’s HyperThreaded Pentium 4s, or even standard SMP boxes where the CPUs fight for access to system memory.
Implementing dual-core designs may force Intel to add an integrated memory controller on processors, as AMD has done already. Currently, Intel is reluctant to do so because changing memory type/speed would require a redesign of the controller on the CPU rather than on the motherboard. However, integrated controllers have some compelling advantages in terms of low latency and high bandwidth, so Intel may not have a choice.
What’s the pay-off for customers then, especially for people using light-to-moderately CPU-intensive applications? The key benefit of multicore is it delivers a tangible performance boost without having to crank up the clock frequency to stratospheric levels. Lower clocks mean less power consumption and heat, important considerations as it enables systems integrators to build high-performance computers without resorting to exotic and expensive cooling solutions.
Of course, operating systems and applications need to be multithreaded (able to run several tasks in parallel) to make the most of multiple cores. However, executing parallelised code in an orderly fashion isn’t easy and presents a real challenge to compiler vendors and programmers, so the change is likely to be slow.