Undervolting in WSNs A Feasibility Analysis IEEE World Forum - - PowerPoint PPT Presentation

undervolting in wsns a feasibility analysis
SMART_READER_LITE
LIVE PREVIEW

Undervolting in WSNs A Feasibility Analysis IEEE World Forum - - PowerPoint PPT Presentation

Undervolting in WSNs A Feasibility Analysis IEEE World Forum Internet of Things 2014 Ulf Kulau, Felix Bsching and Lars Wolf, March 8, 2014 Technische Universitt Braunschweig, IBR Introduction Prototyping and Preliminary Studies


slide-1
SLIDE 1

Undervolting in WSNs – A Feasibility Analysis

IEEE World Forum Internet of Things 2014

Ulf Kulau, Felix Büsching and Lars Wolf, March 8, 2014

Technische Universität Braunschweig, IBR

slide-2
SLIDE 2

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Undervolting in WSNs – Motivation

Energy Efficiency in WSNs / IoT plays a significant role

Usability, Feasibility, Acceptance...

Limping evolution of batteries (capacity) Various existing approaches on several layers

March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 2

slide-3
SLIDE 3

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Undervolting in WSNs – Motivation

Energy Efficiency in WSNs / IoT plays a significant role

Usability, 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

slide-4
SLIDE 4

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

slide-5
SLIDE 5

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Undervolting Basics - DVS

ICs are mostly based on CMOS technology

Static power dissipation is negligible Overall 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

March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 4

slide-6
SLIDE 6

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Undervolting Basics - DVS

ICs are mostly based on CMOS technology

Static power dissipation is negligible Overall 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)

voltage voltage 100% 0% 100% 0%

Task 1 Task 2

T T

Task 1 Task 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

slide-7
SLIDE 7

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Undervolting Basics - DVS

ICs are mostly based on CMOS technology

Static power dissipation is negligible Overall 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

Undervolting: Violate specifications V(fcpu)

V(fcpu) − ∆V

voltage voltage 100% 0% 100% 0%

Task 1 Task 2

T T

Task 2

T T

Undervolting

f cpu=8MHz f cpu=8MHz f cpu=4MHz f cpu=6MHz

Task 1 Task 2 Task 1 Task 2

March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 4

slide-8
SLIDE 8

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)

March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 5

slide-9
SLIDE 9

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 with a 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

slide-10
SLIDE 10

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

March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 6

slide-11
SLIDE 11

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 offer fault tolerance (ideal)

March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 6

slide-12
SLIDE 12

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

Transceiver 802.15.4 AT86RF231 Transceiver 802.15.4 AT86RF231 I/O SPI UART0 PCB Antenna PCB Antenna JTAG Header JTAG Header

  • ext. Voltage

Supply

MCU

ATmega1284p

MCU

ATmega1284p UART / USB FTDI232 UART / USB FTDI232

V ext

V core

Co-Processor ATtiny84 Co-Processor ATtiny84 I2C Bus I2C Voltage Scaling Module I2C Voltage Scaling Module core Voltage March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 7

slide-13
SLIDE 13

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Detecting failures caused by Undervolting

Continuous (periodic) observation (counter-check) of...

Busses (I2C, SPI) GPIOs Clock rate ALU failures (calculation errors)

  • 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

slide-14
SLIDE 14

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Detecting failures caused by Undervolting

Continuous (periodic) observation (counter-check) of...

Busses (I2C, SPI) GPIOs Clock rate ALU 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

slide-15
SLIDE 15

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Testbench Implementation

GPIO Test Interface Test ALU Test Test Scores (Checksum)

Test OK / FAIL Test OK / FAIL PWR Dissipation PWR Dissipation Clock Rate Clock Rate

MCU AtMega1284p MCU AtMega1284p MCU AtTiny84 MCU AtTiny84 Voltage Scaling Module Voltage Scaling Module I2C Bridge I2C Bridge

Undervolted MCU 2nd 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 validation Measure time between test cycles and generate binary feedback for clock rate adjustment

March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 9

slide-16
SLIDE 16

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Results – Clock Rate Recalibration

fcpu [MHz] 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] 10 20 30 40 50 10 20 30 40 50

1520 1570 1620 1670 1720 1770

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

slide-17
SLIDE 17

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Results – Functionality analysis 1/2

Evaluation of three MCUs from different distributors:

probability of failures [%] 20 40 60 80 100 20 40 60 80 100 deviation from the nominal voltage V(fcpu) [%] 5 10 15 20 25 5 10 15 20 25 fcpu = 4MHz fcpu = 5MHz fcpu = 6MHz fcpu = 7MHz fcpu = 8MHz probability of failures [%] 20 40 60 80 100 20 40 60 80 100 deviation from the nominal voltage V(fcpu) [%] 5 10 15 20 25 5 10 15 20 25 fcpu = 4MHz fcpu = 5MHz fcpu = 6MHz fcpu = 7MHz fcpu = 8MHz probability of failures [%] 20 40 60 80 100 20 40 60 80 100 deviation from the nominal voltage V(fcpu) [%] 5 10 15 20 25 5 10 15 20 25 30 fcpu = 4MHz fcpu = 5MHz fcpu = 6MHz fcpu = 7MHz fcpu = 8MHz

March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 11

slide-18
SLIDE 18

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Results – Functionality analysis 1/2

Evaluation of three MCUs from different distributors:

probability of failures [%] 20 40 60 80 100 20 40 60 80 100 deviation from the nominal voltage V(fcpu) [%] 5 10 15 20 25 5 10 15 20 25 fcpu = 4MHz fcpu = 5MHz fcpu = 6MHz fcpu = 7MHz fcpu = 8MHz probability of failures [%] 20 40 60 80 100 20 40 60 80 100 deviation from the nominal voltage V(fcpu) [%] 5 10 15 20 25 5 10 15 20 25 fcpu = 4MHz fcpu = 5MHz fcpu = 6MHz fcpu = 7MHz fcpu = 8MHz probability of failures [%] 20 40 60 80 100 20 40 60 80 100 deviation from the nominal voltage V(fcpu) [%] 5 10 15 20 25 5 10 15 20 25 30 fcpu = 4MHz fcpu = 5MHz fcpu = 6MHz fcpu = 7MHz fcpu = 8MHz

→ Similar but individual results even with same kind of MCU!

March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 11

slide-19
SLIDE 19

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Results – Functionality analysis 2/2

Exemplary Results of MCU2:

probability of failures [%] 20 40 60 80 100 20 40 60 80 100 deviation from the nominal voltage V(fcpu) [%] 5 10 15 20 25 5 10 15 20 25 fcpu = 4MHz fcpu = 5MHz fcpu = 6MHz fcpu = 7MHz fcpu = 8MHz

Statements:

Undervolting is possible Malfunction appears in a small, sharp region Individual characteristic (even for same kind of MCUs) Possible deviation growth with clock rate

March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 12

slide-20
SLIDE 20

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Results – Energy Savings

Averaged energy per clock cycle:

energy per clock cycle [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) [%] 5 10 15 20 25 5 10 15 20 25

instruction-100 instruction-80 instruction-100 instruction-80 instruction-100 instruction-80 instruction-100 instruction-80 instruction-100 instruction-80

fcpu = 4MHz fcpu = 5MHz fcpu = 6MHz fcpu = 7MHz fcpu = 8MHz

March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 13

slide-21
SLIDE 21

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Results – Energy Savings

Averaged energy per clock cycle:

energy per clock cycle [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) [%] 5 10 15 20 25 5 10 15 20 25

instruction-100 instruction-80 instruction-100 instruction-80 instruction-100 instruction-80 instruction-100 instruction-80 instruction-100 instruction-80

fcpu = 4MHz fcpu = 5MHz fcpu = 6MHz fcpu = 7MHz fcpu = 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.0 max(δe)[%] 33.52 35.96 36.67 38.23 42.66

March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 13

slide-22
SLIDE 22

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 climatic chamber

ATmega1284p MCU @ fcpu = 4MHz → recommended V(fcpu) = 1.8V

Absolute Voltage Level [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 20 40 60 80 100 −40 −20 20 40 60 80 100

2 LinearFit1

fcpu = 6MHz fcpu = 7MHz fcpu = 8MHz 2 LinearFit1 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

slide-23
SLIDE 23

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

probability of communication failures [%] 20 40 60 80 100 20 40 60 80 100 transceiver voltage Vrtx[mV] 1,550 1,555 1,795 1,800 1,550 1,555 1,795 1,800

2

March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 15

slide-24
SLIDE 24

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

probability of communication failures [%] 20 40 60 80 100 20 40 60 80 100 transceiver voltage Vrtx[mV] 1,550 1,555 1,795 1,800 1,550 1,555 1,795 1,800

2

March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 15

slide-25
SLIDE 25

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Results – Wireless Communication

The transceiver has a fixed transmit and reception power

Power dissipation is less bound to the voltage level Nevertheless:

gain [%] 2 4 6 8 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 minimum recommended voltage level March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 16

slide-26
SLIDE 26

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Results – Wireless Communication

The transceiver has a fixed transmit and reception power

Power dissipation is less bound to the voltage level Nevertheless:

gain [%] 2 4 6 8 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 minimum recommended voltage level

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

slide-27
SLIDE 27

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Summary

Legitimation for undervolting in WSNs: Using safety margin of CMOS parts

Temperature dependencies Individual tolerances

WSNs are fault tolerant

March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 17

slide-28
SLIDE 28

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Summary

Legitimation for undervolting in WSNs: Using safety margin of CMOS parts

Temperature dependencies Individual tolerances

WSNs are fault tolerant Prototype implementation and evaluation of COTS MCUs: Undervolting of MCUs is possible May influence parts of the MCU (e.g. RC-oscillator) Energy savings up to 42%

March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 17

slide-29
SLIDE 29

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Summary

Legitimation for undervolting in WSNs: Using safety margin of CMOS parts

Temperature dependencies Individual tolerances

WSNs are fault tolerant Prototype implementation and evaluation of COTS MCUs: Undervolting of MCUs is possible May 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, ...

March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 17

slide-30
SLIDE 30

Introduction Prototyping and Preliminary Studies Implementation Evaluation Conclusion

Summary

Legitimation for undervolting in WSNs: Using safety margin of CMOS parts

Temperature dependencies Individual tolerances

WSNs are fault tolerant Prototype implementation and evaluation of COTS MCUs: Undervolting of MCUs is possible May 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

kulau@ibr.cs.tu-bs.de

March 8, 2014 Ulf Kulau Undervolting in WSNs – A Feasibility Analysis Page 17