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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

482 Chapter 34<br />

the energy consumption of the entire system <strong>for</strong> three iterations of program<br />

execution is 0.239 mJ. That is,<br />

The first two trans<strong>for</strong>mations<br />

merge the software processes read_temp and calculate as well as the IPC<br />

edges that involve them, resulting in the read_calculate process. The new<br />

SAG is shown in Figure 34-ll(b). Note that the evaluation of the trans<strong>for</strong>mations<br />

is per<strong>for</strong>med with the help of OS energy macro-mo<strong>de</strong>ls, as<br />

<strong>de</strong>scribed in Section 3.4. The next two trans<strong>for</strong>mations merge read_hum and<br />

read_calculate as well as the IPC edges that involve them. The final SAG<br />

is shown in Figure 34-11(c).<br />

The trans<strong>for</strong>med program is re-constructed from the final software architecture,<br />

and simulated again in the EMSIM energy simulation framework. The<br />

energy consumption estimate is obtained to be E = 0.081 mJ, which corresponds<br />

to an energy savings of 66.1%.<br />

5. CONCLUSIONS<br />

Energy minimization of embed<strong>de</strong>d software at the software architecture level<br />

is a new field that awaits exploration. As a first step in this direction, we<br />

presented a systematic methodology to optimize the energy consumption of<br />

embed<strong>de</strong>d software by per<strong>for</strong>ming a series of selected software architectural<br />

trans<strong>for</strong>mations. As a proof of concept, we applied the methodology to a few<br />

multi-process example programs. Experiments with the proposed methodology<br />

have <strong>de</strong>monstrated promising results, with energy reductions up to 66.1 %. We<br />

believe that software architecture level techniques <strong>for</strong> energy reduction can<br />

significantly extend and complement existing low power software <strong>de</strong>sign techniques.<br />

ACKNOWLEDGEMENTS<br />

This work was supported by DARPA un<strong>de</strong>r contract no. DAAB07-02-C-P302.<br />

NOTES<br />

1<br />

Note that the energy simulation framework needs to simulate the OS together with the<br />

application, since the effects of the software architectural trans<strong>for</strong>mations span the application-<br />

OS boundary.<br />

2<br />

For repetitive processes, a process once switched out has to be switched in later.<br />

REFERENCES<br />

1. J. Rabaey and M. Pedram (eds.). Low Power Design Methodologies, Kluwer Aca<strong>de</strong>mic<br />

Publishers, Norwell, MA, 1996.

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

Saved successfully!

Ooh no, something went wrong!