首页> 外文期刊>IEEE Transactions on Parallel and Distributed Systems >Access pattern restructuring for memory energy
【24h】

Access pattern restructuring for memory energy

机译:存取模式重组以节省内存

获取原文
获取原文并翻译 | 示例
           

摘要

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.
机译:改善操纵阵列的程序的存储器能耗是一个重要的问题,因为这些代码在访问片外存储器上花费了大量的精力。我们提出了一种数据驱动的策略,以优化银行存储系统中的内存能耗。我们基于编译器的策略修改了以数组为主导的应用程序中循环迭代的原始执行顺序,以增加存储库处于空闲状态(即任何循环迭代都无法访问)的时间段的长度。为此,它首先根据循环访问的银行访问模式对循环迭代进行分类,然后在多面体工具的帮助下,尝试将具有类似银行访问模式的迭代紧密联系在一起。增加存储库的空闲时间带来了两个主要好处:首先,它使我们能够将更多的存储库置于低功耗工作模式;其次,它使我们能够使用更积极(即更节能)的工作模式(因此,可以为给定的银行节省更多的能源(而不是积极程度较低的模式)。所提出的策略可以减少顺序和并行应用中的存储器能耗。我们的策略已在使用多面体工具的实验性编译器中实施,并在无缓存系统和具有缓存内存的系统上使用九个以阵列为主的应用程序进行了评估。我们的实验结果表明,与使用低功耗模式而不优化数据访问模式的策略相比,所提出的策略在减少内存系统能量方面非常成功,并且将内存能量提高了36.8%。我们的结果还表明,旨在降低片外存储器能量的优化所产生的结果可能与仅提高缓存局部性的结果截然不同。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号