Undervolting in WSNs – A Feasibility Analysis fileUndervolting in WSNs – A Feasibility Analysis...
Transcript of Undervolting in WSNs – A Feasibility Analysis fileUndervolting in WSNs – A Feasibility Analysis...
Undervolting in WSNs– A Feasibility AnalysisIEEE World Forum Internet of Things 2014
Ulf Kulau, Felix Büsching and Lars Wolf, March 8, 2014
Technische Universität Braunschweig, IBR
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Undervolting in WSNs – Motivation
Energy Efficiency in WSNs / IoT plays a significant roleUsability, Feasibility, Acceptance...
Limping evolution of batteries (capacity)
Various existing approaches on several layers
Physical Layer
Data Link Layer
Network Layer
Application Layer
DPM, PVS, DVS, ...
TDMA, LPL (X-MAC), ...
Routing, RPL, ...
Data Management, Compression, ...
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 2
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Undervolting in WSNs – Motivation
Energy Efficiency in WSNs / IoT plays a significant roleUsability, Feasibility, Acceptance...
Limping evolution of batteries (capacity)
Various existing approaches on several layers
Physical Layer
Data Link Layer
Network Layer
Application Layer
DPM, PVS, DVS, ...
TDMA, LPL (X-MAC), ...
Routing, RPL, ...
Data Management, Compression, ...
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 2
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Undervolting in WSNs – Motivation
Existing approaches are inflexible:
Real environmental conditions (changes) are less considered
They act conservatively (reliability)
Usage comes often with some limitations (e.g. waiting periods)
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 3
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Undervolting Basics - DVS
ICs are mostly based on CMOS technologyStatic power dissipation is negligibleOverall power consumption is dominated by
pdyn = CL · fcpu · V 2
But the switching delay of CMOS gates depends on V→ V (fcpu) (Un-)Safe Operating Area
DVS: Adapting fcpu to current Workload and scale V (fcpu)
Undervolting: Violate specifications V (fcpu) → V (fcpu) − ∆V
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 4
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Undervolting Basics - DVS
ICs are mostly based on CMOS technologyStatic power dissipation is negligibleOverall power consumption is dominated by
pdyn = CL · fcpu · V 2
But the switching delay of CMOS gates depends on V→ V (fcpu) (Un-)Safe Operating Area
DVS: Adapting fcpu to current Workload and scale V (fcpu)
Undervolting: Violate specifications V (fcpu) → V (fcpu) − ∆V
volta
ge
volta
ge
100%
0%
100%
0%
Task
1
Task
2
T T
Task 1Task 2
T T
DPM DVS
f cpu=8MHz f cpu=8MHz f cpu=4MHz f cpu=6MHz
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 4
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Undervolting Basics - DVS
ICs are mostly based on CMOS technologyStatic power dissipation is negligibleOverall power consumption is dominated by
pdyn = CL · fcpu · V 2
But the switching delay of CMOS gates depends on V→ V (fcpu) (Un-)Safe Operating Area
DVS: Adapting fcpu to current Workload and scale V (fcpu)
Undervolting: Violate specifications V (fcpu) → V (fcpu) − ∆V
volta
ge
volta
ge
100%
0%
100%
0%
Task
1
Task
2
T T
Task 2
T TUndervolting
f cpu=8MHz f cpu=8MHz f cpu=4MHz f cpu=6MHz
Task
1
Task
2
Task 1Task 2
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 4
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Undervolting – Basics
Temperature Dependency
Specification of V (fcpu) is given in Datasheets
Specification does not include the temperature V (fcpu,T )
Threshold Voltage Vth of CMOS is temperature dependent
Vth(T ) = Vth0 + α · (T − T0)
MCUs cover a widespread temperature range witha fixed voltage level V (fcpu)
→ MCUs must be able to run below V (fcpu) (under normal conditions)
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 5
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Undervolting – Basics
Temperature Dependency
Specification of V (fcpu) is given in Datasheets
Specification does not include the temperature V (fcpu,T )
Threshold Voltage Vth of CMOS is temperature dependent
Vth(T ) = Vth0 + α · (T − T0)
MCUs cover a widespread temperature range witha fixed voltage level V (fcpu)
→ MCUs must be able to run below V (fcpu) (under normal conditions)
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 5
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Challenges and Issues
Undervolting will lead to a higher unreliability:
Operating devices outside their specification
Calculation errors, losses, resets, failures may affect the application
Our Perspective:
WSNs are designed to be fault tolerant per se(protocols, algorithms, applications, ...)
WSNs need increased energy efficiency and offerfault tolerance (ideal)
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 6
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Challenges and Issues
Undervolting will lead to a higher unreliability:
Operating devices outside their specification
Calculation errors, losses, resets, failures may affect the application
Our Perspective:
WSNs are designed to be fault tolerant per se(protocols, algorithms, applications, ...)
WSNs need increased energy efficiency and offerfault tolerance (ideal)
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 6
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Theory and Practice
Preparations:
Ordering of ATmega1284p MCUs from different distributors
Implementation of a prototype to analyze the effect of Undervolting
Transceiver802.15.4
AT86RF231
Transceiver802.15.4
AT86RF231I/O
SPI
UART0
PCB AntennaPCB AntennaJTAG HeaderJTAG Header
ext. Voltage Supply
MCUATmega1284p
MCUATmega1284p
UART / USBFTDI232
UART / USBFTDI232
V ext
V core
Co-ProcessorATtiny84
Co-ProcessorATtiny84 I2C Bus
I2C Voltage ScalingModule
I2C Voltage ScalingModule
core Voltage
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 7
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Detecting failures caused by Undervolting
Continuous (periodic) observation (counter-check) of...Busses (I2C, SPI)GPIOsClock rateALU failures (calculation errors)
How to detect ALU failures by software?A complete test is not adequate ((2n)m)
Sufficient error detection through checksum calculation1
checksum = det(A · B) with A,B ∈ Rn×n
1A. Rohani and H.-R. Zarandi, ”An analysis of fault effects and propagations in avr microcontroller atmega103(l),”
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 8
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Detecting failures caused by Undervolting
Continuous (periodic) observation (counter-check) of...Busses (I2C, SPI)GPIOsClock rateALU failures (calculation errors)
How to detect ALU failures by software?A complete test is not adequate ((2n)m)
Sufficient error detection through checksum calculation1
checksum = det(A · B) with A,B ∈ Rn×n
1A. Rohani and H.-R. Zarandi, ”An analysis of fault effects and propagations in avr microcontroller atmega103(l),”
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 8
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Testbench Implementation
GP
IO T
est
Inte
rfac
e Te
stA
LU T
est Test Scores (Checksum)
Test OK / FAILTest OK / FAIL
PWR DissipationPWR Dissipation
Clock RateClock Rate
MCUAtMega1284p
MCUAtMega1284p
MCUAtTiny84
MCUAtTiny84
Vol
tag
e S
calin
g M
od
ule
Vol
tag
e S
calin
g M
od
ule
I2C BridgeI2C Bridge
Undervolted MCU2nd reliable MCU
(Secure Instance)
I2C-Bus
Clock Rate Feedback
Periodic Test Cycle
Periodic Test Cycle (1Hz):Execute tests on undervolted MCU and use reliable MCU for validationMeasure time between test cycles and generate binary feedback for clockrate adjustment
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 9
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Results – Clock Rate Recalibration
f cpu
[M
Hz]
3.4
3.5
3.6
3.7
3.8
3.9
4
4.1
3.4
3.5
3.6
3.7
3.8
3.9
4
4.1
time [s]0 10 20 30 40 50
0 10 20 30 40 50
152015701620167017201770
V = 1,52V ≙ ∆V = 0,28V V = 1,57V ≙ ∆V = 0,23V V = 1,62V ≙ ∆V = 0,18V V = 1,67V ≙ ∆V = 0,13V V = 1,72V ≙ ∆V = 0,08V V = 1,77V ≙ ∆V = 0,03V
Linear recalibration of the clock rate (binary feedback)
Constant clock rate despite using undervolting
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 10
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Results – Functionality analysis 1/2
Evaluation of three MCUs from different distributors:
prob
abili
ty o
f fai
lure
s [%
]
0
20
40
60
80
100
0
20
40
60
80
100
deviation from the nominal voltage V(fcpu) [%]0 5 10 15 20 25
0 5 10 15 20 25
fcpu = 4MHzfcpu = 5MHzfcpu = 6MHzfcpu = 7MHzfcpu = 8MHz
prob
abili
ty o
f fai
lure
s [%
]
0
20
40
60
80
100
0
20
40
60
80
100
deviation from the nominal voltage V(fcpu) [%]0 5 10 15 20 25
0 5 10 15 20 25
fcpu = 4MHzfcpu = 5MHzfcpu = 6MHzfcpu = 7MHzfcpu = 8MHz
prob
abili
ty o
f fai
lure
s [%
]
0
20
40
60
80
100
0
20
40
60
80
100
deviation from the nominal voltage V(fcpu) [%]0 5 10 15 20 25
0 5 10 15 20 25 30
fcpu = 4MHzfcpu = 5MHzfcpu = 6MHzfcpu = 7MHzfcpu = 8MHz
→ Similar but individual results even with same kind of MCU!
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 11
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Results – Functionality analysis 1/2
Evaluation of three MCUs from different distributors:
prob
abili
ty o
f fai
lure
s [%
]
0
20
40
60
80
100
0
20
40
60
80
100
deviation from the nominal voltage V(fcpu) [%]0 5 10 15 20 25
0 5 10 15 20 25
fcpu = 4MHzfcpu = 5MHzfcpu = 6MHzfcpu = 7MHzfcpu = 8MHz
prob
abili
ty o
f fai
lure
s [%
]
0
20
40
60
80
100
0
20
40
60
80
100
deviation from the nominal voltage V(fcpu) [%]0 5 10 15 20 25
0 5 10 15 20 25
fcpu = 4MHzfcpu = 5MHzfcpu = 6MHzfcpu = 7MHzfcpu = 8MHz
prob
abili
ty o
f fai
lure
s [%
]
0
20
40
60
80
100
0
20
40
60
80
100
deviation from the nominal voltage V(fcpu) [%]0 5 10 15 20 25
0 5 10 15 20 25 30
fcpu = 4MHzfcpu = 5MHzfcpu = 6MHzfcpu = 7MHzfcpu = 8MHz
→ Similar but individual results even with same kind of MCU!
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 11
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Results – Functionality analysis 2/2
Exemplary Results of MCU2:
prob
abili
ty o
f fai
lure
s [%
]
0
20
40
60
80
100
0
20
40
60
80
100
deviation from the nominal voltage V(fcpu) [%]0 5 10 15 20 25
0 5 10 15 20 25
fcpu = 4MHzfcpu = 5MHzfcpu = 6MHzfcpu = 7MHzfcpu = 8MHz
Statements:
Undervolting is possible
Malfunction appears in asmall, sharp region
Individual characteristic (evenfor same kind of MCUs)
Possible deviation growth withclock rate
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 12
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Results – Energy Savings
Averaged energy per clock cycle:
ener
gy p
er c
lock
cyc
le [
nJ]
0.4
0.5
0.6
0.7
0.8
0.4
0.5
0.6
0.7
0.8
deviation from the nominal voltage V(fcpu) [%]0 5 10 15 20 25
0 5 10 15 20 25
instruction-100instruction-80instruction-100instruction-80instruction-100instruction-80instruction-100instruction-80instruction-100instruction-80
fcpu = 4MHzfcpu = 5MHzfcpu = 6MHzfcpu = 7MHzfcpu = 8MHz
Compared to recommended voltage level V (fcpu):
fcpu[MHz] 4 5 6 7 8
Emin[pJ] 404.0 420.2 437.0 466.8 475.0max(δe)[%] 33.52 35.96 36.67 38.23 42.66
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 13
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Results – Energy Savings
Averaged energy per clock cycle:
ener
gy p
er c
lock
cyc
le [
nJ]
0.4
0.5
0.6
0.7
0.8
0.4
0.5
0.6
0.7
0.8
deviation from the nominal voltage V(fcpu) [%]0 5 10 15 20 25
0 5 10 15 20 25
instruction-100instruction-80instruction-100instruction-80instruction-100instruction-80instruction-100instruction-80instruction-100instruction-80
fcpu = 4MHzfcpu = 5MHzfcpu = 6MHzfcpu = 7MHzfcpu = 8MHz
Compared to recommended voltage level V (fcpu):
fcpu[MHz] 4 5 6 7 8
Emin[pJ] 404.0 420.2 437.0 466.8 475.0max(δe)[%] 33.52 35.96 36.67 38.23 42.66
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 13
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Results – Temperature Dependency
Presumption: Threshold voltage depends on temperature
Measurement of the minimum (stable) operating point in a climaticchamber
ATmega1284p MCU @ fcpu = 4MHz → recommended V(fcpu) = 1.8V
Abso
lute
Vol
tage
Lev
el [
V]
1.4
1.45
1.5
1.55
1.6
1.65
1.4
1.45
1.5
1.55
1.6
1.65
Temperature [C°]−40 −20 0 20 40 60 80 100
−40 −20 0 20 40 60 80 100
2LinearFit1
fcpu = 6MHzfcpu = 7MHzfcpu = 8MHz
2LinearFit1
Operating Point (Measured) Line-Fit
Nodes are exposed to various environmental conditions
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 14
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Results – Wireless Communication
Undervolting and transceiver unit:Not mainly based on CMOS (RF-section, amplifiers, ...)How to detect errors?
Increased packet loss indicates communication errors
AT86RF231 IEEE 802.15.4 Transceiver, nominal minimal voltage level 1.8V , Contiki + RIME-Stack
prob
abili
ty o
f com
mun
icat
ion
failu
res
[%]
0
20
40
60
80
100
0
20
40
60
80
100
transceiver voltage Vrtx[mV]1,550 1,555 1,795 1,800
1,550 1,555 1,795 1,8002
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 15
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Results – Wireless Communication
Undervolting and transceiver unit:Not mainly based on CMOS (RF-section, amplifiers, ...)How to detect errors?
Increased packet loss indicates communication errors
AT86RF231 IEEE 802.15.4 Transceiver, nominal minimal voltage level 1.8V , Contiki + RIME-Stack
prob
abili
ty o
f com
mun
icat
ion
failu
res
[%]
0
20
40
60
80
100
0
20
40
60
80
100
transceiver voltage Vrtx[mV]1,550 1,555 1,795 1,800
1,550 1,555 1,795 1,8002
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 15
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Results – Wireless Communication
The transceiver has a fixed transmit and reception powerPower dissipation is less bound to the voltage levelNevertheless:
gain
[%
]
0
2
4
6
8
0
2
4
6
8
Transceiver voltage [mV]1,600 1,650 1,700 1,750 1,800
1,600 1,650 1,700 1,750 1,800
gain of current consumtion
min
imum
reco
mm
ende
d
v
olta
ge le
vel
Only few experiences:
Undervolting of other parts (e.g. transceiver) is possible
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 16
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Results – Wireless Communication
The transceiver has a fixed transmit and reception powerPower dissipation is less bound to the voltage levelNevertheless:
gain
[%
]
0
2
4
6
8
0
2
4
6
8
Transceiver voltage [mV]1,600 1,650 1,700 1,750 1,800
1,600 1,650 1,700 1,750 1,800
gain of current consumtion
min
imum
reco
mm
ende
d
v
olta
ge le
vel
Only few experiences:
Undervolting of other parts (e.g. transceiver) is possible
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 16
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Summary
Legitimation for undervolting in WSNs:Using safety margin of CMOS parts
Temperature dependenciesIndividual tolerances
WSNs are fault tolerant
Prototype implementation and evaluation of COTS MCUs:Undervolting of MCUs is possibleMay influence parts of the MCU (e.g. RC-oscillator)Energy savings up to 42%
Usage of experimental results on higher layers:Undervolting adds heterogeneity
New approaches for load balancing, routing, ...
Thank you for your attention! Questions?Ulf Kulau
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 17
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Summary
Legitimation for undervolting in WSNs:Using safety margin of CMOS parts
Temperature dependenciesIndividual tolerances
WSNs are fault tolerantPrototype implementation and evaluation of COTS MCUs:
Undervolting of MCUs is possibleMay influence parts of the MCU (e.g. RC-oscillator)Energy savings up to 42%
Usage of experimental results on higher layers:Undervolting adds heterogeneity
New approaches for load balancing, routing, ...
Thank you for your attention! Questions?Ulf Kulau
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 17
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Summary
Legitimation for undervolting in WSNs:Using safety margin of CMOS parts
Temperature dependenciesIndividual tolerances
WSNs are fault tolerantPrototype implementation and evaluation of COTS MCUs:
Undervolting of MCUs is possibleMay influence parts of the MCU (e.g. RC-oscillator)Energy savings up to 42%
Usage of experimental results on higher layers:Undervolting adds heterogeneity
New approaches for load balancing, routing, ...
Thank you for your attention! Questions?Ulf Kulau
March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 17
Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion
Summary
Legitimation for undervolting in WSNs:Using safety margin of CMOS parts
Temperature dependenciesIndividual tolerances
WSNs are fault tolerantPrototype implementation and evaluation of COTS MCUs:
Undervolting of MCUs is possibleMay influence parts of the MCU (e.g. RC-oscillator)Energy savings up to 42%
Usage of experimental results on higher layers:Undervolting adds heterogeneity
New approaches for load balancing, routing, ...
Thank you for your attention! Questions?Ulf Kulau
[email protected] 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 17