29.01.2015 Views

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Software</strong> Architectural Trans<strong>for</strong>mations 471<br />

3.1. Overview of the software architectural energy minimization<br />

methodology<br />

The methodology to minimize the energy consumption of embed<strong>de</strong>d software<br />

through software architectural trans<strong>for</strong>mations is illustrated in Figure 34-2.<br />

In the figure, the cylin<strong>de</strong>rs represent the entities to be operated upon, and<br />

the rectangles represent the steps in the algorithm. The methodology starts<br />

with an initial software architecture, represented as a software architecture<br />

graph or SAG (as <strong>de</strong>scribed in Section 3.2). The energy consumption of<br />

the initial software architecture is obtained by compiling the corresponding<br />

program source co<strong>de</strong> into an optimized binary <strong>for</strong> the target embed<strong>de</strong>d system,<br />

and by profiling this implementation using a <strong>de</strong>tailed energy simulation framework.<br />

1 The execution and energy statistics collected from this step are<br />

subsequently used to gui<strong>de</strong> the application of software architectural trans<strong>for</strong>mations.<br />

Our methodology optimizes the software architecture by applying a<br />

sequence of atomic software architectural trans<strong>for</strong>mations, or moves, that lead<br />

to maximum energy savings. These trans<strong>for</strong>mations are <strong>for</strong>mulated as<br />

trans<strong>for</strong>mations of the SAG, and are <strong>de</strong>scribed in <strong>de</strong>tail in Section 3.5. We<br />

use an iterative improvement strategy to explore sequences of trans<strong>for</strong>mations.<br />

Selection of a trans<strong>for</strong>mation at each iteration is done in a greedy fashion.<br />

That is, at each iteration, we choose from all the possible trans<strong>for</strong>mations the<br />

one that yields maximum energy reduction. The iterative process ends when<br />

no more trans<strong>for</strong>mation is possible.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!