Anticiparallelism
Computerworld -
Microsoft Corp. researcher Eric Horvitz says he's trying to figure out "what a computer should worry about when its thumbs are twiddling." Computers spend a huge amount of time twiddling their digital digits, wasting computational resources, he says.
Computers shouldn't be surprised by requests, especially from regular users, says Horvitz. For example, a PC running a network application could, while temporarily idle, prefetch and cache content from the Internet that a user may need later. Horvitz calls this "continual computing," in which computers stay busy by anticipating users' wishes.
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."
Metcalfe argues for new control structures in languages that make it easier for programmers to enable anticiparallelism. "We need constructs that would let you say, 'Here's a bunch of things that need doing, and here's an expression of their priority,' " he says.
Some elements of continual computing are embodied in IBM's Autonomic Computing initiative, which aims to make systems self-managing. IBM is developing software that can reconfigure itself while constantly striving to optimize its own performance. "It will monitor its constituent parts and fine-tune workflow to achieve predetermined system goals," according to IBM.
In Horvitz's model, continual computation requires the computer to examine possible actions and execute those with the highest "expected value." Expected value is calculated by multiplying the probability that the user will want to take a path by the value of having it done in advance. The greater the delay avoided, the greater the value.
Many applications could take advantage of continual computation, Horvitz says. "Imagine if [Microsoft] Outlook maintained a set of probabilities based on you as the user - what you tend to do with e-mail messages, how you tend to view them, how you go back to them," he explains. Delays would be minimized because Outlook would perform many tasks before being asked, Horvitz claims.
"And Microsoft Project could
Networking
Additional Resources



Learn the important issues you must consider before starting your next mobility initiative. Get your mobility white paper from IDC now, compliments of Sybase.
White Papers & Webcasts
Southern Company
Download Now
Aligning IT to Business: The Rising Importance of Application Delivery Networks
Application Delivery Networking (ADN) will play a vital role in helping enterprises incorporate strategic technologies to achieve business initiatives.
Defending Against the Storm
Download Now
Mitigate Risk, Lower Costs and Improve Network Efficiency
Create a stable IP network that not only meets today's challenges, but is flexible enough to also meet future demands.
Share our Strength
Download Now
Preparing Your Business Services for the Future
Would you trust your network monitoring tools enough to know when something is truly halting a business service?
IPAM: Slashing Network Costs
Slashing Network Costs by Consolidating and Automating Core Network Services
Essential Archive Requirements for E-Discovery
Register Now!
Horror stories: Managing IT Across Multiple Locations
How one extra sharp IT manager eliminates daily agony, hassle and repetition.
