energy consumption in embedded systems

45
Energy consumption in embedded systems; abstractions for software models, programming languages and verification methods Florence Maraninchi — orcid.org/0000-0003-0783-9178 thanks to M. Moy, L. Mounier, L. Maillet-Contoz, D. Barthel, J. Cornet, C. Helmstetter, T. Bouhadiba, N. Berthier, L. Samper, ... www-verimag.imag.fr/˜maraninx EMSOFT’16, Pittsburgh F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 1 / 28

Upload: others

Post on 11-Sep-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Energy consumption in embedded systems

Energy consumption in embedded systems;

abstractions for software models, programming

languages and verification methods

Florence Maraninchi — orcid.org/0000-0003-0783-9178thanks to M. Moy, L. Mounier, L. Maillet-Contoz, D. Barthel, J.

Cornet, C. Helmstetter, T. Bouhadiba, N. Berthier, L. Samper, ...

www-verimag.imag.fr/˜maraninx

EMSOFT’16, Pittsburgh

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 1 / 28

Page 2: Energy consumption in embedded systems

Lessons Learned in Various Contexts...

Modeling energy consumption andtemperature at the transactionallevel for systems-on-a-chip (withSTMicroelectronics) - Validationof low-level software thatimplements power-domain control

Modeling energy consumption insensor networks (with OrangeLabs) - trade-offs between energyconsumption and security at therouting level, precise modeling ofidle-listening in MAC protocols, ...

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 2 / 28

Page 3: Energy consumption in embedded systems

Lessons Learned in Various Contexts...

Modeling energy consumption andtemperature at the transactionallevel for systems-on-a-chip (withSTMicroelectronics) - Validationof low-level software thatimplements power-domain control

Modeling energy consumption insensor networks (with OrangeLabs) - trade-offs between energyconsumption and security at therouting level, precise modeling ofidle-listening in MAC protocols, ...

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 2 / 28

Page 4: Energy consumption in embedded systems

The Big Picture: from Physics to Software

1 The Big Picture: from Physics to Software

2 Models

3 Compulsory Abstractions for Verification/Optimization/...

4 Conclusion

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 3 / 28

Page 5: Energy consumption in embedded systems

The Big Picture: from Physics to Software

From Physics to (Application) Software

Battery behaviour and Discharge time

Components’ operational modes

Power Domains and DVFS

Static+Dynamic Energy Consumption

Temperature Sensors

Application SW Decide what to switch on/off

OScontrol sleep modes

real−time scheduling and adjusting V, F

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 4 / 28

Page 6: Energy consumption in embedded systems

The Big Picture: from Physics to Software

Discharge time is not a Simple Function of Power

Consumption

Estimating energy consumption does not give easily an estimate ofthe battery discharge time.

More details available if needed.

see “rate-dependency effect” in David Linden et Thomas B. Reddy — Handbookof batteries. McGraw-Hill 2002

Ravishankar Rao, Sarma Vrudhula et Naehyuck Chang — Battery optimization

vs energy optimization: which to choose and when?. ICCAD’05

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 5 / 28

Page 7: Energy consumption in embedded systems

The Big Picture: from Physics to Software

Sources of Power Consumption

P = Pstatic due to leakage currents +Pdynamic due to the switching of transistors

Pstatic = V ×K1×g(T ) ↗ when transistor size ↘Pdynamic = F ×V 2×α×K2

V : Voltage, F : Frequency, T : Temperatureg : increasing functionα : activity ratio, or amount of computation performedKi s: various “constants” depending on the module area and on thesynthesis technology

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 6 / 28

Page 8: Energy consumption in embedded systems

The Big Picture: from Physics to Software

Power Control in Modern Circuits

Clock Gating (turn off the clock):Pdynamic = 0, but Pstatic unchanged

Dynamic Voltage and Frequency Scaling (DVFS) reduces V ,hence F has to be reduced too. A circuit can have a (small)number of operating points (V ,F ). Switching between them hasa cost.

Power Gating (switch a component on/off); Switching is verycostly (save/restore state); application-level information isneeded (e.g., GPS is not longer used, switch the sub-circuit off).

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 7 / 28

Page 9: Energy consumption in embedded systems

The Big Picture: from Physics to Software

Complex Feedback Interactions

Consumption

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 8 / 28

Page 10: Energy consumption in embedded systems

The Big Picture: from Physics to Software

Complex Feedback Interactions

Temperature

Consumption

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 8 / 28

Page 11: Energy consumption in embedded systems

The Big Picture: from Physics to Software

Complex Feedback Interactions

Temperature

Consumption

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 8 / 28

Page 12: Energy consumption in embedded systems

The Big Picture: from Physics to Software

Complex Feedback Interactions

Temperature

Consumption

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 8 / 28

Page 13: Energy consumption in embedded systems

The Big Picture: from Physics to Software

Complex Feedback Interactions

Consumption

Temperature

Temperature

Consumption

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 8 / 28

Page 14: Energy consumption in embedded systems

The Big Picture: from Physics to Software

Complex Feedback Interactions

switches

SW

component off

Consumption

Temperature

Temperature

Consumption

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 8 / 28

Page 15: Energy consumption in embedded systems

The Big Picture: from Physics to Software

Complex Feedback Interactions

Consumption

switches

SW

component off

Consumption

Temperature

Temperature

Consumption

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 8 / 28

Page 16: Energy consumption in embedded systems

The Big Picture: from Physics to Software

Complex Feedback Interactions

Temperature

Consumption

switches

SW

component off

Consumption

Temperature

Temperature

Consumption

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 8 / 28

Page 17: Energy consumption in embedded systems

The Big Picture: from Physics to Software

Complex Feedback Interactions

SW switches on C

Temperature

Consumption

switches

SW

component off

Consumption

Temperature

Temperature

Consumption

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 8 / 28

Page 18: Energy consumption in embedded systems

The Big Picture: from Physics to Software

Complex Feedback Interactions

SW switches on C

Temperature

Consumption

switches

SW

component off

Consumption

Temperature

Temperature

Consumption

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 8 / 28

Page 19: Energy consumption in embedded systems

The Big Picture: from Physics to Software

Complex Feedback Interactions

Control loop

(needs a model of the

object under control)

SW switches on C

Temperature

Consumption

switches

SW

component off

Consumption

Temperature

Temperature

Consumption

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 8 / 28

Page 20: Energy consumption in embedded systems

Models

1 The Big Picture: from Physics to Software

2 Models(Formal) State-Based ModelsSimulation Models

3 Compulsory Abstractions for Verification/Optimization/...

4 Conclusion

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 9 / 28

Page 21: Energy consumption in embedded systems

Models

Models for What?

Estimate/improve the discharge time of the battery

Reduce temperature peaks and temperature gradient to improvethe lifetime of the circuit

Estimate the loss of QoS due to low-consumption operatingmodes

Write control code that plays with the operating modes of thecomponents, validate the power-management policies

Detect “energy bugs” in applications (try to use a componentthat has been switched off; fail to switch off a component that isno longer needed...)

Overall design space exploration

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 10 / 28

Page 22: Energy consumption in embedded systems

Models (Formal) State-Based Models

2 Models(Formal) State-Based ModelsSimulation Models

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 11 / 28

Page 23: Energy consumption in embedded systems

Models (Formal) State-Based Models

Power-State Machines

ISLPED’98International symposium on Low Power Electronics and Design

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 12 / 28

Page 24: Energy consumption in embedded systems

Models (Formal) State-Based Models

Power-State Machines with Transition Penalties

States have an associated power consumption (per time unit)Transitions have an associated penalty: transition time, power

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 13 / 28

Page 25: Energy consumption in embedded systems

Models (Formal) State-Based Models

Linearly-Priced Timed-Automata

“LPTA are an extension of timed automata with prices on bothtransitions and locations: the price of a transition gives the cost fortaking it and the price on a location specifies the cost per time-unitfor staying in that location”

Minimum-Cost Reachability for Priced Timed Automata; Gerd Behrmann Ansgar

Fehnker, Thomas S. Hune, Kim G. Larsen, Paul Pettersson, Judi Romijn, Frits

W. Vaandrager, 2001

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 14 / 28

Page 26: Energy consumption in embedded systems

Models (Formal) State-Based Models

Questions

Where to use such power-state machines (or their LPTAcounterpart)?Easy: for the DVFS operating points of the CPU, theoperational modes of a sensor node radio (TX, RX, Idle...), ...Not so easy: the bus or NoC, the memories?

What does it hide?What phenomena cannot be captured like that?

Let’s look at “precise” and “complete” simulation models to try andunderstand what’s not captured by those formal models.

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 15 / 28

Page 27: Energy consumption in embedded systems

Models Simulation Models

2 Models(Formal) State-Based ModelsSimulation Models

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 16 / 28

Page 28: Energy consumption in embedded systems

Models Simulation Models

Main Ideas

Capture all potential interactions between: voltage, frequency,consumption, temperature, software decisions, state of the battery, ...

Recall:

Control loop

(needs a model of the

object under control)

SW switches on C

Temperature

Consumption

switches

SW

component off

Consumption

Temperature

Temperature

Consumption

In the most detailed models one can play the actual software on topof a functional+extra-functional model of the hardware.

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 17 / 28

Page 29: Energy consumption in embedded systems

Models Simulation Models

Precise Simulation Models with

Temperature Models and Actual Embedded Code

Temperature model

Floorplan Bus

CPU

MEM

oth

er

...

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 18 / 28

Page 30: Energy consumption in embedded systems

Models Simulation Models

Precise Simulation Models with

Temperature Models and Actual Embedded Code

CPU

BUS

Embedded

code

temp

other

if (T > thr) { switch "other" off; turn CPU to (V1,F1) }

HW

memTemperature model

Floorplan Bus

CPU

MEM

oth

er

...

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 18 / 28

Page 31: Energy consumption in embedded systems

Models Simulation Models

Precise Simulation Models with

Temperature Models and Actual Embedded Code

PD1

PD2

PD1

Power domainsV, F for each block

CPU

BUS

Embedded

code

temp

other

if (T > thr) { switch "other" off; turn CPU to (V1,F1) }

HW

memTemperature model

Floorplan Bus

CPU

MEM

oth

er

...

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 18 / 28

Page 32: Energy consumption in embedded systems

Models Simulation Models

Precise Simulation Models with

Temperature Models and Actual Embedded Code

Power densities

temperature

PD1

PD2

PD1

Power domainsV, F for each block

CPU

BUS

Embedded

code

temp

other

if (T > thr) { switch "other" off; turn CPU to (V1,F1) }

HW

memTemperature model

Floorplan Bus

CPU

MEM

oth

er

...

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 18 / 28

Page 33: Energy consumption in embedded systems

Models Simulation Models

Precise Simulation Models with

Temperature Models and Actual Embedded Code

Power densities

temperature

PD1

PD2

PD1

Power domainsV, F for each block

CPU

BUS

Embedded

code

temp

other

if (T > thr) { switch "other" off; turn CPU to (V1,F1) }

HW

memTemperature model

Floorplan Bus

CPU

MEM

oth

er

...

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 18 / 28

Page 34: Energy consumption in embedded systems

Models Simulation Models

Precise Simulation Models with

Temperature Models and Actual Embedded Code

Power densities

temperature

PD1

PD2

PD1

Power domainsV, F for each block

CPU

BUS

Embedded

code

temp

other

if (T > thr) { switch "other" off; turn CPU to (V1,F1) }

HW

memTemperature model

Floorplan Bus

CPU

MEM

oth

er

...

P=f(traffic)

P=f(traffic)

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 18 / 28

Page 35: Energy consumption in embedded systems

Models Simulation Models

Precise Simulation Models with

Temperature Models and Actual Embedded Code

P=f(traffic) may take contention into account; the Joule−per−bit model cannot.

Power densities

temperature

PD1

PD2

PD1

Power domainsV, F for each block

CPU

BUS

Embedded

code

temp

other

if (T > thr) { switch "other" off; turn CPU to (V1,F1) }

HW

memTemperature model

Floorplan Bus

CPU

MEM

oth

er

...

P=f(traffic)

P=f(traffic)

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 18 / 28

Page 36: Energy consumption in embedded systems

Models Simulation Models

Example Simulation Results

Modeling Power Consumption and Temperature in TLM Models — Matthieu Moy, Claude Helmstetter, Tayeb Bouhadiba,

Florence Maraninchi - Leibnitz Trans. on Emb. Syst. 2016

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 19 / 28

Page 37: Energy consumption in embedded systems

Models Simulation Models

A Major Problem: Validation of the Models

A precise simulation is theoretically feasible (at gate level, or evenbelow). But it’s terribly slow.

Raising the level of abstraction to get reasonable-timeSW-in-the-loop simulations implies accepting relative results only.

Simulation, say 5%-precise w.r.t. real system: hopeless

One objective can be to identify peaks, or the points that triggerthe control policy in the SW.

+ what’s the sensitivity of the overall model to small variations onthe figures attached to states?

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 20 / 28

Page 38: Energy consumption in embedded systems

Compulsory Abstractions for Verification/Optimization/...

1 The Big Picture: from Physics to Software

2 Models

3 Compulsory Abstractions for Verification/Optimization/...

4 Conclusion

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 21 / 28

Page 39: Energy consumption in embedded systems

Compulsory Abstractions for Verification/Optimization/...

A Hierarchy of Abstractions

Forget about the battery model (consider it as a bathtub)

Forget about temperature effects (choose a fixed ambianttemperature in the equations)

Forget about static consumption (or consider a fixed additionalconsumption)

Forget about anything else than computing elements (or use theJoule-per-bit model for communication elements)

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 22 / 28

Page 40: Energy consumption in embedded systems

Compulsory Abstractions for Verification/Optimization/...

Examples (1)

Next talks at EMSOFT’16:

Flexible Support for Time and Costs in Scenario-AwareDataflow: LPTA-style costs in SADF + cost per token (i.e.,Joule-per-bit model)

Energy and Timing Aware Synchronous Programming: nobattery model, no temperature effect, no static consumption,nothing else than computing elements, penalties for changing(V, F) in the CPU

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 23 / 28

Page 41: Energy consumption in embedded systems

Compulsory Abstractions for Verification/Optimization/...

Examples (2)

EMSOFT’10 - Energy-Aware Packet and Task Co-Scheduling forEmbedded Systems: power-state machine for (CPU+radiotransmitter)

CODES+ISSS’11 - System-Level Power and Timing VariabilityCharacterization to Compute Thermal Guarantees: based onreal-time calculus, fixed or max ambiant temperature, influenceof power on temperature as in abovementioned temperaturesimulators, power consumption (stat+dyn) as a function of theexecuting task, plus a system-level idle consumption.

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 24 / 28

Page 42: Energy consumption in embedded systems

Compulsory Abstractions for Verification/Optimization/...

Recovering Some Interactions...

Several power-state models (CPU, other HW components) andtheir implicit product, driven by the SW model

Traffic models for communication elements, taking contentioninto account (needs to be precise on which components use thebus and when)

Power-states machines for each component, modeling theelectrical state (needs information on power domains)

“states” in a battery model See: Battery transition systems, Udi

Boker, Thomas A. Henzinger, Arjun Radhakrishna, POPL’14

The most difficult is to include the temperature effects, because youneed the floorplan (not really usual software-level information)

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 25 / 28

Page 43: Energy consumption in embedded systems

Conclusion

1 The Big Picture: from Physics to Software

2 Models

3 Compulsory Abstractions for Verification/Optimization/...

4 Conclusion

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 26 / 28

Page 44: Energy consumption in embedded systems

Conclusion

Not Really a Conclusion

Facts:

Energy consumption (+ temperature) in embedded systems is acomplex phenomenon, even more with the software takingcontrol decisions

Models that are usable “formally” are necessarily very abstract

The distance between real life and models is quite big

So what? IMHO, there’s no silver bullet, each situation requires acareful analysis of the aspects that can be safely ignored;understanding the nature of the interactions may help decide what toignore, on purpose.

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 27 / 28

Page 45: Energy consumption in embedded systems

Conclusion

Thank you.Questions?

F. Maraninchi (UGA/VERIMAG) Oct 3rd, 2016 28 / 28