A recent paper by Jim Gray and Gordon Bell who are at Microsoft Research reminded me once again that as computers age, moving data is getting to be more expensive than computation. When I started with computers no microprocessor had a multiply instruction because that was too expensive to build into an IC with a few thousand gates. Moving data from memory to registers and vice versa was cheap. Register to register was ultra cheap; memory to memory was not usually available because of instruction set limitations. Now, however, with tens of millions of gates in a run-of-the-mill processor, the computation instructions are no big deal and it is the data transfer instructions that are becoming relatively expensive. Caching, though, eases the problem somewhat.
That change reflects itself at various scales. Within a PC the video card, network interface and the processor have sufficient processing capability but the bus that connects them together is turning out to be a bottleneck. One level higher and similar situation: PC's have sufficient processing power for most people but dialup speed (or network speed for those of us who are fortunate to have cable or ADSL) is a limitation.
The above-mentioned paper shows how that will enter the realm of supercomputers as well.
1:42:21 PM
|