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.

Slides:



Advertisements
Similar presentations
Robert P. Dick, Ganesh Lakshminarayana, Anand Raghunathan, and Niraj K. Jha Design Automation Conference, 2000 Reporter: Keng-Mao Cho Advisor: Prof. Chu-Sing.
Advertisements

November 23, 2005 Egor Bondarev, Michel Chaudron, Peter de With Scenario-based PA Method for Dynamic Component-Based Systems Egor Bondarev, Michel Chaudron,
Threads, SMP, and Microkernels
OPERATING SYSTEM An operating system is a group of computer programs that coordinates all the activities among computer hardware devices. It is the first.
High Performance Embedded Computing © 2007 Elsevier Lecture 15: Embedded Multiprocessor Architectures Embedded Computing Systems Mikko Lipasti, adapted.
Helper Threads via Virtual Multithreading on an experimental Itanium 2 processor platform. Perry H Wang et. Al.
Lecture Objectives: 1)Explain the limitations of flash memory. 2)Define wear leveling. 3)Define the term IO Transaction 4)Define the terms synchronous.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Lecture 1: History of Operating System
High-level System Modeling and Power Management Techniques Jinfeng Liu Dept. of ECE, UC Irvine Sep
Chia-Yen Hsieh Laboratory for Reliable Computing Microarchitecture-Level Power Management Iyer, A. Marculescu, D., Member, IEEE IEEE Transaction on VLSI.
Accurate Emulation of Wireless Sensor Networks Hejun Wu Joint work with Qiong Luo, Pei Zheng*, Bingsheng He, and Lionel M. Ni Department of Computer Science.
Analysis of power dissipation in embedded systems using real-time operating systems Dick, R.P. Lakshminarayana, G. Raghunathan, A. Jha, N.K. Dept. of Electr.
Source Code Optimization and Profiling of Energy Consumption in Embedded System Simunic, T.; Benini, L.; De Micheli, G.; Hans, M.; Proceedings on The 13th.
Chapter 13 Embedded Systems
Scheduling with Optimized Communication for Time-Triggered Embedded Systems Slide 1 Scheduling with Optimized Communication for Time-Triggered Embedded.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Figure 1.1 Interaction between applications and the operating system.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
COM181 Computer Hardware Ian McCrumRoom 5B18,
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
1 Presenter: Ming-Shiun Yang Sah, A., Balakrishnan, M., Panda, P.R. Design, Automation & Test in Europe Conference & Exhibition, DATE ‘09. A Generic.
Spring 2000, 4/27/00 Power evaluation of SmartDust remote sensors CS 252 Project Presentation Robert Szewczyk Andras Ferencz.
Chapter 3 Process Description and Control Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Guide to Linux Installation and Administration, 2e 1 Chapter 9 Preparing for Emergencies.
Operating Systems.
Chapter 3 Process Description and Control Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Low-Power Wireless Sensor Networks
Architectures for mobile and wireless systems Ese 566 Report 1 Hui Zhang Preethi Karthik.
Fall 2000M.B. Ibáñez Lecture 01 Introduction What is an Operating System? The Evolution of Operating Systems Course Outline.
An Introduction to Digital Systems Simulation Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA)
C OMPUTER O RGANIZATION AND D ESIGN The Hardware/Software Interface 5 th Edition Chapter 1 Computer Abstractions and Technology Sections 1.5 – 1.11.
Hybrid Prototyping of MPSoCs Samar Abdi Electrical and Computer Engineering Concordia University Montreal, Canada
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
3 rd Nov CSV881: Low Power Design1 Power Estimation and Modeling M. Balakrishnan.
ICOM 6115: Computer Systems Performance Measurement and Evaluation August 11, 2006.
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Lu Hao Profiling-Based Hardware/Software Co- Exploration for the Design of Video Coding Architectures Heiko Hübert and Benno Stabernack.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Power Estimation and Optimization for SoC Design
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
Operating System Principles And Multitasking
Dynamic Voltage Frequency Scaling for Multi-tasking Systems Using Online Learning Gaurav DhimanTajana Simunic Rosing Department of Computer Science and.
An Integrated Design Environment to Evaluate Power/Performance Tradeoffs for Sensor Network Applications Amol Bakshi, Jingzhao Ou, and Viktor K. Prasanna.
Runtime Software Power Estimation and Minimization Tao Li.
Hardware Architectures for Power and Energy Adaptation Phillip Stanley-Marbell.
Implementation of Embedded OS Lab3 Porting μC/OS-II.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
JouleTrack - A Web Based Tool for Software Energy Profiling Amit Sinha and Anantha Chandrakasan Massachusetts Institute of Technology June 19, 2001.
1 Process Description and Control Chapter 3. 2 Process A program in execution An instance of a program running on a computer The entity that can be assigned.
System Architecture Directions for Networked Sensors.
1 of 14 Lab 2: Formal verification with UPPAAL. 2 of 14 2 The gossiping persons There are n persons. All have one secret to tell, which is not known to.
1 of 14 Lab 2: Design-Space Exploration with MPARM.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
1 Aphirak Jansang Thiranun Dumrongson
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
Software Architecture of Sensors. Hardware - Sensor Nodes Sensing: sensor --a transducer that converts a physical, chemical, or biological parameter into.
Real-Time Operating Systems RTOS For Embedded systems.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Introduction to Operating System (OS)
Model-Driven Analysis Frameworks for Embedded Systems
Operating Systems.
A High Performance SoC: PkunityTM
Lecture 4- Threads, SMP, and Microkernels
COMP3221: Microprocessors and Embedded Systems
Presentation 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 Presenter: Ching-Chi Hu

A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications 2/ /6/26 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).

A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications 3/ /6/26 Abstract(Cont.)  As a first step toward designing energy-efficient OS- based 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.

A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications 4/ /6/26 Outline  Related Work  What’s the problem  Simulation framework  Energy accounting  Simulator validation  Limitations  Conclusion

A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications 5/ /6/26 Related Work  Instruction-level power model  Mehta et al: evaluate compiler optimization techniques for low-power software  Li et al: a framework based on Fujitsu’s SPARClite processor  Simunic et al: cycle accurate model based on StrongARM 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

A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications 6/ /6/26 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 PalmOS family  Flinn et al: PowerScope, a hardware instrumentation tool to map energy consumption to program structures  Acquaviva et al: a hardware instrumentation method to perform energy characterization related to the OS

A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications 7/ /6/26 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

A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications 8/ /6/26 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 platform  mount an initial RAM disk

A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications 9/ /6/26 Simulation framework (cont.) Energy analysis framework

A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications 10/ /6/26 Simulation framework (cont.)  Energy modeling  E t_sys =E t_proc +E t_idle +E t_mem +E t_uart +E t_peri E t_proc =ΣE proc [instr_type(i)]*N cyc (i)  Σ from i=1 to total number of instructions executed E t_idle =P idle *T cyc *N idle_cyc  P idle =65mW E t_mem =E mem *N mem_cyc  E mem =4.70nJ E t_uart =E uart *N uart_cyc  E uart =0.21nJ E t_peri =E peri *N peri_cyc

A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications 11/ /6/26 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

A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications 12/ /6/26 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

A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications 13/ /6/26 Energy accounting (cont.) The example of two tasks and it’s function

A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications 14/ /6/26 Energy accounting (cont.)

A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications 15/ /6/26 Energy Accounting (cont.)  each task running has a separate TEBS  Similarly,the simulator maintain a FES for each task

A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications 16/ /6/26 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

A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications 17/ /6/26 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

A Simulation Framework for Energy-Consumption Analysis of OS-Driven Embedded Applications 18/ /6/26 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