CANCELED: Automatically Reducing Energy Consumption, Improving Performance, and Tolerating Failures With Good Quality of Service
(NOTE: We will reschedule this talk for the Spring)
Reducing energy consumption, improving performance, and tolerating failures are important goals in modern computing systems. Loop perforation finds the most time-consuming loops, then transforms the loops to execute fewer iterations. Our results show that this technique can reduce the computational resources required to execute the application by a factor of two to three (enabling corresponding improvements in energy consumption, performance, and fault tolerance) while delivering good quality of service.
Because traditional program transformations operate in the absence of any specification of acceptable program behavior, the transformed program must produce the identical result as the original program. In contrast, loop perforation exploits the availability of quality of service specifications to apply much more aggressive transformations that may change the result that the program produces (as long as the result satisfies the specified quality of service requirements). The success of this two technique demonstrates the advantages of this approach.