Loop transformations for reducing data space requirements of resource-constrained applications

Priya Unnikrishnan, Guangyu Chen, Mahmut Kandemir, Mustafa Karakoy, Ibrahim Kolcu

Research output: Contribution to journalArticle

Abstract

Embedded computing platforms are often resource constrained, requiring great design and implementation attention to memory, power and heat related parameters. An important task for a compiler in such platforms is to simplify the process of developing applications for limited memory devices and resource constrained clients. Focusing on array-intensive embedded applications, this work explores how loop-based compiler optimizations can be used for increasing memory location reuse. Our goal is to transform a given application in such a way that the resulting code has fewer cases (as compared to the original code) where the lifetimes of array elements overlap. The reduction in lifetimes of array elements can then be exploited by reusing memory locations as much as possible. Our results indicate that the proposed strategy reduces data space requirements of ten resource constrained applications by more than 40% on the average.

Original languageEnglish (US)
Pages (from-to)383-400
Number of pages18
JournalLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume2694
StatePublished - Dec 1 2003

Fingerprint

Loop Transformations
Data storage equipment
Resources
Requirements
Lifetime
Compiler Optimization
Compiler
Reuse
Overlap
Simplify
Heat
Transform
Computing

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • Computer Science(all)

Cite this

@article{698e6168aed54fbbadad45df1196eb5c,
title = "Loop transformations for reducing data space requirements of resource-constrained applications",
abstract = "Embedded computing platforms are often resource constrained, requiring great design and implementation attention to memory, power and heat related parameters. An important task for a compiler in such platforms is to simplify the process of developing applications for limited memory devices and resource constrained clients. Focusing on array-intensive embedded applications, this work explores how loop-based compiler optimizations can be used for increasing memory location reuse. Our goal is to transform a given application in such a way that the resulting code has fewer cases (as compared to the original code) where the lifetimes of array elements overlap. The reduction in lifetimes of array elements can then be exploited by reusing memory locations as much as possible. Our results indicate that the proposed strategy reduces data space requirements of ten resource constrained applications by more than 40{\%} on the average.",
author = "Priya Unnikrishnan and Guangyu Chen and Mahmut Kandemir and Mustafa Karakoy and Ibrahim Kolcu",
year = "2003",
month = "12",
day = "1",
language = "English (US)",
volume = "2694",
pages = "383--400",
journal = "Lecture Notes in Computer Science",
issn = "0302-9743",
publisher = "Springer Verlag",

}

Loop transformations for reducing data space requirements of resource-constrained applications. / Unnikrishnan, Priya; Chen, Guangyu; Kandemir, Mahmut; Karakoy, Mustafa; Kolcu, Ibrahim.

In: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Vol. 2694, 01.12.2003, p. 383-400.

Research output: Contribution to journalArticle

TY - JOUR

T1 - Loop transformations for reducing data space requirements of resource-constrained applications

AU - Unnikrishnan, Priya

AU - Chen, Guangyu

AU - Kandemir, Mahmut

AU - Karakoy, Mustafa

AU - Kolcu, Ibrahim

PY - 2003/12/1

Y1 - 2003/12/1

N2 - Embedded computing platforms are often resource constrained, requiring great design and implementation attention to memory, power and heat related parameters. An important task for a compiler in such platforms is to simplify the process of developing applications for limited memory devices and resource constrained clients. Focusing on array-intensive embedded applications, this work explores how loop-based compiler optimizations can be used for increasing memory location reuse. Our goal is to transform a given application in such a way that the resulting code has fewer cases (as compared to the original code) where the lifetimes of array elements overlap. The reduction in lifetimes of array elements can then be exploited by reusing memory locations as much as possible. Our results indicate that the proposed strategy reduces data space requirements of ten resource constrained applications by more than 40% on the average.

AB - Embedded computing platforms are often resource constrained, requiring great design and implementation attention to memory, power and heat related parameters. An important task for a compiler in such platforms is to simplify the process of developing applications for limited memory devices and resource constrained clients. Focusing on array-intensive embedded applications, this work explores how loop-based compiler optimizations can be used for increasing memory location reuse. Our goal is to transform a given application in such a way that the resulting code has fewer cases (as compared to the original code) where the lifetimes of array elements overlap. The reduction in lifetimes of array elements can then be exploited by reusing memory locations as much as possible. Our results indicate that the proposed strategy reduces data space requirements of ten resource constrained applications by more than 40% on the average.

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

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

M3 - Article

AN - SCOPUS:35248812496

VL - 2694

SP - 383

EP - 400

JO - Lecture Notes in Computer Science

JF - Lecture Notes in Computer Science

SN - 0302-9743

ER -