Back to results

Syracuse University

Performance and Memory Space Optimizations for Embedded Systems

Abstract

dc:description.abstract

<p>Embedded systems have three common principles: real-time performance, low power consumption, and low price (limited hardware). Embedded computers use chip multiprocessors (CMPs) to meet these expectations. However, one of the major problems is lack of efficient software support for CMPs; in particular, automated code parallelizers are needed.</p> <p>The aim of this study is to explore various ways to increase performance, as well as reducing resource usage and energy consumption for embedded systems. We use code restructuring, loop scheduling, data transformation, code and data placement, and scratch-pad memory (SPM) management as our tools in different embedded system scenarios. The majority of our work is focused on loop scheduling. Main contributions of our work are:</p> <p>We propose a memory saving strategy that exploits the value locality in array data by storing arrays in a compressed form. Based on the compressed forms of the input arrays, our approach automatically determines the compressed forms of the output arrays and also automatically restructures the code.</p> <p>We propose and evaluate a compiler-directed code scheduling scheme, which considers both parallelism and data locality. It analyzes the code using a <em>locality parallelism</em> <em>graph </em>representation, and assigns the nodes of this graph to processors.We also introduce an Integer Linear Programming based formulation of the scheduling problem.</p> <p>We propose a compiler-based SPM conscious loop scheduling strategy for array/loop based embedded applications. The method is to distribute loop iterations across parallel processors in an SPM-conscious manner. The compiler identifies potential SPM hits and misses, and distributes loop iterations such that the processors have close execution times.</p> <p>We present an SPM management technique using Markov chain based data access.</p> <p>We propose a compiler directed integrated code and data placement scheme for 2-D mesh based CMP architectures. Using a Code-Data Affinity Graph (CDAG) to represent the relationship between loop iterations and array data, it assigns the sets of loop iterations to processing cores and sets of data blocks to on-chip memories. We present a memory bank aware dynamic loop scheduling scheme for array intensive applications.The goal is to minimize the number of memory banks needed for executing the group of loop iterations.</p>

Degree

thesis:*
Name thesis:degree_name
Doctor of Philosophy (PhD)
Level thesis:degree_level
Dissertation
Discipline thesis:degree_discipline
Electrical Engineering and Computer Science
Year
2011

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Yemliha, Taylan
Contributors dc:contributor
  • Mahmut T. Kandemir

Subjects

dc:subject × 7

Identifiers

dc:identifier.*
Repository record dc:identifier
https://surface.syr.edu/eecs_etd/300
OAI identifier oai:identifier
oai:surface.syr.edu:eecs_etd-1304

Chain of custody

source
Harvested from
Syracuse University
Base URL
surface.syr.edu/do/oai/
Last updated
2026-07-24
Source record
OAI-PMH GetRecord
citation

Yemliha, Taylan. Performance and Memory Space Optimizations for Embedded Systems. Dissertation thesis, 2011. https://surface.syr.edu/eecs_etd/300