Font Size: a A A

High-level energy analysis and optimization of operating system-driven embedded software

Posted on:2005-04-26Degree:Ph.DType:Thesis
University:Princeton UniversityCandidate:Tan, Tat KeeFull Text:PDF
GTID:2458390008477987Subject:Engineering
Abstract/Summary:
The aim of this thesis is to present a methodology and a set of enabling technologies to synthesize energy-efficient embedded software architectures associated with operating system (OS) driven microprocessor-based embedded systems.; We present an efficient high-level or function-level software energy estimation methodology using the concepts of characterization-based macro-modeling. Essentially, the energy consumption data of a software function are collected and used to derive a high-level macro-model that relates the energy consumption of the software function to a number of parameters that can be easily observed or calculated from a high-level description of the function.; To aid in the collection of OS energy consumption data, we have developed a low-level energy simulator capable of executing a combined image of a Linux OS and application programs in its simulated environment. The simulator includes an energy accounting mechanism that tracks the execution flow of the software being simulated, and associates energy consumption in each cycle to the appropriate software function and task.; We present an OS energy characterization methodology that utilizes the macro-modeling techniques we have developed. The methodology consists of (i) an analysis stage, where we identify a set of energy components, called energy characteristics, which are useful to the designer in making OS-related design trade-offs, and (ii) a subsequent macro-modeling stage, where we collect data for the identified energy components and automatically derive macro-models for them.; We model an OS-driven embedded software using a software architecture graph (SAG) and arrive at an energy-efficient software architecture through a series of software architectural transformations applied iteratively. Essentially, these transformations seek to reduce energy wastage due to context switches and inter-process communications. Energy reduction gained at every iteration is estimated with the aid of the OS energy macro-models.; We develop an energy-aware software synthesis framework that utilizes the software architectural transformations. The primary input to the software architecture synthesis subsystem is a concurrent behavioral description of an embedded application. The output of the software architecture synthesis subsystem is an energy-efficient software architectural description of the application.
Keywords/Search Tags:Energy, Software, Embedded, High-level, Methodology
Related items