2002 Design, Automation and Test in Europe Conference and Exhibition (DATE'02)
Profile-Based Dynamic Voltage Scheduling Using Program Checkpoints
Paris, France
March 04-March 08
ISBN: 0-7695-1471-5
Dynamic voltage scaling (DVS) is a known effective mechanism for reducing CPU energy consumption without significant performance degradation. While a lot of work has been done on inter-task scheduling algorithms to implement DVS under operating system control, new research challenges exist in intra-task DVS techniques under software and compiler control. In this paper we introduce a novel intra-task DVS technique under compiler control using program checkpoints. Checkpoints are generated at compile time and indicate places in the code where the processor speed and voltage should be re-calculated. Check-points also carry user-defined time constraints. Our technique handles multiple intra-task performance deadlines and modulates power consumption according to a run-time power budget. We experimented with two heuristics for adjusting the clock frequency and voltage. For the particular benchmark studied, one heuristic yielded 63% more energy savings than the other. With the best of the heuristics we designed, our technique resulted in 82% energy savings over the execution of the program without employing DVS.
Citation:
A. Azevedo, I. Issenin, R. Cornea, R. Gupta, N. Dutt, A. Veidenbaum, A. Nicolau, "Profile-Based Dynamic Voltage Scheduling Using Program Checkpoints," date, pp.0168, 2002 Design, Automation and Test in Europe Conference and Exhibition (DATE'02), 2002