Augmenting loop tiling with data alignment for improved cache performance

被引:49
|
作者
Panda, PR
Nakamura, H
Dutt, ND
Nicolau, A
机构
[1] Synopsys Inc, Mt View, CA 94043 USA
[2] Univ Tokyo, Adv Sci & Technol Res Ctr, Meguro Ku, Tokyo 1538904, Japan
[3] Univ Calif Irvine, Dept Informat & Comp Sci, Irvine, CA 92697 USA
基金
美国国家科学基金会;
关键词
loop tiling; data cache; data alignment; cache conflict;
D O I
10.1109/12.752655
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Loop blocking (tiling) is a well-known compiler optimization that helps improve cache performance by dividing the loop iteration space into smaller blocks (tiles); reuse of array elements within each tile is maximized by ensuring that the working set for the tile fits into the data cache. Padding is a data alignment technique that involves the insertion of dummy elements into a data structure for improving cache performance. In this work, we present DAT, a technique that augments loop tiling with data alignment, achieving improved efficiency (by ensuring that the cache is never under-utilized) as well as improved flexibility (by eliminating self-interference cache conflicts independent of the tile size). This results in a more stable and better cache performance than existing approaches, in addition to maximizing cache utilization, eliminating Self-interference, and minimizing cross-interference conflicts. Further, while all previous efforts are targetted at programs characterized by the reuse of a single array, we also address the issue of minimizing conflict misses when several tiled arrays are involved. To validate our technique, we ran extensive experiments using both simulations as well as actual measurements on SUN Sparc5 and Sparc10 workstations. The results on benchmarks exhibiting varying memory access patterns demonstrate the effectiveness of our technique through consistently high hit ratios and improved performance across varying problem sizes.
引用
收藏
页码:142 / 149
页数:8
相关论文
共 50 条
  • [31] Estimating cache performance for sequential and data parallel programs
    Fahringer, T
    HIGH-PERFORMANCE COMPUTING AND NETWORKING, 1997, 1225 : 840 - 849
  • [32] Study of cache performance in distributed environment for data processing
    Makatun, Dzmitry
    Lauret, Jerome
    Sumbera, Michal
    15TH INTERNATIONAL WORKSHOP ON ADVANCED COMPUTING AND ANALYSIS TECHNIQUES IN PHYSICS RESEARCH (ACAT2013), 2014, 523
  • [33] Improving Cache Performance with Balanced Tag and Data Paths
    Peir, J.-K.
    Hsu, W. W.
    Young, H.
    Ong, S.
    Computer Architecture News, 24
  • [34] Performance and power evaluation of an intelligently adaptive data cache
    Benítez, D
    Moure, JC
    Rexachs, DI
    Luque, E
    HIGH PERFORMANCE COMPUTING - HIPC 2005, PROCEEDINGS, 2005, 3769 : 363 - 375
  • [35] Improving cache performance with balanced tag and data paths
    Univ of Florida, Gainesville, FL, United States
    Comput Archit News, Special Issu (268-278):
  • [36] Improving cache performance with balanced tag and data paths
    Peir, JK
    Hsu, WW
    Young, H
    Ong, S
    ACM SIGPLAN NOTICES, 1996, 31 (09) : 268 - 278
  • [37] High performance cache management for sequential data access
    Rahm, Erhard
    Ferguson, Donald
    Performance Evaluation Review, 1992, 20 (01):
  • [38] Worst-Case Performance Guaranteed Data Cache
    Huangfu, Yijie
    Zhang, Wei
    2014 IEEE INTERNATIONAL PERFORMANCE COMPUTING AND COMMUNICATIONS CONFERENCE (IPCCC), 2014,
  • [39] Locating Cache Performance Bottlenecks Using Data Profiling
    Pesterev, Aleksey
    Zeldovich, Nickolai
    Morris, Robert T.
    EUROSYS'10: PROCEEDINGS OF THE EUROSYS 2010 CONFERENCE, 2010, : 335 - 348
  • [40] Improving the data cache performance of multiprocessor operating systems
    Xia, C
    Torrellas, J
    SECOND INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE COMPUTER ARCHITECTURE, PROCEEDINGS, 1996, : 85 - 94