Value-sensitive automatic code specialization for embedded software

Eui Young Chung, Luca Benini, Giovanni DeMicheli, Gabriele Luculli, Marco Carilli

Research output: Contribution to journalArticle

6 Citations (Scopus)

Abstract

The objective of this work is to create a framework for the optimization of embedded software. We present algorithms and a tool flow to reduce the computational effort of programs, using value profiling and partial evaluation. Such a reduction translates into both energy savings and average-case performance improvement, while preserving a tolerable increase of worst case performance and code size. Our tool reduces the computational effort by specializing frequently executed procedures for the most common values of their parameters. The most effective specializations are automatically searched and identified, and the code is transformed through partial evaluation. Experimental results show that their technique improves both energy consumption and performance of the source code up to more than a factor of two, in average about 35% over the original program. Also, their automatic search engine greatly reduces code optimization time with respect to exhaustive search.

Original languageEnglish
Pages (from-to)1051-1067
Number of pages17
JournalIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Volume21
Issue number9
DOIs
Publication statusPublished - 2002 Sep 1

Fingerprint

Embedded software
Search engines
Energy conservation
Energy utilization

All Science Journal Classification (ASJC) codes

  • Software
  • Computer Graphics and Computer-Aided Design
  • Electrical and Electronic Engineering

Cite this

Chung, Eui Young ; Benini, Luca ; DeMicheli, Giovanni ; Luculli, Gabriele ; Carilli, Marco. / Value-sensitive automatic code specialization for embedded software. In: IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2002 ; Vol. 21, No. 9. pp. 1051-1067.
@article{eb7623f926e445fba95d4eb070bd2013,
title = "Value-sensitive automatic code specialization for embedded software",
abstract = "The objective of this work is to create a framework for the optimization of embedded software. We present algorithms and a tool flow to reduce the computational effort of programs, using value profiling and partial evaluation. Such a reduction translates into both energy savings and average-case performance improvement, while preserving a tolerable increase of worst case performance and code size. Our tool reduces the computational effort by specializing frequently executed procedures for the most common values of their parameters. The most effective specializations are automatically searched and identified, and the code is transformed through partial evaluation. Experimental results show that their technique improves both energy consumption and performance of the source code up to more than a factor of two, in average about 35{\%} over the original program. Also, their automatic search engine greatly reduces code optimization time with respect to exhaustive search.",
author = "Chung, {Eui Young} and Luca Benini and Giovanni DeMicheli and Gabriele Luculli and Marco Carilli",
year = "2002",
month = "9",
day = "1",
doi = "10.1109/TCAD.2002.801096",
language = "English",
volume = "21",
pages = "1051--1067",
journal = "IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems",
issn = "0278-0070",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
number = "9",

}

Value-sensitive automatic code specialization for embedded software. / Chung, Eui Young; Benini, Luca; DeMicheli, Giovanni; Luculli, Gabriele; Carilli, Marco.

In: IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 21, No. 9, 01.09.2002, p. 1051-1067.

Research output: Contribution to journalArticle

TY - JOUR

T1 - Value-sensitive automatic code specialization for embedded software

AU - Chung, Eui Young

AU - Benini, Luca

AU - DeMicheli, Giovanni

AU - Luculli, Gabriele

AU - Carilli, Marco

PY - 2002/9/1

Y1 - 2002/9/1

N2 - The objective of this work is to create a framework for the optimization of embedded software. We present algorithms and a tool flow to reduce the computational effort of programs, using value profiling and partial evaluation. Such a reduction translates into both energy savings and average-case performance improvement, while preserving a tolerable increase of worst case performance and code size. Our tool reduces the computational effort by specializing frequently executed procedures for the most common values of their parameters. The most effective specializations are automatically searched and identified, and the code is transformed through partial evaluation. Experimental results show that their technique improves both energy consumption and performance of the source code up to more than a factor of two, in average about 35% over the original program. Also, their automatic search engine greatly reduces code optimization time with respect to exhaustive search.

AB - The objective of this work is to create a framework for the optimization of embedded software. We present algorithms and a tool flow to reduce the computational effort of programs, using value profiling and partial evaluation. Such a reduction translates into both energy savings and average-case performance improvement, while preserving a tolerable increase of worst case performance and code size. Our tool reduces the computational effort by specializing frequently executed procedures for the most common values of their parameters. The most effective specializations are automatically searched and identified, and the code is transformed through partial evaluation. Experimental results show that their technique improves both energy consumption and performance of the source code up to more than a factor of two, in average about 35% over the original program. Also, their automatic search engine greatly reduces code optimization time with respect to exhaustive search.

UR - http://www.scopus.com/inward/record.url?scp=0036733153&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0036733153&partnerID=8YFLogxK

U2 - 10.1109/TCAD.2002.801096

DO - 10.1109/TCAD.2002.801096

M3 - Article

AN - SCOPUS:0036733153

VL - 21

SP - 1051

EP - 1067

JO - IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems

JF - IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems

SN - 0278-0070

IS - 9

ER -