Profiling driven computation reuse: An embedded software synthesis technique for energy and performance optimization

Weidong Wang, Anand Raghunathan, Niraj Kumar Jha

Research output: Contribution to journalConference articlepeer-review

9 Scopus citations

Abstract

It has been observed that even highly optimized software programs perform "redundant" computations during their execution, due to the nature (statistics) of the values assumed by input or internal program variables. For embedded software running on battery-powered systems, such computations can be viewed as unnecessary energy overheads, and hence represent opportunities for improvement in energy efficiency. We present a systematic methodology to identify and eliminate redundancies in the computations performed by embedded software programs, by exploiting opportunities that dynamically arise for computation reuse. We report the results of experiments on two different embedded systems - a detailed simulation model of a Fujitsu SPARClite based embedded system, and actual current measurements on a Compaq iPAQ PDA. Our results demonstrate that the proposed technique can reduce energy by up to 46.9% (average of 21.2% and 13.9% for the SPARClite based system and the iPAQ, respectively) while simultaneously improving performance by up to 45.8% (average of 20.7% and 16.8% for the SPARClite based system and the iPAQ, respectively), compared to well-optimized programs that do not employ such a technique.

Original languageEnglish (US)
Pages (from-to)267-272
Number of pages6
JournalProceedings of the IEEE International Conference on VLSI Design
Volume17
StatePublished - May 24 2004
EventProceedings - 17th International Conference on VLSI Design, Concurrently with the 3rd International Conference on Embedded Systems Design - Mumbai, India
Duration: Jan 5 2004Jan 9 2004

All Science Journal Classification (ASJC) codes

  • Hardware and Architecture
  • Electrical and Electronic Engineering

Fingerprint

Dive into the research topics of 'Profiling driven computation reuse: An embedded software synthesis technique for energy and performance optimization'. Together they form a unique fingerprint.

Cite this