Compiler-directed selection of dynamic memory layouts

Mahmut Kandemir, I. Kadayif

Research output: Contribution to conferencePaper

13 Citations (Scopus)

Abstract

Compiler technology is becoming a key component in the design of embedded systems, mostly due to increasing participation of software in the design process. Meeting system-level objectives usually requires flexible and retargetable compiler optimizations that can be ported across a wide variety of architectures. In particular, source-level compiler optimizations aiming at increasing locality of data accesses are expected to improve the quality of the generated code. Previous compiler-based approaches to improving locality have mainly focused on determining optimal memory layouts that remain in effect for the entire execution of an application. For large embedded codes, however, such static layouts may be insufficient to obtain acceptable performance. The selection of memory layouts that dynamically change over the course of a program's execution adds another dimension to data locality optimization. This paper presents a technique that can be used to automatically determine which layouts are most benefici al over specific regions of a program while taking into account the added overhead of dynamic (runtime) layout changes. The results obtained using two benchmark codes show that such a dynamic approach brings significant benefits over a static state-of-the-art technique.

Original languageEnglish (US)
Pages219-224
Number of pages6
StatePublished - Jan 1 2001
Event9th International Symposium on Hardware/Software Codesign - Copenhagen, Denmark
Duration: Apr 25 2001Apr 27 2001

Other

Other9th International Symposium on Hardware/Software Codesign
CountryDenmark
CityCopenhagen
Period4/25/014/27/01

Fingerprint

Data storage equipment
Embedded systems

All Science Journal Classification (ASJC) codes

  • Hardware and Architecture

Cite this

Kandemir, M., & Kadayif, I. (2001). Compiler-directed selection of dynamic memory layouts. 219-224. Paper presented at 9th International Symposium on Hardware/Software Codesign, Copenhagen, Denmark.
Kandemir, Mahmut ; Kadayif, I. / Compiler-directed selection of dynamic memory layouts. Paper presented at 9th International Symposium on Hardware/Software Codesign, Copenhagen, Denmark.6 p.
@conference{94249d9b273140fd880fdc4ec740f08b,
title = "Compiler-directed selection of dynamic memory layouts",
abstract = "Compiler technology is becoming a key component in the design of embedded systems, mostly due to increasing participation of software in the design process. Meeting system-level objectives usually requires flexible and retargetable compiler optimizations that can be ported across a wide variety of architectures. In particular, source-level compiler optimizations aiming at increasing locality of data accesses are expected to improve the quality of the generated code. Previous compiler-based approaches to improving locality have mainly focused on determining optimal memory layouts that remain in effect for the entire execution of an application. For large embedded codes, however, such static layouts may be insufficient to obtain acceptable performance. The selection of memory layouts that dynamically change over the course of a program's execution adds another dimension to data locality optimization. This paper presents a technique that can be used to automatically determine which layouts are most benefici al over specific regions of a program while taking into account the added overhead of dynamic (runtime) layout changes. The results obtained using two benchmark codes show that such a dynamic approach brings significant benefits over a static state-of-the-art technique.",
author = "Mahmut Kandemir and I. Kadayif",
year = "2001",
month = "1",
day = "1",
language = "English (US)",
pages = "219--224",
note = "9th International Symposium on Hardware/Software Codesign ; Conference date: 25-04-2001 Through 27-04-2001",

}

Kandemir, M & Kadayif, I 2001, 'Compiler-directed selection of dynamic memory layouts' Paper presented at 9th International Symposium on Hardware/Software Codesign, Copenhagen, Denmark, 4/25/01 - 4/27/01, pp. 219-224.

Compiler-directed selection of dynamic memory layouts. / Kandemir, Mahmut; Kadayif, I.

2001. 219-224 Paper presented at 9th International Symposium on Hardware/Software Codesign, Copenhagen, Denmark.

Research output: Contribution to conferencePaper

TY - CONF

T1 - Compiler-directed selection of dynamic memory layouts

AU - Kandemir, Mahmut

AU - Kadayif, I.

PY - 2001/1/1

Y1 - 2001/1/1

N2 - Compiler technology is becoming a key component in the design of embedded systems, mostly due to increasing participation of software in the design process. Meeting system-level objectives usually requires flexible and retargetable compiler optimizations that can be ported across a wide variety of architectures. In particular, source-level compiler optimizations aiming at increasing locality of data accesses are expected to improve the quality of the generated code. Previous compiler-based approaches to improving locality have mainly focused on determining optimal memory layouts that remain in effect for the entire execution of an application. For large embedded codes, however, such static layouts may be insufficient to obtain acceptable performance. The selection of memory layouts that dynamically change over the course of a program's execution adds another dimension to data locality optimization. This paper presents a technique that can be used to automatically determine which layouts are most benefici al over specific regions of a program while taking into account the added overhead of dynamic (runtime) layout changes. The results obtained using two benchmark codes show that such a dynamic approach brings significant benefits over a static state-of-the-art technique.

AB - Compiler technology is becoming a key component in the design of embedded systems, mostly due to increasing participation of software in the design process. Meeting system-level objectives usually requires flexible and retargetable compiler optimizations that can be ported across a wide variety of architectures. In particular, source-level compiler optimizations aiming at increasing locality of data accesses are expected to improve the quality of the generated code. Previous compiler-based approaches to improving locality have mainly focused on determining optimal memory layouts that remain in effect for the entire execution of an application. For large embedded codes, however, such static layouts may be insufficient to obtain acceptable performance. The selection of memory layouts that dynamically change over the course of a program's execution adds another dimension to data locality optimization. This paper presents a technique that can be used to automatically determine which layouts are most benefici al over specific regions of a program while taking into account the added overhead of dynamic (runtime) layout changes. The results obtained using two benchmark codes show that such a dynamic approach brings significant benefits over a static state-of-the-art technique.

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

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

M3 - Paper

SP - 219

EP - 224

ER -

Kandemir M, Kadayif I. Compiler-directed selection of dynamic memory layouts. 2001. Paper presented at 9th International Symposium on Hardware/Software Codesign, Copenhagen, Denmark.