Memory bank locality and its usage in reducing energy consumption

Research output: Chapter in Book/Report/Conference proceedingChapter

Abstract

Bank locality can be defined, in the context of a multi-bank memory system, as localizing the number of load/store accesses to a small set of memory banks at a given time. An optimizing compiler can modify a given input code to improve its bank locality. There are several practical advantages of enhancing bank locality, the most important of which is reduced memory energy consumption. Recent trends indicate that energy consumption is fast becoming a first-order design parameter as processor-based systems continue to become more complex and multi-functional. Off-chip memory energy consumption in particular can be a limiting factor in many embedded system designs. This paper presents a novel compiler-based strategy for maximizing the benefits of low-power operating modes available in some recent DRAM-based multi-bank memory systems. In this strategy, the compiler uses linear algebra to represent and optimize bank locality in a mathematical framework. We discuss that exploiting bank locality can be cast as loop (iteration space) and array layout (data space) transformations. We also present experimental data showing the effectiveness of our optimization strategy. Our results show that exploiting bank locality can result in large energy savings.

Original languageEnglish (US)
Title of host publicationDesigning Embedded Processors
Subtitle of host publicationA Low Power Perspective
PublisherSpringer Netherlands
Pages191-216
Number of pages26
ISBN (Print)9781402058684
DOIs
StatePublished - Dec 1 2007

Fingerprint

Energy utilization
Data storage equipment
Linear algebra
Dynamic random access storage
Embedded systems
Energy conservation
Systems analysis

All Science Journal Classification (ASJC) codes

  • Engineering(all)

Cite this

Kandemir, M. (2007). Memory bank locality and its usage in reducing energy consumption. In Designing Embedded Processors: A Low Power Perspective (pp. 191-216). Springer Netherlands. https://doi.org/10.1007/978-1-4020-5869-1_8
Kandemir, Mahmut. / Memory bank locality and its usage in reducing energy consumption. Designing Embedded Processors: A Low Power Perspective. Springer Netherlands, 2007. pp. 191-216
@inbook{fec832cd828a436db3cdfa9c1eb29338,
title = "Memory bank locality and its usage in reducing energy consumption",
abstract = "Bank locality can be defined, in the context of a multi-bank memory system, as localizing the number of load/store accesses to a small set of memory banks at a given time. An optimizing compiler can modify a given input code to improve its bank locality. There are several practical advantages of enhancing bank locality, the most important of which is reduced memory energy consumption. Recent trends indicate that energy consumption is fast becoming a first-order design parameter as processor-based systems continue to become more complex and multi-functional. Off-chip memory energy consumption in particular can be a limiting factor in many embedded system designs. This paper presents a novel compiler-based strategy for maximizing the benefits of low-power operating modes available in some recent DRAM-based multi-bank memory systems. In this strategy, the compiler uses linear algebra to represent and optimize bank locality in a mathematical framework. We discuss that exploiting bank locality can be cast as loop (iteration space) and array layout (data space) transformations. We also present experimental data showing the effectiveness of our optimization strategy. Our results show that exploiting bank locality can result in large energy savings.",
author = "Mahmut Kandemir",
year = "2007",
month = "12",
day = "1",
doi = "10.1007/978-1-4020-5869-1_8",
language = "English (US)",
isbn = "9781402058684",
pages = "191--216",
booktitle = "Designing Embedded Processors",
publisher = "Springer Netherlands",
address = "Netherlands",

}

Kandemir, M 2007, Memory bank locality and its usage in reducing energy consumption. in Designing Embedded Processors: A Low Power Perspective. Springer Netherlands, pp. 191-216. https://doi.org/10.1007/978-1-4020-5869-1_8

Memory bank locality and its usage in reducing energy consumption. / Kandemir, Mahmut.

Designing Embedded Processors: A Low Power Perspective. Springer Netherlands, 2007. p. 191-216.

Research output: Chapter in Book/Report/Conference proceedingChapter

TY - CHAP

T1 - Memory bank locality and its usage in reducing energy consumption

AU - Kandemir, Mahmut

PY - 2007/12/1

Y1 - 2007/12/1

N2 - Bank locality can be defined, in the context of a multi-bank memory system, as localizing the number of load/store accesses to a small set of memory banks at a given time. An optimizing compiler can modify a given input code to improve its bank locality. There are several practical advantages of enhancing bank locality, the most important of which is reduced memory energy consumption. Recent trends indicate that energy consumption is fast becoming a first-order design parameter as processor-based systems continue to become more complex and multi-functional. Off-chip memory energy consumption in particular can be a limiting factor in many embedded system designs. This paper presents a novel compiler-based strategy for maximizing the benefits of low-power operating modes available in some recent DRAM-based multi-bank memory systems. In this strategy, the compiler uses linear algebra to represent and optimize bank locality in a mathematical framework. We discuss that exploiting bank locality can be cast as loop (iteration space) and array layout (data space) transformations. We also present experimental data showing the effectiveness of our optimization strategy. Our results show that exploiting bank locality can result in large energy savings.

AB - Bank locality can be defined, in the context of a multi-bank memory system, as localizing the number of load/store accesses to a small set of memory banks at a given time. An optimizing compiler can modify a given input code to improve its bank locality. There are several practical advantages of enhancing bank locality, the most important of which is reduced memory energy consumption. Recent trends indicate that energy consumption is fast becoming a first-order design parameter as processor-based systems continue to become more complex and multi-functional. Off-chip memory energy consumption in particular can be a limiting factor in many embedded system designs. This paper presents a novel compiler-based strategy for maximizing the benefits of low-power operating modes available in some recent DRAM-based multi-bank memory systems. In this strategy, the compiler uses linear algebra to represent and optimize bank locality in a mathematical framework. We discuss that exploiting bank locality can be cast as loop (iteration space) and array layout (data space) transformations. We also present experimental data showing the effectiveness of our optimization strategy. Our results show that exploiting bank locality can result in large energy savings.

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

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

U2 - 10.1007/978-1-4020-5869-1_8

DO - 10.1007/978-1-4020-5869-1_8

M3 - Chapter

SN - 9781402058684

SP - 191

EP - 216

BT - Designing Embedded Processors

PB - Springer Netherlands

ER -

Kandemir M. Memory bank locality and its usage in reducing energy consumption. In Designing Embedded Processors: A Low Power Perspective. Springer Netherlands. 2007. p. 191-216 https://doi.org/10.1007/978-1-4020-5869-1_8