• DocumentCode
    917846
  • Title

    Access pattern restructuring for memory energy

  • Author

    De La Luz, Victor ; Kadayif, Ismail ; Kandemir, Mahmut ; Sezer, Uger

  • Author_Institution
    Comput. Sci. & Eng. Dept., Pennsylvania State Univ., University Park, PA, USA
  • Volume
    15
  • Issue
    4
  • fYear
    2004
  • fDate
    4/1/2004 12:00:00 AM
  • Firstpage
    289
  • Lastpage
    303
  • Abstract
    Improving memory energy consumption of programs that manipulate arrays is an important problem as these codes spend large amounts of energy in accessing off-chip memory. We propose a data-driven strategy to optimize the memory energy consumption in a banked memory system. Our compiler-based strategy modifies the original execution order of loop iterations in array-dominated applications to increase the length of the time period(s) in which memory banks are idle (i.e., not accessed by any loop iteration). To achieve this, it first classifies loop iterations according to their bank accesses patterns and then, with the help of a polyhedral tool, tries to bring the iterations with similar bank access patterns close together. Increasing the idle periods of memory banks brings two major benefits: first, it allows us to place more memory banks into low-power operating modes and, second, it enables us to use a more aggressive (i.e., more energy saving) operating mode (hence, saving more energy) for a given bank (instead of a less aggressive mode). The proposed strategy can reduce memory energy consumption in both sequential and parallel applications. Our strategy has been implemented in an experimental compiler using a polyhedral tool and evaluated using nine array-dominated applications on both a cacheless system and a system with cache memory. Our experimental results indicate that the proposed strategy is very successful in reducing the memory system energy and improves the memory energy by as much as 36.8 percent over a strategy that uses low-power modes without optimizing data access pattern. Our results also show that optimizations that target reducing off-chip memory energy can generate very different results from those that target at improving only cache locality.
  • Keywords
    embedded systems; optimising compilers; storage management chips; access pattern restructuring; banked memory system; cache memory; compiler optimization; embedded system; memory energy consumption; polyhedral tool; Batteries; Cache memory; Circuits; Computer Society; Embedded system; Energy consumption; Energy management; Hardware; Optimizing compilers; System-on-a-chip;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/TPDS.2004.1271179
  • Filename
    1271179