TiDA: High-Level Programming Abstractions for Data Locality Management

被引:11
|
作者
Unat, Didem [1 ]
Tan Nguyen [2 ]
Zhang, Weiqun [2 ]
Farooqi, Muhammed Nufail [1 ]
Bastem, Burak [1 ]
Michelogiannakis, George [2 ]
Almgren, Ann [2 ]
Shalf, John [2 ]
机构
[1] Koc Univ, Istanbul, Turkey
[2] Lawrence Berkeley Natl Lab, Berkeley, CA USA
来源
HIGH PERFORMANCE COMPUTING | 2016年 / 9697卷
关键词
D O I
10.1007/978-3-319-41321-1_7
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The high energy costs for data movement compared to computation gives paramount importance to data locality management in programs. Managing data locality manually is not a trivial task and also complicates programming. Tiling is a well-known approach that provides both data locality and parallelism in an application. However, there is no standard programming construct to express tiling at the application level. We have developed a multicore programming model, TiDA, based on tiling and implemented the model as C++ and Fortran libraries. The proposed programming model has three high level abstractions, tiles, regions and tile iterator. These abstractions in the library hide the details of data decomposition, cache locality optimizations, and memory affinity management in the application. In this paper we unveil the internals of the library and demonstrate the performance and programability advantages of the model on five applications on multiple NUMA nodes. The library achieves up to 2.10x speedup over OpenMP in a single compute node for simple kernels, and up to 22x improvement over a single thread for a more complex combustion proxy application (SMC) on 24 cores. The MPI+TiDA implementation of geometric multigrid demonstrates a 30.9% performance improvement over MPI+OpenMP when scaling to 3072 cores (excluding MPI communication overheads, 8.5% otherwise).
引用
收藏
页码:116 / 135
页数:20
相关论文
共 50 条
  • [41] Trends in Data Locality Abstractions for HPC Systems
    Unat, Didem
    Dubey, Anshu
    Hoefler, Torsten
    Shalf, John
    Abraham, Mark
    Bianco, Mauro
    Chamberlain, Bradford L.
    Cledat, Romain
    Edwards, H. Carter
    Finkel, Hal
    Fuerlinger, Karl
    Hannig, Frank
    Jeannot, Emmanuel
    Kamil, Amir
    Keasler, Jeff
    Kelly, Paul H. J.
    Leung, Vitus
    Ltaief, Hatem
    Maruyama, Naoya
    Newburn, Chris J.
    Pericas, Miquel
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2017, 28 (10) : 3007 - 3020
  • [42] Programming with shared data abstractions
    Dobson, S
    Goodeve, D
    SOLVING IRREGULARLY STRUCTURED PROBLEMS IN PARALLEL, 1997, 1253 : 93 - 102
  • [43] Data Path Refinement Algorithm in High-Level Synthesis Based on Dynamic Programming
    Rahimi, Abbas
    Mohammadi, Siamak
    Foroughi, Aidin
    2009 INTERNATIONAL CONFERENCE ON INNOVATIONS IN INFORMATION TECHNOLOGY, 2009, : 101 - 105
  • [44] Data Path Refinement Algorithm in High-Level Synthesis Based on Dynamic Programming
    Rahimi, Abbas
    Mohammadi, Siamak
    Sarbolandi, Hamed
    2009 3RD INTERNATIONAL CONFERENCE ON SIGNALS, CIRCUITS AND SYSTEMS (SCS 2009), 2009, : 640 - +
  • [45] FastPara: a high-level declarative data-parallel programming framework on clusters
    Mao, Yong
    Gu, Yunhong
    Chen, Jia
    Grossman, Robert L.
    PROCEEDINGS OF THE 18TH IASTED INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED COMPUTING AND SYSTEMS, 2006, : 321 - +
  • [46] Distributed Data-Parallel Computing Using a High-Level Programming Language
    Isard, Michael
    Yu, Yuan
    ACM SIGMOD/PODS 2009 CONFERENCE, 2009, : 987 - 994
  • [47] HIGH-LEVEL WASTE MANAGEMENT
    GAUVENET, A
    JELINEK, P
    CULLER, F
    TRANSACTIONS OF THE AMERICAN NUCLEAR SOCIETY, 1976, 24 (NOV19): : 8 - 8
  • [48] HIGH-LEVEL WASTE MANAGEMENT
    GAUVENET, A
    JELINEKFINK, P
    CULLER, F
    TRANSACTIONS OF THE AMERICAN NUCLEAR SOCIETY, 1977, 25 : 63 - 78
  • [49] High-Level Multicore Programming with XJava']Java
    Otto, Frank
    Pankratius, Victor
    Tichy, Walter F.
    2009 31ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, COMPANION VOLUME, 2009, : 319 - 322
  • [50] HIGH-LEVEL LANGUAGES EASE MICROCOMPUTER PROGRAMMING
    SAUNDERS, JL
    LEWIS, LE
    ELECTRONICS, 1978, 51 (16): : 115 - 118