Wednesday, January 09, 2002
“… oh, and my fan unit is marginal so I've taken the liberty of ordering a new one … ”
Ethernet inventor Bob Metcalfe estimates that more than 99% of the world's computer capacity is wasted. He points out that modern microprocessors, such as Intel Corp.'s Itanium, engage in speculative execution—in which some values are computed or retrieved before they are needed—while doing other work. He says that principle should be moved to higher levels, to the operating system and to application software.
“What's done at the hardware level is really minuscule compared to what could be done,” says Metcalfe, a partner at Polaris Venture Partners in Waltham, Mass. “This is a very old, deep idea that needs to be pursued much further than it has.” He calls the idea “anticiparallelism.”
Well yes, most computers spend 99% of their time waiting for something to act upon, usually the much slower and totally unpredictable user. It's an intriguing idea, but I'm not giving much hope over the software end of things—programmers are already adding too many features not really used or needed, or are incorrectly assuming which areas of the code need improvement (optimization) and wasting time there. What programmers think the users want are rarely the things the users want, who come up with their own ideas of what they want (gasp!).
But hardware is another story.
Several years ago I worked at a company that wrote a package that ran on a large number of platforms, from desktop units to mainframes and in a backroom they had a Stratus mainframe they were loaned to test their software on. One day a fan unit shows up at the office for the Stratus computer. No one there had any idea who might have ordered the unit and when Stratus was called, the office was informed that the computer had ordered the fan unit, as the one currently installed was going marginal and needed replacement.
Now I find that cool! Okay, so I would want my computer to ask permission before buying itself more memory (especially if it's going to be using my bank card!) but still, that's a good use of anticiparallelism. Having it fetch every article from Slashdot is not. Especially if it retrieves comments at a level of -1.