Top Banner
Chungbuk National University Software Engineering Lab. Power Consumption Analysis Technique using UML-Bas Design Models in Embedded Software Development SOFSEM 2011 January 25th, 2011 Kim, DooHwan
23

Chungbuk National University Software Engineering Lab.

Dec 24, 2015

Download

Documents

Mae Howard
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chungbuk National University Software Engineering Lab.

Chungbuk National University Software Engineering Lab.

A Power Consumption Analysis Technique using UML-BasedDesign Models in Embedded Software Development

SOFSEM 2011

January 25th, 2011

Kim, DooHwan

Page 2: Chungbuk National University Software Engineering Lab.

2

Introduction

UML Model-Based Energy Estimation

Experiment

Conclusion

Page 3: Chungbuk National University Software Engineering Lab.

3

Importance of Power Analysis In portable embedded system

There are limitations of resources such as Memory, CPU, Battery, etc

Specially, these systems are operated with limited energy source (a battery)

The necessity of the research for low power soft-ware is issued

Page 4: Chungbuk National University Software Engineering Lab.

4

Power analysis efficiency at abstraction levels[T. K. Tan, 2003]

Advantages of model-based software power analysis Higher power saving Fast estimation time

Hardware Software

Design modellevel

Instructionlevel

Program-codelevel

Design modellevel

Instructionlevel

Program-codelevel

Behavior level

RT level

Logic level

Transistor level

Behavior level

RT level

Logic level

Transistor level

minutes

hours

days

10X

2X

20%

5%

Hig

he

r p

ow

er

sav

inig

s

Fas

ter

esti

mat

ion

/fee

db

ack

Page 5: Chungbuk National University Software Engineering Lab.

5

Power Estimation of Embedded Software

Our motivation Seamless process support in energy-efficient embedded

software development Low feedback cost Fast estimation

Code-BasedPower Estimation

Model-BasedPower Estimation

RequirementsSW Analysis

/ DesignImplementation

System Integration/ Testing

Target installation

HW Configuration

Page 6: Chungbuk National University Software Engineering Lab.

6

Proposed Estimation Process

UML design models

Transform UML models to CFG

EBU detectionPower consump-tion of the EBU

Accumulation of the consumption

Energy Li-brary

No more

EBU in CFG

Estimated energy con-

sumption

Yes

No

Page 7: Chungbuk National University Software Engineering Lab.

7

Building Energy Library (1/4) Underlying component built up prior to analysis

Energy Library

• E is a set of EBUs• V is a set of virtual instructions• is a set of mapping actions such that

EBU (Energy Behavioral Unit)• The basic unit derived from the behavior analysis of UML models

Diagrams EBUs

SDMessage (send, receive), MessageSort (SynchCall, AsynchCall, Signal),InteractionOperator (alt, opt, loop, par)

IOD Fork, Join (wait), Invocation (Create), InterruptableActivityRegion

ALBitwise Operator (+, -, *, /, %, <<, |, !, ==, &&, >=, etc.),Function Operator (read, write, malloc, etc.)

Page 8: Chungbuk National University Software Engineering Lab.

8

Building Energy Library (2/4) VI (Virtual Instruction) [Bammie, 2000]

• A set of generalized instructions• Defined to estimate power consumption caused by a program

execution

Types Instructions

VPIload, store, add, sub, call divide, call module, mult, compare, convertType, branch, bit-NOT, bitAND, bitOR, bitXOR, bitShiftLeft, bitShiftRight

VSF

Process Manager fork(), waitpid(), wait(), signal()

IPCmsgsnd(), msgrcv(), msgget(), msgctl(), semget(), semctl(), se-mop(), pipe(), pipe open(), pipe write()

File System fileopen(), fileclose(), fileread(), filewrite()

Memory Manager shmget(), shmat(), shmdt(), shmctl()

Page 9: Chungbuk National University Software Engineering Lab.

9

Building Energy Library (3/4) Some of energy profiling for the VI

VPI Type Energy(nJ) VSF Parameters Macro-model (nJ)

load

char 14.1 fork() - 132202.6

short 28.1 waitpid() - 25077.3

int 13.0 wait() - 24986.6

float 13.0 signal() - 9460.6

double 13.7 File open() - 17886.6

store

char 13.2 File close() - 8262.2

short 26.4 File read() χ bytes 5.1χ +49308.5

int 12.5 File write() χ bytes 5.6χ +32022.3

float 12.8 shmget() - 126358.8

double 13.2 shmat() - 11599.9

c.f : http://selab.cbnu.ac.kr/projects/esuml/index.html

Page 10: Chungbuk National University Software Engineering Lab.

10

Building Energy Library (4/4) Mapping VIs into EBUs

• An EBU can be mapped with 1 or more VIs– read mapped with file read()– Sync mapped with store and branch

VPI Type Energy(nJ)

store

char10.1905short

intfloat

13.0162double

branch n/a 1.91309

VSF Type Energy(nJ)

file read x bytes5.1x +

49308.5

… … …

Page 11: Chungbuk National University Software Engineering Lab.

11

Proposed Estimation Process (revisited)

UML design models

Transform UML models to CFG

EBU detectionPower consump-tion of the EBU

Accumulation of the consumption

Energy Li-brary

No more

EBU in CFG

Estimated energy con-

sumption

Yes

No

Page 12: Chungbuk National University Software Engineering Lab.

12

Transform UML Model to Control Flow Graph (1/2) The reasons of transformation

• CFG has strong expressiveness for behavioral sequence of software function

• Using CFG is easier to identify power consuming factors than UML models directly

Transform

:P :Q :R

m1

m2

m3

sd A

n1 n2

n3n4

n5 n6

CFG

al1

n23

Page 13: Chungbuk National University Software Engineering Lab.

13

Transform UML Model to Control Flow Graph (2/2) A node structure of CFG

Struct CFG_NODE {Node id := node identifier;Predecessor_Node := node identifiersSuccessor_Node := node identifiers;BelongTo := diagram_name.objectname;Guard_Cond := condition clause to control the behaviors alt, loop, etc, apeared in SD.Node_Type := UML element node type;Node_Type_Start := boolean;Node_Type_End := boolean;

// to represent method call or action language appeared in SDIncluded_Category := {FuncCall, ActionLang}Included_Token_Set := a lined list of terms, appeared in FunCall or ActionLang;

} End_Struct

Page 14: Chungbuk National University Software Engineering Lab.

14

EBU Detection

Page 15: Chungbuk National University Software Engineering Lab.

15

Power Consumption of EBU If detected an EBU, the simulator calculates energy con-

sumption of the EBU by using the energy values of mapped VIs from energy library

Total Energy Consumption Total energy of model TEC is

Page 16: Chungbuk National University Software Engineering Lab.

16

Issues of our experiment How about accuracy How much speed-up How to apply this technique

Environments

ESUML-EA

• Power analysis tool we developed with• Java Eclipse 3.2• EMF, GEF, and RCP are used plug-ins

EMSIM 2.0

• Code-based power analysis tool developed by T. K. Tan• It aims platform that configured with StrongArm on SA1100 ar-

chitecture with Embedded Linux

Page 17: Chungbuk National University Software Engineering Lab.

17

Accuracy of model-based analysis (1/2) UML sequence diagram for Huffman Encoding

Page 18: Chungbuk National University Software Engineering Lab.

18

Accuracy of model-based analysis (2/2) App. 1 : Data retrieval App. 2 : Shortest path selection App. 3 : Image translation App. 4 : Encoding (Huffman code)

Target Module

Input Data(Bytes)

Estimated Energy Consumption (nJ)Deviation

(%)Code-based Model-based

App. 1 80 113203.6 103936.8 8.91

App. 2 288 136982.1 135419.3 1.15

App. 3 262144 11143678.6 10168948.7 9.58

App. 4 31323 190584749.8 183144624.3 3.91

Page 19: Chungbuk National University Software Engineering Lab.

19

Elapsed time for analysis (1/2) Comparison of the elapsed time for 4 applications

App. 1 App. 2 App. 3 App. 40

5

10

15

20

25

30

35

Sorce code-based Model-based

Ele

ap

se

d T

ime

(S

ec)

Page 20: Chungbuk National University Software Engineering Lab.

20

Elapsed time for analysis (2/2) Comparison of the elapsed time by data size in App. 4

1 2 3 40

1000000

2000000

3000000

4000000

5000000

6000000

0

4

8

12

16

20

24Data SizeElapsed Time

Experiment ID

Input

Data

Siz

e (

KB

)

Ela

pse

d T

ime(S

ec)

Page 21: Chungbuk National University Software Engineering Lab.

21

Application of model-based analysis result Results are provided by unit of diagrams or objects

• Therefore, We could identify which diagram or object consumes a lot of power from the report

Page 22: Chungbuk National University Software Engineering Lab.

22

Proposed model-based power consumption analysis technique Power analysis by

• CFG generation from UML design models• EBU elicitation from UML models• Energy Library for those EBUs

Benefits• Early feedback• Fast estimation• Seamless process support in energy-efficient embedded soft-

ware development

Future work Power consumption analysis for MPSoC architecture using

current proposed technique

Page 23: Chungbuk National University Software Engineering Lab.

23

THANK YOU