|
Compiler-Directed
Energy Management for Time-sensitive Embedded Applications |
|
Problem |
|
In
this work, we present a novel hybrid scheme that uses dynamic voltage scaling
to adjust the performance of embedded applications to reduce energy
consumption while also meeting time constraints. Our fine-grained approach
uses the compiler to insert power management hints in the application code.
These hints convey path-specific run-time information about the program’s
progress to power management points invoked by the operating system that
adjust processor performance. |
|
Methodology |
|
Step 1: Collect Timing Information Methodology: Divide the control flow graph (CFG) into regions. A region is the aggregation of one or more basic block. The region segmentation reduces the size of profiled information (compared to profiling on the BB level) and improves the worst-case estimation precision. Step 2: Set Interrupt Interval Methodology: Use the theoretical solution presented in [2] to get the optimal program segment size in cycles. The segment size represents the interrupt interval length. Step 3: Insert PMH in application’s code Methodology: Use a PMH algorithm that traverses an application CFG, covering all the paths. The algorithm uses a cycle counter that get incremented by the worst-case cycles of each traversed region in the CFG. A hint is inserted before the cycle exceeds the interrupt interval length. Step 4: Compute Worst Case Remaining Cycles Methodology: the compiler inserts in the application the code necessary for computing run-time evaluated hints. Run-time computed hints are placed 1. Inside loops – because the WCR inside the loop is dependent on the loop iteration counter. 2. At procedure calls – because the WCR for a procedure instance is dependent on the execution path, this specific procedure instance is called from.
|
|
Results |
|
The results presented below show a reduction of the energy consumption up to 56% and 47% over the no power management and static power management respectively for the Transmeta Crusoe processor model. The results also show a reduction up to 79% and 50% over the no power management and static power management respectively for the Intel XScale processor model. Automatic Target Recognition application: · ATR results (Transmeta and XScale) MPEG2 video decoder: MELP audio encoder: (Graphs will be posted soon) |
|
Publications |
|
[1]
N. AbouGhazaleh , B. Childers, D. Mossé, R. Melhem, M.
Craven. “Collaborative Compiler-OS Power Management
for Time-Sensitive Applications”. Technical Report TR-02-103, 2002. |