Test represents an energy tax we can no longer afford to pay, said Bill Dally, Bell Professor of Engineering at Stanford University and chief scientist at NVIDIA. He made the remarks while delivering a keynote speech last week at the International Test Conference in Anaheim.
During the address, titles “Power, Programmability, and Granularity: the Challenge of ExaScale Computing,” Dally acknowledged that he is not a test person but fundamentally computer architect. He spend much of the address telling his audience that computer architecture undergoing sea change as architects attempt to realize an exascale computer by the end of the decade.
Dally acknowledged the contribution of Moore’s law to increasing computer capability, but he noted that Moore’s law addresses the number of devices that can fit within a given area—it says nothing about the compute power architects can extract from those devices. In fact, he said, improvements in compute power have resulted from techniques like deeper pipelining, and that although device size continues to scale, voltage no longer does, with supply voltages remaining at 1 V. “We need to focus on efficiency,” he said, meaning performance per watt. Traditionally, he said, process engineers could cut the gate length in half, cut the voltage in half, and so on, with switching speed doubling since the electrons have half as far to travel. With voltage holding constant, however, cutting gate length in half affords only 2x the capability for the same power in one-quarter the area, not the traditional 8x scaling. Consequently, he said, “We can’t afford to be sloppy…. We need to find a way to dissipate less power.”
One way of doing that, he said, is to recognize the high cost of data movement, and to realize that fetching operands can cost more than computing on them. “Efficiency comes from locality, he said, adding that most energy is not dissipated in charging and discharging gates but in charging and discharging wires. “We need to move data less distance, and the gates need to be doing something useful,” not handling processing overhead, such as expending 2 nJ to schedule a 25-pJ operation. He added, “We need to rethink algorithms for different measures of complexity, and we need programming systems that map to an architecture to minimize further communication.”
As for programming, he said the obstacles are of two types: fundamental (expressing billion-way parallelism, for example) and incidental (ones of our own making, like dealing with multiple address spaces). Fundamental problems are hard enough, he said, adding, “We need to eliminate incidental ones”—for example, don’t have multiple address spaces.
Architects face two challenges, he said: power and programmability. Much of our economy, he said, depends on meeting those challenges. Advances in many fields come from computing, he emphasized, noting that a typical car contains 50 processors. GM, he said, still needs a few mechanical engineers to bend metal and build engines, but the company primarily wants to hire software engineers because the user experience is largely determined by software. Similarly, he said, Boeing wants to hire software engineers, and software engineers need compute-power headroom to add desired features.
He then summarized the problem of test, which will become a continuous process in exabyte computers, with self-test capabilities having to detect, isolate, and mask hard failures every few seconds to provide a mean-time to application interrupt on the order of weeks.
He then cited the increasing energy tax of techniques like full scan and suggested a move toward partial scan and functional test to reduce this tax. He noted that test can be labor intensive, and tools for efficient test are lacking.
He concluded by calling for improved education. “We are training serial programmers and serial thinkers, he said, adding, “We need parallel programmers—not ones who can program c. 1990 machines.”
(Originally posted September 26 at http://rickeditor.blogspot.com/.)