Lecture 7: Duty cycling
MO801/MC972 – Energy-Aware Computing Lucas Wanner – IC/Unicamp lucas@ic.unicamp.br www.lucaswanner.com/eac
Lecture 7: Duty cycling MO801/MC972 Energy-Aware Computing Lucas - - PowerPoint PPT Presentation
Lecture 7: Duty cycling MO801/MC972 Energy-Aware Computing Lucas Wanner IC/Unicamp lucas@ic.unicamp.br www.lucaswanner.com/eac Agenda Revision: variability and dark silicon Duty cycling Concept and basic formulation
MO801/MC972 – Energy-Aware Computing Lucas Wanner – IC/Unicamp lucas@ic.unicamp.br www.lucaswanner.com/eac
Lucas Wanner – IC/Unicamp Energy-Aware Computing 2
Lucas Wanner – IC/Unicamp Energy-Aware Computing 3
Lucas Wanner – IC/Unicamp Energy-Aware Computing 4
performance, power).
CPUs
Source: McCullough, UCSD Adapted from Gupta, Variability Expedition
Lucas Wanner – IC/Unicamp Energy-Aware Computing 5
Adapted from Taylor, UCSD
Lucas Wanner – IC/Unicamp Energy-Aware Computing 6
Transistor property Dennard Post-Dennard D Quantity S2 S2 D Frequency S S D Capacitance 1/S 1/S V 2
DD
1=S2 1 ) D Power ¼ D QFCV 2 1 S2 ) D Utilization ¼ 1/Power 1 1=S2
Lucas Wanner – IC/Unicamp Energy-Aware Computing 7
Lucas Wanner – IC/Unicamp Energy-Aware Computing 8
sleep active c p
Lucas Wanner – IC/Unicamp Energy-Aware Computing 9
Active Power (PA) Sleep Power (PS) Lifetime (L) Energy (E)
Lucas Wanner – IC/Unicamp Energy-Aware Computing 10
Lucas Wanner – IC/Unicamp Energy-Aware Computing 11
Lucas Wanner – IC/Unicamp Energy-Aware Computing 12
Lucas Wanner – IC/Unicamp Energy-Aware Computing 13
Datasheet: Active Power Sleep Power
Lucas Wanner – IC/Unicamp Energy-Aware Computing 14
Lucas Wanner – IC/Unicamp Energy-Aware Computing 15
25 50 75 100 125 150 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 Sleep Power (μW) Processor Instance Measured Datasheet
Lucas Wanner – IC/Unicamp Energy-Aware Computing 16
PS
Lucas Wanner – IC/Unicamp Energy-Aware Computing 17
Active Mode: 48 MHz Sampling Task: 10 s Battery: 2xAA (5.4 A-h) Room Temperature
Lucas Wanner – IC/Unicamp Energy-Aware Computing 18
Active Mode: 48 MHz Sampling Task: 10 s Battery: 2xAA (5.4 A-h) Lifetime: 20000 hours
Lucas Wanner – IC/Unicamp Energy-Aware Computing 19
25% variation in DC in a single instance due to temperature
/ (𝑗)
)(𝑗) − 𝑄 /(𝑗)
Lucas Wanner – IC/Unicamp Energy-Aware Computing 20
Lucas Wanner – IC/Unicamp Energy-Aware Computing 21
Lucas Wanner – IC/Unicamp Energy-Aware Computing 22
) 6 𝑗 = ∑
) 𝑗, 𝑈(𝑢) ; <=>
/ 6 𝑗 = ∑
/ 𝑗, 𝑈(𝑢) ; <=>
Lucas Wanner – IC/Unicamp Energy-Aware Computing 23
Figure by John L. Daly, data from NASA Goddard Institute for Space Studies
Lucas Wanner – IC/Unicamp Energy-Aware Computing 24
Lucas Wanner – IC/Unicamp Energy-Aware Computing 25
) 6 𝑗 = ∑
) 𝑗, 𝑈(𝑢) ; <=>
) 6 𝑗 =
) 𝑗, 𝑈 ×𝑔(𝑈) B
CDE
B=BCFG
Lucas Wanner – IC/Unicamp Energy-Aware Computing 26
Lucas Wanner – IC/Unicamp Energy-Aware Computing 27
Lucas Wanner – IC/Unicamp Energy-Aware Computing 28
Active Power (PA) Sleep Power (PS) Lifetime (L) Energy (E)
Lucas Wanner – IC/Unicamp Energy-Aware Computing 29
time, run all optional parts, else, discard a fraction
Lucas Wanner – IC/Unicamp Energy-Aware Computing 30
Lucas Wanner – IC/Unicamp Energy-Aware Computing 31
Lucas Wanner – IC/Unicamp Energy-Aware Computing 32
Lucas Wanner – IC/Unicamp Energy-Aware Computing 33
/* Task 1's quality is improved by extending a for loop (like ADC samples, etc.) */ static void vExampleTask1( void *pvParameters ) { portTickType xLastExecutionTime = xTaskGetTickCount(); for( ;; ) { /* Enforce task frequency */ vTaskDelayUntil( &xLastExecutionTime, TASK1_DELAY ); volatile unsigned long i, j, dummyVal; for( i=0; i<task1_knob; i++){ dummyVal = 0; for( j=0; j<1000; j++){ dummyVal += (((dummyVal+5)%3)*3)/2; } } dummyVal = 0; } }
Lucas Wanner – IC/Unicamp Energy-Aware Computing 34
/* Task 2's quality is improved by increasing task frequency (like sending radio messages, etc.) */ static void vExampleTask2( void *pvParameters ) { portTickType xLastExecutionTime = xTaskGetTickCount(); for( ;; ) { /* Enforce task frequency */ vTaskDelayUntil( &xLastExecutionTime, 500/(task2_knob*0.1) ); task_body(); } }
Lucas Wanner – IC/Unicamp Energy-Aware Computing 35
Quality / Utility → Knob Value / Duty Cycle →
Lucas Wanner – IC/Unicamp Energy-Aware Computing 36
Lucas Wanner – IC/Unicamp Energy-Aware Computing 37
Lucas Wanner – IC/Unicamp Energy-Aware Computing 38
Lucas Wanner – IC/Unicamp Energy-Aware Computing 39
Lifetime: 1 year, Battery: 5400 mAh Temperature: Stovepipe Wells, CA, 2009
20 40 60 80 100 120 140 160 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 Lifetime reduction (days) Processor Copy
Lucas Wanner – IC/Unicamp Energy-Aware Computing 40
Lifetime: 1 year, Battery: 5400 mAh Temperature: Stovepipe Wells, CA, 2009
10 20 30 40 50 60 70 80 90 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 Remaining battery (%) Processor Copy
500 1000 1500 2000 2500 3000 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 Improvement (%) Processor Copy
Lucas Wanner – IC/Unicamp Energy-Aware Computing 41
Lifetime: 1 year, Battery: 5400 mAh Temperature: Stovepipe Wells, CA, 2009
Lucas Wanner – IC/Unicamp Energy-Aware Computing 42
80 84 88 92 96 100 Best Nominal Worst Utility vs. Oracle (%) Temperature Best Nominal Worst
Lucas Wanner – IC/Unicamp Energy-Aware Computing 43
Lucas Wanner – IC/Unicamp Energy-Aware Computing 44
Lucas Wanner – IC/Unicamp Energy-Aware Computing 45
Lucas Wanner – IC/Unicamp Energy-Aware Computing 46