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

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

Research output: Chapter in Book/Report/Conference proceedingChapter

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)
Title of host publicationLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
EditorsRadhia Cousot
PublisherSpringer Verlag
Pages383-400
Number of pages18
ISBN (Print)3540403256, 9783540403258
DOIs
StatePublished - Jan 1 2003

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume2694
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • Computer Science(all)

Fingerprint Dive into the research topics of 'Loop transformations for reducing data space requirements of resource-constrained applications'. Together they form a unique fingerprint.

Cite this