contributed articles

Doi: 10.1145/1506409.1506425

Multicore computers shift the burden of
software performance from chip designers and
processor architects to software developers.

BY James LaRus
spending
moore’s
Dividend
over the pASt

three decades, regular, predictable
improvements in computers have been the norm,
progress attributable to Moore’s Law, the steady
40%-per-year increase in the number of transistors
per chip unit area.
The Intel 8086, introduced in 1978, contained 29,000
transistors and ran at 5MHz. The Intel Core 2 Duo,
introduced in 2006, contained 291 million transistors
and ran at 2.93GHz. 9 During those 28 years, the number
of transistors increased by 10,034 times and clock
speed 586 times. This hardware evolution made all
kinds of software run much faster. The Intel Pentium
processor, introduced in 1995, achieved a SPECint95
benchmark score of 2. 9, while the Intel Core 2 Duo
achieved a SPECint2000 benchmark score of 3108.0, a
375-times increase in performance in 11 years.
a

 

a Benchmarks from the 8080 era look trivial today and say little about modern processor performance. A realistic comparison over the decades requires a better starting point than the 8080. Moreover, the revision of the SPEC benchmarks every few years frustrates direct comparison. This comparison normalizes using the Dell Precision WorkStation 420 (800MHz PIII) that produced 364 SPECint2000 and 38. 9 SPECint95, a ratio of 9. 4.

These decades are also when the personal computer and packaged software industries were born and matured. Software development was facilitated by the comforting knowledge that every processor generation would run much faster than its predecessor. This assurance led to the cycle of innovation outlined in Figure 1. Faster processors enabled software vendors to add new features and functionality to software that in turn demanded larger development teams. The challenges of constructing increasingly complex software increased demand for higher-level programming languages and libraries. Their higher level of abstraction contributed to slower code and, in conjunction with larger and more complex programs, drove demand for faster processors and closed the cycle.

This era of steady growth of single-processor performance is over, however, and the industry has embarked on a historic transition from sequential to parallel computation. The introduction of mainstream parallel (multicore) processors in 2004 marked the end of a remarkable 30-year period during which sequential computer performance increased 40%–50% per year. 4 It ended when practical limits on power dissipation stopped the continual increases in clock speed, and a lack of exploitable instruction-level parallelism diminished the value of complex processor architectures.

Fortunately, Moore’s Law has not been repealed. Semiconductor technology still doubles the number of transistors on a chip every two years. 7 However, this flood of transistors is now used to increase the number of independent processors on a chip, rather than to make an individual processor run faster.

The challenge the computing industry faces today is how to make parallel computing the mainstream method for improving software performance. Here, I look at this problem by asking how software consumed previous

advanced micro Devices multiple 45nm quad core die based on the opteron processor, codenamed “shanghai” ( www.amd.com/)

PHotograPH Courtesy oF aMd

References:

http://www.amd.com/

Archives