Locality-Based Optimizations in the Chapel Compiler

被引:1
|
作者
Kayraklioglu, Engin [1 ]
Ronaghan, Elliot [1 ]
Ferguson, Michael P. [1 ]
Chamberlain, Bradford L. [1 ]
机构
[1] Hewlett Packard Enterprise, Seattle, WA 98121 USA
关键词
Parallel programming; Compiler optimizations; Productivity;
D O I
10.1007/978-3-030-99372-6_1
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
One of the main challenges of distributed memory programming is achieving efficient access to data. Low-level programming paradigms such as MPI and SHMEM require programmers to explicitly move data between compute nodes, which typically results in good execution performance at the expense of programmer productivity. High-level paradigms such as the Chapel programming language aim to reduce programming difficulty by supporting a global memory view. However, implicit communication afforded by the global memory view can make it easier for the programmers to overlook performance considerations. In this paper, we show that Chapel's high-level abstractions such as data-parallel loops and distributed arrays that enable easier programming can also enable powerful compiler analyses and optimizations, which can mitigate these overheads. We demonstrate two compiler optimizations added to the Chapel compiler in versions 1.23 and 1.24. These optimizations rely on the use of data-parallel loops and distributed arrays to strength-reduce accesses to global memory and aggregate remote accesses. We test these optimizations with STREAM-Triad and index gather benchmarks and show that they result in around 2x performance improvements on a Cray XC supercomputer. Furthermore, we analyze two real-world applications, chplUltra and Arkouda, that use manual remedies to address the overheads addressed by these optimizations. We observe that more than half of the places in the source code where these remedies are applied can benefit from optimizations without any programmer effort.
引用
收藏
页码:3 / 17
页数:15
相关论文
共 50 条
  • [1] COMPILER OPTIMIZATIONS FOR IMPROVING DATA LOCALITY
    CARR, S
    MCKINLEY, KS
    TSENG, CW
    [J]. SIGPLAN NOTICES, 1994, 29 (11): : 252 - 262
  • [2] Locality-based Partitioning for Spark
    Xia Yuchong
    Yang Fangfang
    [J]. PROCEEDINGS OF THE 2017 5TH INTERNATIONAL CONFERENCE ON FRONTIERS OF MANUFACTURING SCIENCE AND MEASURING TECHNOLOGY (FMSMT 2017), 2017, 130 : 1188 - 1192
  • [3] Locality-based abstractions
    Esparza, J
    Ganty, P
    Schwoon, S
    [J]. STATIC ANALYSIS, PROCEEDINGS, 2005, 3672 : 118 - 134
  • [4] An Automated Machine Learning Approach for Data Locality Optimizations in Chapel
    Kayraklioglu, Engin
    El-Ghazawi, Tarek
    [J]. 2020 IEEE 34TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW 2020), 2020, : 671 - 671
  • [5] Locality-based security policies
    Tolstrup, Terkel K.
    Nielson, Flemming
    Hansen, Rene Rydhof
    [J]. FORMAL ASPECTS IN SECURITY AND TRUST, 2007, 4691 : 185 - +
  • [6] A locality-based lens for coded computation
    Rudow, Michael
    Rashmi, K., V
    Guruswami, Venkatesan
    [J]. 2021 IEEE INTERNATIONAL SYMPOSIUM ON INFORMATION THEORY (ISIT), 2021, : 1070 - 1075
  • [7] Locality-based Linear Discriminant Projection
    Ding Xinlong
    Huang Pu
    Chen Caikou
    [J]. PROCEEDINGS OF THE 31ST CHINESE CONTROL CONFERENCE, 2012, : 3942 - 3946
  • [8] Locality-based network creation games
    Bilò, Davide
    Gualà, Luciano
    Leucci, Stefano
    Proietti, Guido
    [J]. ACM Transactions on Parallel Computing, 2016, 3 (01)
  • [9] A locality-based replication manager for data cloud
    Sookhtsaraei, Reza
    Artin, Javad
    Ghorbani, Ali
    Faraahi, Ahmad
    Adineh, Hadi
    [J]. FRONTIERS OF INFORMATION TECHNOLOGY & ELECTRONIC ENGINEERING, 2016, 17 (12) : 1275 - 1286
  • [10] Locality-Based Online Trace Compression
    Luo, Y
    John, LK
    [J]. IEEE TRANSACTIONS ON COMPUTERS, 2004, 53 (06) : 723 - 731