a simulation framework for energy-consumption analysis of os-driven embedded applications t.k. tan,...

18
A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications T.K. Tan, A. Raghunathan, N.K. Jha, Dept. of Electr. Eng., Princeton Uni v., NJ, USA. Computer-Aided Design of Integrated C ircuits and Systems, IEEE Transaction s, Sept. 2003, pp. 1284 - 1294 Presenter: Ching-Chi Hu

Post on 21-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications

T.K. Tan, A. Raghunathan, N.K. Jha,

Dept. of Electr. Eng., Princeton Univ., NJ, USA.

Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions, Sept. 2003, pp. 1284 - 1294

Presenter: Ching-Chi Hu

112/04/18 A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications2/18

Abstract Energy consumption has become a major focus in the

design of embedded systems (e.g., mobile computing and wireless communication devices). In particular, a shift of emphasis from hardware-oriented low-energy design techniques to energy-efficient embedded software design has occurred progressively in the past few years. To that end, various techniques have been developed for the design of energy-efficient embedded software. In operating system (OS)-driven embedded systems, the OS has a significant impact on the system's energy consumption directly (energy consumption associated with the execution of the OS functions and services), as well as indirectly (interaction of the OS with the application software).

112/04/18 A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications3/18

Abstract(Cont.) As a first step toward designing energy-efficient OS-b

ased embedded systems, it is important to analyze the energy consumption of embedded software by taking the OS energy characteristics into account. To facilitate such studies, we present, in this work, an energy simulation framework that can be used to analyze the energy consumption characteristics of an embedded system featuring the embedded Linux OS running on the StrongARM processor. The framework allows software designers to study the energy consumption of the system software in relation to the application software, identify the energy hot spots, and perform design changes based on the knowledge of the OS energy consumption characteristics as well as application-OS interactions.

112/04/18 A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications4/18

Outline

Related Work What’s the problem Simulation framework Energy accounting Simulator validation Limitations Conclusion

112/04/18 A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications5/18

Related Work

Instruction-level power model Mehta et al: evaluate compiler optimization techniq

ues for low-power software Li et al: a framework based on Fujitsu’s SPARClite

processor Simunic et al: cycle accurate model based on Stron

gARM SA-1100 to estimate energy consumption and battery life

JouleTrack: a web-based energy simulation tools separate into frequency and voltage, and instruction statistics

Structure-based power model

112/04/18 A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications6/18

Related Work (cont.)

Embedded OS simulator Rosenblum et al: SimOS, a machine simulator that

simulates the hardware of MIPS-based multiprocessor

Dick et al: a framework for real-time OS Cignetti et al: based on discrete device states for P

almOS family Flinn et al: PowerScope, a hardware instrumentatio

n tool to map energy consumption to program structures

Acquaviva et al: a hardware instrumentation method to perform energy characterization related to the OS

112/04/18 A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications7/18

What’s the problem?

Most of energy-simulation tools are only targeted at providing feedback from the hardware architecture standpoint

A few have been adapted to evaluate the software energy consumption

Even fewer evaluate of embedded systems considering the effects of an embedded OS

112/04/18 A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications8/18

Simulation framework

StrongARM SA-1100 core Consisting of an ISS ,D-cache ,I-cache ,MMU

Simulation model 32MB system memory interrupt controller two timers two UARTs

Linux OS arm-linux ver 2.2.2 ,configure for the EBSA-110 plat

form mount an initial RAM disk

112/04/18 A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications9/18

Simulation framework (cont.)

Energy analysis framework

112/04/18 A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications10/18

Simulation framework (cont.)

Energy modeling Et_sys=Et_proc+Et_idle+Et_mem+Et_uart+Et_peri

Et_proc=ΣEproc[instr_type(i)]*Ncyc(i) Σ from i=1 to total number of instructions executed

Et_idle=Pidle*Tcyc*Nidle_cyc

Pidle=65mW

Et_mem=Emem*Nmem_cyc

Emem=4.70nJ

Et_uart=Euart*Nuart_cyc

Euart=0.21nJ

Et_peri=Eperi*Nperi_cyc

112/04/18 A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications11/18

Energy accounting

The process executed is task by task illustrated that sequence of event during Linux OS

initialization Idle task :hardware initialization Init task :software initialization ,mount root file

112/04/18 A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications12/18

Energy accounting (cont.)

application in the task-based simulator A separate TEBS for each task running

TEBS :task energy balance sheet A function energy stack (FES) for each task

an FES mirrors the function call stack for the corresponding task

The information stored in FES is the energy value of the task at the time of entry into a function

112/04/18 A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications13/18

Energy accounting (cont.)

The example of two tasks and it’s function

112/04/18 A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications14/18

Energy accounting (cont.)

112/04/18 A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications15/18

Energy Accounting (cont.)

each task running has a separate TEBS Similarly ,the simulator maintain a FES for

each task

112/04/18 A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications16/18

Simulator validation

Functional Validation Dining philosopher Priority inversion Time-of-flight Two robots

Energy modeling accuracy Both in the simulator and on an Itsy evaluation

board

112/04/18 A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications17/18

Limitations

Context switch detection special function in is not always fit for other OS

Asynchronous operation The simulator is task-and-function based It can’t recognize that the actual work done should

be attributed to the task requesting it Energy estimation error

Cycle-counts based on the time information provided in the manual

112/04/18 A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications18/18

Conclusion

Conclusion presented an energy simulation framework for an

embedded system run the Linux OS starting from initialization to the

spawning of multiple application tasks validated for both its functionality and its modeling

accuracy

Future work improved in software architectural exploration for

low energy consumption