An integrated approach for improving cache behavior

Gokhan Memik, Mahmut Kandemir, Alok Choudhary, Ismail Kadayif

Research output: Contribution to journalConference article

1 Citation (Scopus)

Abstract

The widening gap between processor and memory speeds renders data locality optimization a very important issue in data-intensive embedded applications. Throughout the years hardware designers and compiler writers focused on optimizing data cache locality using intelligent cache management mechanisms and program-level transformations, respectively. Until now, there has not been significant research investigating the interaction between these optimizations. In this work, we investigate this interaction and propose a selective hardware/compiler strategy to optimize cache locality for integer numerical (array-intensive), and mixed codes. In our framework, the role of the compiler is to identify program regions that can be optimized at compile time using loop and data transformations and to mark (at compile-time) the unoptimizable regions with special instructions that activate/deactivate a hardware optimization mechanism selectively at run-time. Our results show that our technique can improve program performance by as much as 60% with respect to the base configuration and 17% with respect to a non-selective hardware/compiler approach.

Original languageEnglish (US)
Article number1253704
Pages (from-to)796-801
Number of pages6
JournalProceedings -Design, Automation and Test in Europe, DATE
DOIs
StatePublished - Dec 1 2003
EventDesign, Automation and Test in Europe Conference and Exhibition, DATE 2003 - Munich, Germany
Duration: Mar 3 2003Mar 7 2003

Fingerprint

Hardware
Data storage equipment

All Science Journal Classification (ASJC) codes

  • Engineering(all)

Cite this

@article{caf51ab96c9a438cb0b58db7baa3ffc2,
title = "An integrated approach for improving cache behavior",
abstract = "The widening gap between processor and memory speeds renders data locality optimization a very important issue in data-intensive embedded applications. Throughout the years hardware designers and compiler writers focused on optimizing data cache locality using intelligent cache management mechanisms and program-level transformations, respectively. Until now, there has not been significant research investigating the interaction between these optimizations. In this work, we investigate this interaction and propose a selective hardware/compiler strategy to optimize cache locality for integer numerical (array-intensive), and mixed codes. In our framework, the role of the compiler is to identify program regions that can be optimized at compile time using loop and data transformations and to mark (at compile-time) the unoptimizable regions with special instructions that activate/deactivate a hardware optimization mechanism selectively at run-time. Our results show that our technique can improve program performance by as much as 60{\%} with respect to the base configuration and 17{\%} with respect to a non-selective hardware/compiler approach.",
author = "Gokhan Memik and Mahmut Kandemir and Alok Choudhary and Ismail Kadayif",
year = "2003",
month = "12",
day = "1",
doi = "10.1109/DATE.2003.1253704",
language = "English (US)",
pages = "796--801",
journal = "Proceedings -Design, Automation and Test in Europe, DATE",
issn = "1530-1591",

}

An integrated approach for improving cache behavior. / Memik, Gokhan; Kandemir, Mahmut; Choudhary, Alok; Kadayif, Ismail.

In: Proceedings -Design, Automation and Test in Europe, DATE, 01.12.2003, p. 796-801.

Research output: Contribution to journalConference article

TY - JOUR

T1 - An integrated approach for improving cache behavior

AU - Memik, Gokhan

AU - Kandemir, Mahmut

AU - Choudhary, Alok

AU - Kadayif, Ismail

PY - 2003/12/1

Y1 - 2003/12/1

N2 - The widening gap between processor and memory speeds renders data locality optimization a very important issue in data-intensive embedded applications. Throughout the years hardware designers and compiler writers focused on optimizing data cache locality using intelligent cache management mechanisms and program-level transformations, respectively. Until now, there has not been significant research investigating the interaction between these optimizations. In this work, we investigate this interaction and propose a selective hardware/compiler strategy to optimize cache locality for integer numerical (array-intensive), and mixed codes. In our framework, the role of the compiler is to identify program regions that can be optimized at compile time using loop and data transformations and to mark (at compile-time) the unoptimizable regions with special instructions that activate/deactivate a hardware optimization mechanism selectively at run-time. Our results show that our technique can improve program performance by as much as 60% with respect to the base configuration and 17% with respect to a non-selective hardware/compiler approach.

AB - The widening gap between processor and memory speeds renders data locality optimization a very important issue in data-intensive embedded applications. Throughout the years hardware designers and compiler writers focused on optimizing data cache locality using intelligent cache management mechanisms and program-level transformations, respectively. Until now, there has not been significant research investigating the interaction between these optimizations. In this work, we investigate this interaction and propose a selective hardware/compiler strategy to optimize cache locality for integer numerical (array-intensive), and mixed codes. In our framework, the role of the compiler is to identify program regions that can be optimized at compile time using loop and data transformations and to mark (at compile-time) the unoptimizable regions with special instructions that activate/deactivate a hardware optimization mechanism selectively at run-time. Our results show that our technique can improve program performance by as much as 60% with respect to the base configuration and 17% with respect to a non-selective hardware/compiler approach.

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

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

U2 - 10.1109/DATE.2003.1253704

DO - 10.1109/DATE.2003.1253704

M3 - Conference article

AN - SCOPUS:84893751341

SP - 796

EP - 801

JO - Proceedings -Design, Automation and Test in Europe, DATE

JF - Proceedings -Design, Automation and Test in Europe, DATE

SN - 1530-1591

M1 - 1253704

ER -