Software development methodology in a Green IT environment Hayri - - PowerPoint PPT Presentation

β–Ά
software development methodology in a green it environment
SMART_READER_LITE
LIVE PREVIEW

Software development methodology in a Green IT environment Hayri - - PowerPoint PPT Presentation

Software development methodology in a Green IT environment Hayri ACAR , Glfem I. A LPTEKIN , Jean-Patrick GELAS , , Parisa GHODOUS Universit Claude Bernard, Lyon 1, LIRIS, France ENS Lyon, LIP, UMR 5668, France


slide-1
SLIDE 1

ConfΓ©rence Γ©co-conception logicielle 03/02/2017

Software development methodology in a Green IT environment

Hayri ACAR 𝑏,

GΓΌlfem I. ALPTEKIN 𝑐, Jean-Patrick GELAS 𝑏,𝑑, Parisa GHODOUS 𝑏

𝑏 UniversitΓ© Claude Bernard, Lyon 1, LIRIS, France 𝑑 ENS Lyon, LIP, UMR 5668, France 𝑐 Galatasaray University, Turkey

03/02/2017 1

slide-2
SLIDE 2

Usage and users never stop growing…

03/02/2017 2

Internet live stats

slide-3
SLIDE 3

INTRODUCTION

03/02/2017 3

USAGE:

Applications Software Mobile devices (Smartphone, Tablet,…) Web Services Cloud Internet

RESULTS:

Power Consumption Energy Consumption Greenhouse Gas Emission Pollution

How we can optimize our usage to obtain green results ?

slide-4
SLIDE 4

STATE OF THE ART

03/02/2017 4

slide-5
SLIDE 5

STATE OF THE ART

03/02/2017 5

POWER CONSUMING COMPONENTS

  • CPU
  • MEMORY
  • HARD DISK
  • NETWORK
  • OTHERS
slide-6
SLIDE 6

STATE OF THE ART

03/02/2017 6

Software Tools Hybrid solutions Hardware methodologies

slide-7
SLIDE 7

STATE OF THE ART

  • Software tools:
  • Based on Mathematical formula to estimate Energy consumption.
  • Very few tools in this area of study.
  • Tools are not exhaustive.

03/02/2017 7

slide-8
SLIDE 8

SYSTEMATIC REVIEW

03/02/2017 8

slide-9
SLIDE 9

Some software tools

03/02/2017 9

Tools Power Model Appreciations

Joulemeter 𝐹𝑑𝑧𝑑𝑒𝑓𝑛 = 𝐹𝐷𝑄𝑉 + 𝐹𝑁𝑓𝑛𝑝𝑠𝑧 + 𝐹𝐸𝑗𝑑𝑙 Globally, estimates energy consumption of all components, but for a given process estimates

  • nly energy consumption of CPU.

vEC 𝐹 = 𝐹𝑐𝑣𝑑 + πΉπ‘‘π‘“π‘šπ‘š + πΉπ‘žπ‘π‘’ + πΉπ‘›π‘π‘—π‘œ Estimates only energy consumption due to memory. Orion 𝐹 = 𝐹𝑠𝑓𝑏𝑒 + 𝐹π‘₯𝑠𝑗𝑒𝑓 Communication components are considered. Span 𝑄(π‘’π‘˜,𝑔

𝑗)π‘žπ‘ π‘“π‘’ = βˆ†π‘„(π‘’π‘˜,𝑔 𝑗)π‘žπ‘ π‘“π‘’ + 𝑄(𝑔 𝑗)

In the Software code, manually code can be added to show the parts of code involved on the power consumption. PowerAPI 𝑄

𝑇𝑝𝑔𝑒π‘₯𝑏𝑠𝑓 = 𝑄 π‘‘π‘π‘›π‘ž + 𝑄 𝑑𝑝𝑛

Only CPU and network have been considered.

slide-10
SLIDE 10

STATE OF THE ART

03/02/2017 10

Power saving techniques Transistor sizing and reordering Dynamic power consumption of transistors is decreased Network-On-Chip Improvement over standard bus and crossbar interconnections Reduce memory access integrate a cache in the classical memory hierarchy of a modern processor DFS (Dynamic Frequency Scaling) Method where frequency of a microprocessor can be adapted automatically DVS (Dynamic voltage scaling) Lowering or increasing the supply voltage of the CPU

slide-11
SLIDE 11

ENGINEERING PROCESS

03/02/2017 11

Requirements Design & Implementation Tests Disposal Maintenance Usage Green analysis Green analysis

Towards a Green and Sustainable Software

  • H. Acar, G.I. Alptekin, J.-P. Gelas and P. Ghodous.

In Proceedings of the 22nd {ISPE} Inc. International Conference on Concurrent Engineering.

slide-12
SLIDE 12

POWER MODEL

03/02/2017 12

Dynamic and static power: 𝑄

𝑇𝑝𝑔𝑒π‘₯𝑏𝑠𝑓 = π‘„π‘’π‘§π‘œπ‘π‘›π‘—π‘‘ + 𝑄 𝑑𝑒𝑏𝑒𝑗𝑑

Separating dynamic and static power: 𝑄

𝑇𝑝𝑔𝑒π‘₯𝑠𝑓 = 𝑄 𝐷𝑄𝑉,π‘’π‘§π‘œπ‘π‘›π‘—π‘‘ + 𝑄 𝐷𝑄𝑉,𝑑𝑒𝑏𝑒𝑗𝑑 +

𝑄

𝑁𝑓𝑛𝑝𝑠𝑧,π‘’π‘§π‘œπ‘π‘›π‘—π‘‘ + 𝑄 𝑁𝑓𝑛𝑝𝑠𝑧,𝑑𝑒𝑏𝑒𝑗𝑑 +

𝑄

𝐸𝑗𝑑𝑙,π‘’π‘§π‘œπ‘π‘›π‘—π‘‘ + 𝑄 𝐸𝑗𝑑𝑙,𝑑𝑒𝑏𝑒𝑗𝑑 +

𝑄

𝑂𝑓𝑒π‘₯𝑝𝑠𝑙,π‘’π‘§π‘œπ‘π‘›π‘—π‘‘ + 𝑄 𝑂𝑓𝑒π‘₯𝑝𝑠𝑙,𝑑𝑒𝑏𝑒𝑗𝑑

slide-13
SLIDE 13

POWER MODEL

03/02/2017 13

CPU:

𝑄

𝐷𝑄𝑉 = 𝐷 Γ— π‘ŠΒ² Γ— 𝐺

𝑄

𝐷𝑄𝑉,𝑗𝑒 = 𝑄 𝐷𝑄𝑉 Γ— 𝑂𝑗𝑒 100

Memor

  • ry:

𝑄

𝐸𝑆𝐡𝑁,π‘’π‘§π‘œ = 𝑄 𝐡𝑑𝑒𝑗𝑀𝑏𝑒𝑓 + 𝑄 π‘„π‘ π‘“π‘‘β„Žπ‘π‘ π‘•π‘“ + 𝑄 𝑆𝑓𝑏𝑒 + 𝑄 𝑋𝑠𝑗𝑒𝑓

𝑄

𝐸𝑆𝐡𝑁,𝑗𝑒 = 𝑄 𝐸𝑆𝐡𝑁,π‘’π‘§π‘œ . 𝑁𝑗𝑒

Hard Disk:

𝑄

𝐸𝑗𝑑𝑙 = 𝑄 𝐡𝑑𝑒𝑗𝑀𝑓 + (𝑄 π½π‘’π‘šπ‘“ + 𝑄 π‘‡π‘’π‘π‘œπ‘’π‘π‘§ + 𝑄 π‘‡π‘šπ‘“π‘“π‘ž)

𝑄

𝐸𝑗𝑑𝑙,π‘’π‘§π‘œ = 𝑄 𝐡𝑑𝑒𝑗𝑀𝑏𝑒𝑓 = 𝑄 𝑆𝑓𝑏𝑒 + 𝑄 𝑋𝑠𝑗𝑒𝑓

slide-14
SLIDE 14

TOP PROGRAMMING LANGUAGE

03/02/2017 14

IEEE Spectrum 2015 http://spectrum.ieee.org/static/interactive-the-top-programming-languages-2015 TIOBE INDEX http://www.tiobe.com/tiobe_index

slide-15
SLIDE 15

Tool for Estimating Energy Consumption

03/02/2017 15

slide-16
SLIDE 16

EXPERIMENTS

03/02/2017 16

Fibonacci sequence is implemented in Java of 2 ways:

  • Recursively: 45 terms are calculed.
  • Iteratively: calculation of 5,000 values.

TEEC & Joulemeter results are compared.

slide-17
SLIDE 17

EXPERIMENTS

03/02/2017 17

Quite similar results between TEEC and Joulemeter. Recursive method consumes more power in amplitude and time than the iterative method.

slide-18
SLIDE 18

EXPERIMENTS

03/02/2017 18

Functions Unoptimized Optimized Time (ms)

Locality of reference

18140 17219

Compare array to array list

22047 17297

Compare integer list loop

7734 7391

Char array StringBuilder

11235 2421

Binary search

2250 438 Unoptimized code Optimized code

slide-19
SLIDE 19

EXPERIMENTS

03/02/2017 19

slide-20
SLIDE 20

EXPERIMENTS

03/02/2017 20

Nested Loops C Java Unoptimized Optimized Unoptimized Optimized

char* fn(int N) { int i = 0;

char* v = (char*)malloc(N * 2);

while (i < N) { int j = 0; v[i] = 0; i++; while (j < N) { v[i] += v[j + N]; j++; } } return v; } char* fn2(int N) { int i = 0;

char* v = (char*)malloc(N * 2);

int tmp; while (i < N) { int j = 0; v[i] = 0; i++; tmp = 0; while (j < N) { tmp += v[j + N]; j++; } v[i] = tmp; } return v; } public static char[] fn(int N) { int i = 0; char[] v = new char[N*2]; while (i < N) { int j = 0; v[i] = 0; i++; while (j < N) { v[i] += v[j + N]; for (v + j + N) j++; } } return v; } public static char[] fn2(int N) { int i = 0; char[] v = new char[N*2]; int tmp; while (i < N) { int j = 0; v[i] = 0; i++; tmp = 0; while (j < N) { tmp += v[j + N]; j++; } v[i] = (char) tmp; } return v; }

slide-21
SLIDE 21

EXPERIMENTS

03/02/2017 21

slide-22
SLIDE 22

CONCLUSIONS and FUTURE WORKS

03/02/2017 22

  • Currently, energy estimation tools aren’t exhaustive.
  • TEEC: now estimates CPU, memory, hard disk and network interface card.
  • Java agents to determine source code hotpoints.
  • Propose green programing best practises (with our expertise).
  • Focus on Cloud computing (web services)
slide-23
SLIDE 23

PUBLICATIONS

03/02/2017 23 The impact of source code in software on power consumption

  • H. Acar, G.I. Alptekin, J.-P. Gelas and P. Ghodous.

International Journal of Electronic Business Management, TEEC : Improving power consumption estimation of software

  • H. Acar, G.I. Alptekin, J.-P. Gelas and P. Ghodous.

In Proceedingsof the 30th International Conferenceon Environmental informatics. Berlin, Germany, September 14-16, 2016. Beyond CPU: Considering Memory Power Consumption of Software

  • H. Acar, G.I. Alptekin, J.-P. Gelas and P. Ghodous.

In Proceedingsof the 5th International Conference on Smart Citiesand Green ICT Systems(SMARTGREENS). Rome, Italy, April 23-25, 2016. A Green approach to save energyconsumed by software

  • H. Acar, G.I. Alptekin, J.-P. Gelas and P. Ghodous.

In Proceedingsof the 3rd International Conference on ICT for Sustainability (ICT4S). Copenhagen, Denmark, September7-9, 2015. Towards a Green and Sustainable Software

  • H. Acar, G.I. Alptekin, J.-P. Gelas and P. Ghodous.

In Proceedingsof the 22nd {ISPE} Inc. International Conference on Concurrent Engineering. Delft, The Netherlands, July 20-23, 2015, pp. 471-480