A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications T.K. Tan,...
-
date post
21-Dec-2015 -
Category
Documents
-
view
213 -
download
0
Transcript of A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications T.K. Tan,...
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