Whole Systems Energy Transparency Kerstin Eder Design Automation - - PowerPoint PPT Presentation

whole systems energy transparency
SMART_READER_LITE
LIVE PREVIEW

Whole Systems Energy Transparency Kerstin Eder Design Automation - - PowerPoint PPT Presentation

Whole Systems Energy Transparency Kerstin Eder Design Automation and Verification, Microelectronics Verification and Validation for Safety in Robots, Bristol Robotics Laboratory Department of COMPUTER SCIENCE Whole More power Systems to


slide-1
SLIDE 1

Kerstin Eder

Design Automation and Verification, Microelectronics Verification and Validation for Safety in Robots, Bristol Robotics Laboratory

Department of

COMPUTER SCIENCE

Whole Systems Energy Transparency

slide-2
SLIDE 2

Kerstin Eder

Design Automation and Verification, Microelectronics Verification and Validation for Safety in Robots, Bristol Robotics Laboratory

Department of

COMPUTER SCIENCE

More power to software developers! Whole Systems Energy Transparency

slide-3
SLIDE 3

Pictures taken from the Energy Efficient Computing Brochure at: https://connect.innovateuk.org/documents/3158891/9517074/Energy%20Efficient%20Computing%20Magazine?version=1.0

slide-4
SLIDE 4

Pictures taken from the Energy Efficient Computing Brochure at: https://connect.innovateuk.org/documents/3158891/9517074/Energy%20Efficient%20Computing%20Magazine?version=1.0

slide-5
SLIDE 5

Electricity Consumption (Billion kwH, 2007)

UK Greenpeace’s Make IT Green Report, 2010. http://www.greenpeace.org/international/en/publications/Campaign-reports/Climate-Reports/How-Clean-is-Your-Cloud/ UK Cloud computing

slide-6
SLIDE 6

“Despite improved energy

efficiency, energy consumption through electronic devices will triple until 2030 because of a massive rise in overall demand.”

6

slide-7
SLIDE 7

Crowds in St. Peter’s Square

http://www.spiegel.de/panorama/bild-889031-473266.html

2005 2013

http://www.spiegel.de/panorama/bild-889031-473242.html

slide-8
SLIDE 8

Energy Aware System Design

slide-9
SLIDE 9

Energy Efficiency of ICT

gAtes Blocks arChitecture

http://www.clker.com/cliparts/f/0/5/1/12937499341853355695circuit-board.jpg

slide-10
SLIDE 10

Greater Savings at Higher Levels

slide-11
SLIDE 11

The Focus is on Software

§ Software controls the behaviour of the hardware § Software engineers often “blissfully unaware”

– Implications of algorithm/code/data on power/energy? – Power/Energy considerations

  • at best, secondary design goals

§ BUT the biggest savings can be gained from optimizations at the higher levels of abstraction in the system stack

– algorithms, data and code

slide-12
SLIDE 12

Energy Efficiency of ICT

soFtware alGorithms gAtes Blocks arChitecture Drivers compilErs

http://www.clker.com/cliparts/f/0/5/1/12937499341853355695circuit-board.jpg http://static.datixinc.com/wp-content/uploads/2015/04/7.jpg

slide-13
SLIDE 13
slide-14
SLIDE 14

Aligning SW Design Decisions with Energy Efficiency as Design Goal

§ “Choose the best algorithm for the problem at hand and make sure it fits well with the computational hardware. Failure to do this can lead to costs far exceeding the benefit of more localized power optimizations. § Minimize memory size and expensive memory accesses through algorithm transformations, efficient mapping of data into memory, and optimal use of memory bandwidth, registers and cache. § Optimize the performance of the application, making maximum use of available parallelism. § Take advantage of hardware support for power management. § Finally, select instructions, sequence them, and order operations in a way that minimizes switching in the CPU and datapath.”

*

Kaushik Roy and Mark C. Johnson. 1997. “Software design for low power”. In Low power design in deep submicron electronics, Wolfgang Nebel and Jean Mermet (Eds.). Kluwer Nato Advanced Science Institutes Series, Vol. 337. Kluwer Academic Publishers, Norwell, MA, USA, pp 433-460.

Key steps*:

14

slide-15
SLIDE 15

How much?

Picture from www.pd4pic.com

slide-16
SLIDE 16

Energy Transparency

http://scottebales.com/wp-content/uploads/2013/05/transparecny-green.jpg

slide-17
SLIDE 17

Energy Transparency

Information on energy usage is available for programs:

§ ideally without executing them, and § at all levels from machine code to high-level application code.

17

  • K. Eder, J.P. Gallagher, P. López-García, H. Muller, Z. Banković, K. Georgiou, R. Haemmerlé, M.V. Hermenegildo,
  • B. Kafle, S. Kerrison, M. Kirkeby, M. Klemen, X. Li, U. Liqat, J. Morse, M. Rhiger, and M. Rosendahl. 2016.

“ENTRA: Whole-systems energy transparency”.

  • Microprocess. Microsyst. 47, PB (November 2016), 278-286. https://doi.org/10.1016/j.micpro.2016.07.003
slide-18
SLIDE 18

Transparency

slide-19
SLIDE 19

Transparency

slide-20
SLIDE 20

Transparency

slide-21
SLIDE 21

Energy transparency enables a deeper understanding of how algorithms and coding impact on the energy consumption of a computation when executed on hardware.

Why Energy Transparency?

21

  • K. Eder, J.P. Gallagher, P. López-García, H. Muller, Z. Banković, K. Georgiou, R. Haemmerlé, M.V. Hermenegildo,
  • B. Kafle, S. Kerrison, M. Kirkeby, M. Klemen, X. Li, U. Liqat, J. Morse, M. Rhiger, and M. Rosendahl. 2016.

“ENTRA: Whole-systems energy transparency”.

  • Microprocess. Microsyst. 47, PB (November 2016), 278-286. https://doi.org/10.1016/j.micpro.2016.07.003
slide-22
SLIDE 22

Measuring the Energy Consumption of Computation

slide-23
SLIDE 23

Measuring Power

Measure voltage drop across the resistor I = Vshunt / Rshunt to find the current. Measure voltage at

  • ne side of the resistor

P = I × V to calculate the power.

slide-24
SLIDE 24

The Power Monitor

Amplifier ADC

slide-25
SLIDE 25

Measuring Power

Measure voltage drop across the resistor I = Vshunt / Rshunt to find the current Measure voltage at

  • ne side of the resistor

P = I × V to calculate the power

Repeat frequently, timestamp each sample

slide-26
SLIDE 26

Measuring Energy

Time P

  • w

e r Energy

26

slide-27
SLIDE 27

How much data?

Currently 500,000 Samples/second 6,000,000 S/s possible in bursts

slide-28
SLIDE 28

The Showstopper L

slide-29
SLIDE 29

Open Energy Measurement Board

http://mageec.org/

slide-30
SLIDE 30

Dynamic Energy Monitoring

slide-31
SLIDE 31

The EACOF

A simple Energy-Aware COmputing Framework https://github.com/eacof

slide-32
SLIDE 32

High Level

Energy Data From Hardware

  • r OS

EACOF

Application

slide-33
SLIDE 33

Providers

HDD Provider

EACOF

Application Battery Provider CPU Provider

slide-34
SLIDE 34

Consumers

HDD Provider

EACOF

Battery Provider CPU Provider

slide-35
SLIDE 35

§ Inser-on Sort: 32 bit version more op-mized ♦ Coun-ng Sort:

75% more energy for 64 bit compared to 8 bit values

  • Sor-ng 64 bit values takes less -me than sor-ng 8 bit values,

but consumed more energy

Average power varia-ons between algorithms

Comparing Sorting Algorithms

§ Sor-ng of integers in [0,255]

35

  • H. Field, G. Anderson and K. Eder. “EACOF: A Framework for Providing Energy Transparency to enable Energy-Aware

Software Development”. 29th ACM Symposium On Applied Computing. pp. 1194–1199. March 2014, ACM. DOI: 10.1145/2554850.2554920

slide-36
SLIDE 36

Invitation: EACOF is open source!

github.com/eacof

slide-37
SLIDE 37

Static Analysis for Energy Consumption

slide-38
SLIDE 38
slide-39
SLIDE 39

The ENTRA Project

39

§ Whole Systems ENergy TRAnsparency

EC FP7 FET MINECC: “Software models and programming methodologies supporting the strive for the energetic limit (e.g. energy cost awareness or exploiting the trade-off between energy and performance/precision).”

slide-40
SLIDE 40

40

SRA for Energy Consumption

§ Adaptation of traditional resource usage analysis techniques to energy consumption. § Techniques automatically infer upper and lower bounds on energy usage of a program. § Bounds expressed using monotonic arithmetic functions per procedure parameterized by program’s input size. § Verification can be done statically by checking that the upper and lower bounds on energy usage and any other resource defined in the specifications hold.

slide-41
SLIDE 41

Specified Resource Usage

Source: Pedro Lopez Garcia, IMDEA SoSware Research Ins-tute

41

slide-42
SLIDE 42

Analysis Result

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

Source: Pedro Lopez Garcia, IMDEA SoSware Research Ins-tute

42

slide-43
SLIDE 43

Verification

Source: Pedro Lopez Garcia, IMDEA SoSware Research Ins-tute

43

slide-44
SLIDE 44

Static Energy Usage Analysis

int fact (int x) { if (x<=0)a return 1b; return (x *d fact(x-1))c; } Cfact(x) = Ca + Cb if x<=0 Cfact(x) = Ca + Cc(x) if x>0 Cc(x) = Cd + Cfact(x-1)

§ Substitute Ca, Cb, Cd with the actual energy required to execute the corresponding lower-level (machine) instructions.

Original Program: Extracted Cost Relations:

slide-45
SLIDE 45

Energy Modelling captures energy consumption

slide-46
SLIDE 46

Modelling Considerations

§ At what level should we model?

– instruction level, i.e. machine code – intermediate representation of compiler – source code

§ Models require measurements

– need to associate entities at a given level with costs, i.e. energy consumption

  • accuracy – the lower the better
  • usefulness – the higher the better

http://www.speechinaction.org/wp-content/uploads/2012/10/dilemma.jpg

slide-47
SLIDE 47

Instruction Base Cost, Bi, of each instruction i

Energy Cost (E) of a program (P):

Circuit State

Overhead, Oi,j, for each instruction pair

  • V. Tiwari, S. Malik and A. Wolfe. “Instruction Level Power Analysis and Optimization of Software”,

Journal of VLSI Signal Processing Systems, 13, pp 223-238, 1996.

Energy Modelling

Other

Instruction Effects (stalls, cache misses, etc)

47

slide-48
SLIDE 48

XCore Energy Modelling

Concurrency cost, instruction cost, generalised overhead, base power and duration

Energy Cost (E) of a multi-threaded program (P):

§ Use of execution statistics rather than execution trace. § Fast running model with an average error margin of less than 7%

Idle base power and duration

48

  • S. Kerrison and K. Eder. 2015. “Energy Modeling of Software for a Hardware Multithreaded Embedded

Microprocessor”. ACM Trans. Embed. Comput. Syst. 14, 3, Article 56 (April 2015), 25 pages. DOI=10.1145/2700104 http://doi.acm.org/10.1145/2700104

slide-49
SLIDE 49

The set up...

  • S. Kerrison and K. Eder. 2015. “Energy Modeling of Software for a Hardware Multithreaded Embedded

Microprocessor”. ACM Trans. Embed. Comput. Syst. 14, 3, Article 56 (April 2015), 25 pages. DOI=10.1145/2700104 http://doi.acm.org/10.1145/2700104

slide-50
SLIDE 50

ISA Characterization

50

slide-51
SLIDE 51

51

ISA Characterization

  • S. Kerrison and K. Eder. 2015. “Energy Modeling of Software for a Hardware Multithreaded Embedded

Microprocessor”. ACM Trans. Embed. Comput. Syst. 14, 3, Article 56 (April 2015), 25 pages. DOI=10.1145/2700104 http://doi.acm.org/10.1145/2700104

slide-52
SLIDE 52

Energy Consumption Analysis enables energy transparency

www.theguardian.com

slide-53
SLIDE 53

Energy Consumption Analysis enables energy transparency

www.theguardian.com

slide-54
SLIDE 54

SRA at the ISA Level

§ Combine static resource analysis (SRA) with the ISA- level energy model. § Provide energy consumption function parameterised by some property of the program or its data.

54

slide-55
SLIDE 55

Static Energy Usage Analysis

int fact (int x) { if (x<=0)a return 1b; return (x *d fact(x-1))c; } Cfact(x) = Ca + Cb if x<=0 Cfact(x) = Ca + Cc(x) if x>0 Cc(x) = Cd + Cfact(x-1)

§ Substitute Ca, Cb, Cd with the actual energy required to execute the corresponding lower-level (machine) instructions. § Solve equa-on using off-the-shelf solvers. § Result: Cfact(x) = (26x + 19.4) nJ

Original Program: Extracted Cost Relations:

55

slide-56
SLIDE 56

ISA-Level Analysis Results

56

  • U. Liqat, S. Kerrison, A. Serrano, K. Georgiou, N. Grech, P. Lopez-Garcia, M.V. Hermenegildo and K. Eder.

“Energy Consumption Analysis of Programs based on XMOS ISA-Level Models”. LOPSTR 2013. LNCS 8901. Springer. DOI: 10.1007/978-3-319-14125-1_5

slide-57
SLIDE 57

ISA-Level Analysis Results

57

  • U. Liqat, S. Kerrison, A. Serrano, K. Georgiou, N. Grech, P. Lopez-Garcia, M.V. Hermenegildo and K. Eder.

“Energy Consumption Analysis of Programs based on XMOS ISA-Level Models”. LOPSTR 2013.

slide-58
SLIDE 58

58

Analysis Options

§ Moving away from the underlying model risks loss of accuracy. § But it brings us closer to the original source code.

slide-59
SLIDE 59

Energy Consumption of LLVM IR

  • U. Liqat, K. Georgiou, S. Kerrison, P. Lopez-Garcia, J.P. Gallagher, M.V. Hermenegildo, K. Eder. “Inferring Parametric Energy

Consumption Functions at Different Software Levels: ISA vs. LLVM IR”. In Proceedings of FOPARA 2015. LNCS 9964.

  • Springer. DOI: 10.1007/978-3-319-46559-3_5 http://arxiv.org/abs/1511.01413
  • K. Georgiou, S. Kerrison, Z. Chamski and K. Eder. 2017. “Energy Transparency for Deeply Embedded Programs”.

ACM Trans. Archit. Code Optim. (TACO) 14, 1, Article 8 (March 2017), 26 pages. DOI: https://doi.org/10.1145/3046679. https://arxiv.org/abs/1609.02193

slide-60
SLIDE 60

LLVM IR Energy Characterization

  • K. Georgiou, S. Kerrison, Z. Chamski and K. Eder. 2017. “Energy Transparency for Deeply Embedded Programs”.

ACM Trans. Archit. Code Optim. (TACO) 14, 1, Article 8 (March 2017), 26 pages. DOI: https://doi.org/10.1145/3046679. https://arxiv.org/abs/1609.02193

slide-61
SLIDE 61

Analysis at the LLVM IR Level

  • N. Grech, K. Georgiou, J. Pallister, S. Kerrison, J. Morse, K. Eder. 2015. “Static analysis of energy consumption for LLVM IR

programs”. In Proceedings of the 18th International Workshop on Software and Compilers for Embedded Systems (SCOPES '15). ACM, New York, NY, USA, pages 12-21. http://dx.doi.org/10.1145/2764967.2764974

slide-62
SLIDE 62

SRA for Energy Consumption

  • K. Georgiou, S. Kerrison, Z. Chamski and K. Eder. 2017. “Energy Transparency for Deeply Embedded Programs”.

ACM Trans. Archit. Code Optim. (TACO) 14, 1, Article 8 (March 2017), 26 pages. DOI: https://doi.org/10.1145/3046679. https://arxiv.org/abs/1609.02193

slide-63
SLIDE 63

SRA for Energy Consumption

b s

  • r

t 1 r a d i x 4 D i v B . r a d i x 4 D i v b a s e 6 4 m a c l e v e n s h t e i n c n t s t fi r p . fi r 7 t m a t m u l m a t m u l 2 t m a t m u l 4 t b i q u a d b i q u a d 2 t b i q u a d 4 t p . b i q u a d 7 t j p e g d c t j p e g d c t 2 t j p e g d c t 4 t −15 −10 −5 5 10

% Error vs. hardware

Simulation ISA SRA LLVM IR SRA

  • K. Georgiou, S. Kerrison, Z. Chamski and K. Eder. 2017. “Energy Transparency for Deeply Embedded Programs”.

ACM Trans. Archit. Code Optim. (TACO) 14, 1, Article 8 (March 2017), 26 pages. DOI: https://doi.org/10.1145/3046679. https://arxiv.org/abs/1609.02193

slide-64
SLIDE 64

EC Static Analysis Results

Collection of sample runs (dividend, divisor) 0.5 1.0 1.5 2.0 2.5 3.0 Energy (Joules) ×10−7 Worst case

Radix4Div

Collection of sample runs (dividend, divisor) 0.5 1.0 1.5 2.0 2.5 3.0 Energy (Joules) ×10−7 Worst case

Balanced Radix4Div

HW meas. ISA WCEC LLVM IR WCEC Simulation ISA BCEC

  • K. Georgiou, S. Kerrison, Z. Chamski and K. Eder. 2017. “Energy Transparency for Deeply Embedded Programs”.

ACM Trans. Archit. Code Optim. (TACO) 14, 1, Article 8 (March 2017), 26 pages. DOI: https://doi.org/10.1145/3046679. https://arxiv.org/abs/1609.02193

slide-65
SLIDE 65

Profiling-based Energy Estimation

  • K. Georgiou, S. Kerrison, Z. Chamski and K. Eder. 2017. “Energy Transparency for Deeply Embedded Programs”.

ACM Trans. Archit. Code Optim. (TACO) 14, 1, Article 8 (March 2017), 26 pages. DOI: https://doi.org/10.1145/3046679. https://arxiv.org/abs/1609.02193

slide-66
SLIDE 66

Energy Consumption Profiling

ndes qsort bs minver crc nsichneu recursion ludcmp Sha256 SFloatAdd SFloatSub dijkstra bsort100 radix4Div B.radix4Div base64 mac levenshtein cnt st fir p.fir 7t matmul matmul 2t matmul 4t biquad p.biquad 7t jpegdct jpegdct 2t jpegdct 4t −15 −10 −5 5 10

% Error vs. hardware

Simulation Profiling

  • K. Georgiou, S. Kerrison, Z. Chamski and K. Eder. 2017. “Energy Transparency for Deeply Embedded Programs”.

ACM Trans. Archit. Code Optim. (TACO) 14, 1, Article 8 (March 2017), 26 pages. DOI: https://doi.org/10.1145/3046679. https://arxiv.org/abs/1609.02193

slide-67
SLIDE 67

The Worst Case …

slide-68
SLIDE 68

ISA Characterization

68

slide-69
SLIDE 69

Static Resource Bound Analysis

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

Source: Pedro Lopez Garcia, IMDEA SoSware Research Ins-tute

69

slide-70
SLIDE 70

§ Worst Case Execu-on Time (WCET) Analysis:

– WCET model – WCET bounds (often for safety critical applications)

  • safe, i.e. no underestimation
  • tight, i.e. ideally very little overestimation

Does this work for energy consump4on analysis?

Worst Case Execution Time

From “The Worst-Case Execution- Time Problem — Overview of Methods and Survey of Tools” by WILHELM et al. (2008)

slide-71
SLIDE 71

§ WCEC analysis goes well beyond WCET analysis.

– embedded real-time systems that are timing predictable execute instructions in a fixed number of clock cycles – WCET then depends only on the WC execution path – timing variability has mostly been eliminated “by design" through the use of synchronous logic

§ But, energy consumption is data dependent.

Worst Case Energy Consumption

slide-72
SLIDE 72

ISA Characterization

72

slide-73
SLIDE 73

W/A/B-Case Energy Consumption

slide-74
SLIDE 74

W/A/B-Case Energy Consumption

slide-75
SLIDE 75

a*b = b*a

slide-76
SLIDE 76

Energy(a*b) ≠ Energy(b*a)

slide-77
SLIDE 77

Dynamic Energy is significant

§ Data dependent switching costs can be large § Some instructions can cause as much dynamic energy as static (sub) § How can we account for context- dependent switching costs? § Can WCEC be safe and tight?

slide-78
SLIDE 78

Statistical Energy Modelling

6.6 6.8 7.0 7.2 7.4 7.6 7.8 8 0.0 0.5 1.0 1.5 2.0 2.5 3.0

Weibull fit Extreme value fit Test data

Energy distribution (nJ) for AVR shl

§ Many instructions exhibit statistical properties § Different instruction distributions can be composed § Can statistically impossible energy be considered a safe upper bound?

slide-79
SLIDE 79

Accepted for publication at 20th International Workshop on Software and Compilers for Embedded Systems (SCOPES 2017). Preprint available at: https://arxiv.org/abs/1505.03374

slide-80
SLIDE 80

Critical questions for WCEC modelling:

Data Dependent Energy Modelling

§ Which data should be used to characterize a WCEC model? § Which data causes the WCEC for a given program? § Which data triggers the most switching during the execution

  • f the program?
slide-81
SLIDE 81

Energy of an Instruction Sequence

100 data values provided to a sequence of 8 instructions ranking of the instruction sequence’s energy up to instruction x

slide-82
SLIDE 82

by input

Energy of an Instruction Sequence

100 data values provided to a sequence of 8 instructions ranking of the instruction sequence’s energy up to instruction x

experiments conducted by James Pallister

slide-83
SLIDE 83

by input and by output

Energy of an Instruction Sequence

100 data values provided to a sequence of 8 instructions ranking of the instruction sequence’s energy up to instruction x

experiments conducted by James Pallister

slide-84
SLIDE 84

Complexity Analysis

§ Determining switching costs is NP-hard

– Amount of computation required increases exponentially with program size – Problem cannot be approximated accurately

§ No algorithm can efficiently find dynamic energy, so other questions must be posed

– Is a less general solution acceptable? – What level of inaccuracy can be tolerated?

  • J. Morse, S. Kerrison and K. Eder. 2016. “On the infeasibility of analysing worst case dynamic energy”.

(under review) http://arxiv.org/abs/1603.02580

slide-85
SLIDE 85
slide-86
SLIDE 86
  • J. Morse, S. Kerrison and K. Eder. 2016. “On the infeasibility of analysing worst case dynamic energy”.

(under review) http://arxiv.org/abs/1603.02580

16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 Operand 2 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 Operand 1 5 10 15 20 25 30 35 40 45 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 Operand 2 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 Operand 1 2 4 6 8 10 12 14 16 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 Operand 2 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 Operand 1 0.0 0.8 1.6 2.4 3.2 4.0 4.8 5.6 6.4 7.2 8.0 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 Operand 2 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 Operand 1 5 10 15 20 25 30 35 40 45 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 Operand 2 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 Operand 1 5 10 15 20 25 30 35 40 45 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 Operand 2 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 Operand 1 8 16 24 32 40 48 56

Impact of Datapath Switching

slide-87
SLIDE 87

^ × +

§ To achieve Energy Transparency

– Energy modelling is a huge challenge

  • Fundamental research questions

– data-dependent energy models – compositional – probabilistic techniques

– Analysis techniques for energy consumption

  • SRA works best for IoT-type systems
  • Hybrid, profiling-based techniques for more

complex architectures

Summing up

slide-88
SLIDE 88

Towards Energy Aware Software Engineering

slide-89
SLIDE 89

Energy Transparency

89

§ For HW designers: “Power is a 1st and last order design constraint.”

[Dan Hutcheson, VLSI Research, Inc., E3S Keynote 2011]

§ “Every design is a point in a 2D plane.”

[Mark Horowitz,E3S 2009]

slide-90
SLIDE 90

90

§ For HW designers: “Power is a 1st and last order design constraint.”

[Dan Hutcheson, VLSI Research, Inc., E3S Keynote 2011]

§ “Every design is a point in a 2D plane.”

[Mark Horowitz,E3S 2009]

Energy Transparency

slide-91
SLIDE 91

91

§ For HW designers: “Power is a 1st and last order design constraint.”

[Dan Hutcheson, VLSI Research, Inc., E3S Keynote 2011]

§ “Every design is a point in a 2D plane.”

[Mark Horowitz,E3S 2009]

Energy Transparency

slide-92
SLIDE 92

92

§ For HW designers: “Power is a 1st and last order design constraint.”

[Dan Hutcheson, VLSI Research, Inc., E3S Keynote 2011]

§ “Every design is a point in a 2D plane.”

[Mark Horowitz,E3S 2009]

Energy Transparency

slide-93
SLIDE 93

More POWER to SW Developers

§ Full Energy Transparency from HW to SW § Location-centric programming model

93

in 5pJ do {...}

“Cool” code for green software

A cool programming competition!

Promoting energy efficiency to a 1st class SW design goal is an urgent research challenge.

Pictures taken from the Energy Efficient Computing Brochure at: https://connect.innovateuk.org/documents/3158891/9517074/Energy%20Efficient%20Computing%20Magazine?version=1.0

slide-94
SLIDE 94

Thank you for your attention

Kerstin.Eder@bristol.ac.uk

slide-95
SLIDE 95

95

If you want an ul4mate low-power system, then you have to worry about energy usage at every level in the system design, and you have to get it right from top to bo>om, because any level at which you get it wrong is going to lose you perhaps an order of magnitude in terms of power efficiency.

The hardware technology has a first-order impact on the power efficiency of the system, but you've also got to have soSware at the top that avoids waste wherever it can. You need to avoid, for instance, anything that resembles a polling loop because that's just burning power to do nothing. I think one of the hard ques-ons is whether you can pass the responsibility for the soSware efficiency right back to the programmer.

Do programmers really have any understanding of how much energy their algorithms consume?

I work in a computer science department, and it's not clear to me that we teach the students much about how long their algorithms take to execute, let alone how much energy they consume in the course of execu-ng and how you go about

  • p-mizing an algorithm for its energy consump-on.

Some of the responsibility for that will probably get pushed down into compilers, but I s-ll think that fundamentally, at the top level, programmers will not be able to afford to be ignorant about the energy

cost of the programs they write.

What you need in order to be able to work in this way at all is instrumenta-on that tells you that running this algorithm has this kind of energy cost and running that algorithm has that kind of energy cost.

You need tools that give you feedback and tell you how good your decisions are.

Currently the tools don't give you that kind of feedback.

February 2010, acmqueue Interview with Steve Furber The designer of the ARM chip shares lessons on energy-efficient compu4ng at: http://queue.acm.org/detail.cfm?id=1716385

Steve Furber

slide-96
SLIDE 96