New tiling techniques to improve cache temporal locality

被引:53
|
作者
Song, YH [1 ]
Li, ZY [1 ]
机构
[1] Purdue Univ, Dept Comp Sci, W Lafayette, IN 47907 USA
关键词
caches; loop transformations; optimizing compilers;
D O I
10.1145/301631.301668
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Tiling is a well-known loop transformation to improve temporal locality of nested loops. Current compiler algorithms for tiling are Limited to loops which are perfectly nested or can be transformed, in trivial ways, into a perfect nest. This paper presents a number of program transformations to enable tiling for a class of nontrivial imperfectly-nested loops such that cache locality is improved. We define a program model for such loops and develop compiler algorithms for their tiling. We propose to adopt odd-even variable duplication to break anti- and output dependences without unduly increasing the working-set size, and to adopt speculative execution to enable tiling of loops which may terminate prematurely due to, e.g, convergence tests in iterative algorithms. We have implemented these techniques in a research compiler, Panorama. Initial experiments with several benchmark programs are performed on SGI workstations based on MIPS R5K and R10K processors. Overall, the transformed programs run faster by 9% to 164%.
引用
收藏
页码:215 / 228
页数:14
相关论文
共 50 条
  • [1] In-Cache MapReduce: Leverage Tiling to Boost Temporal Locality-Sensitive MapReduce Computations
    Magro, Daniel
    Paulino, Herve
    [J]. 2016 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING (CLUSTER), 2016, : 374 - 383
  • [2] A new cache architecture based on temporal and spatial locality
    Lee, JH
    Lee, JS
    Kim, SD
    [J]. JOURNAL OF SYSTEMS ARCHITECTURE, 2000, 46 (15) : 1451 - 1467
  • [3] Restructuring computations for temporal data cache locality
    Pingali, VK
    McKee, SA
    Hsieh, WC
    Carter, JB
    [J]. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2003, 31 (04) : 305 - 338
  • [4] Restructuring Computations for Temporal Data Cache Locality
    Venkata K. Pingali
    Sally A. McKee
    Wilson C. Hsieh
    John B. Carter
    [J]. International Journal of Parallel Programming, 2003, 31 : 305 - 338
  • [5] Scalar metric for temporal locality and estimation of cache performance
    Alakarhu, J
    Niittylahti, J
    [J]. DESIGN, AUTOMATION AND TEST IN EUROPE CONFERENCE AND EXHIBITION, VOLS 1 AND 2, PROCEEDINGS, 2004, : 730 - 731
  • [6] Temporal locality and its impact on Web proxy cache performance
    Mahanti, A
    Eager, D
    Williamson, C
    [J]. PERFORMANCE EVALUATION, 2000, 42 (2-3) : 187 - 203
  • [7] Unifying Temporal and Spatial Locality for Cache Management inside SSDs
    Sha, Zhibing
    Cai, Zhigang
    Trahay, Francois
    Liao, Jianwei
    Yin, Dong
    [J]. PROCEEDINGS OF THE 2022 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE 2022), 2022, : 891 - 896
  • [8] HotSpot cache: Joint temporal and spatial locality exploitation for I-cache energy reduction
    Yang, CL
    Lee, CH
    [J]. ISLPED '04: PROCEEDINGS OF THE 2004 INTERNATIONAL SYMPOSIUM ON LOW POWER ELECTRONICS AND DESIGN, 2004, : 114 - 119
  • [9] Loop tiling for optimization of locality and parallelism
    Liu, Song
    Wu, Weiguo
    Zhao, Bo
    Jiang, Qing
    [J]. Jisuanji Yanjiu yu Fazhan/Computer Research and Development, 2015, 52 (05): : 1160 - 1176
  • [10] Reshaping Cache Misses to Improve Row-Buffer Locality in Multicore Systems
    Ding, Wei
    Liu, Jun
    Kandemir, Mahmut
    Irwin, Mary Jane
    [J]. 2013 22ND INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES (PACT), 2013, : 235 - 244