COMPILING NESTED DATA-PARALLEL PROGRAMS FOR SHARED-MEMORY MULTIPROCESSORS

被引:15
|
作者
CHATTERJEE, S [1 ]
机构
[1] CARNEGIE MELLON UNIV,PITTSBURGH,PA 15213
来源
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS | 1993年 / 15卷 / 03期
关键词
ALGORITHMS; LANGUAGES; COMPILERS; DATA PARALLELISM; SHARED-MEMORY MULTIPROCESSORS;
D O I
10.1145/169683.174152
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
While data parallelism.is well suited from algorithmic, architectural, and linguistic considerations to serve as a basis for portable parallel programming, its characteristic fine-grained parallelism makes the efficient implementation of data-parallel languages on MIMD machines a challenging task. The design, implementation, and evaluation of an optimizing compiler are presented for an applicative nested data-parallel language called VCODE targeted at the Encore Multimax, a shared-memory multiprocessor. The source language supports nested aggregate data types; aggregate operations including elementwise forms, scans, reductions, and permutations; and conditionals and recursion for control flow. A small set of graph-theoretic compile-time optimizations reduce the overheads on MIMD machines in several ways: by increasing the grain size of the output program, by reducing synchronization and storage requirements, and by improving locality of reference. The two key ideas behind these optimizations are the symbolic analysis of loop structures and hierarchical clustering of the program graph, first by loop structure and then by loop traversal patterns. A benchmark suite demonstrates both the efficiency of the output code and the effectiveness of the optimizations.
引用
收藏
页码:400 / 462
页数:63
相关论文
共 50 条
  • [1] Parallel classification for data mining on shared-memory multiprocessors
    Zaki, MJ
    Ho, CT
    Agrawal, R
    15TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING, PROCEEDINGS, 1999, : 198 - 205
  • [2] Parallel Data Distribution Management on Shared-memory Multiprocessors
    Marzolla, Moreno
    D'angelo, Gabriele
    ACM TRANSACTIONS ON MODELING AND COMPUTER SIMULATION, 2020, 30 (01):
  • [3] A PARALLEL LINKED LIST FOR SHARED-MEMORY MULTIPROCESSORS
    TANG, PY
    YEW, PC
    ZHU, CQ
    PROCEEDINGS : THE THIRTEENTH ANNUAL INTERNATIONAL COMPUTER SOFTWARE & APPLICATIONS CONFERENCE, 1989, : 130 - 135
  • [4] Parallel Execution of Prolog on Shared-Memory Multiprocessors
    高耀清
    王鼎兴
    郑纬民
    沈美明
    黄志毅
    胡守仁
    Giorgio Levi
    JournalofComputerScienceandTechnology, 1993, (04) : 329 - 336
  • [5] Compiling data-parallel programs for clusters of SMPs
    Benkner, S
    Brandes, T
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2004, 16 (2-3): : 111 - 132
  • [6] Parallel intersection counting on shared-memory multiprocessors and GPUs
    Marzolla, Moreno
    Birolo, Giovanni
    D'Angelo, Gabriele
    Fariselli, Piero
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2024, 159 : 423 - 431
  • [7] Data forwarding in scalable shared-memory multiprocessors
    Koufaty, DA
    Chen, XF
    Poulsen, DK
    Torrellas, J
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 1996, 7 (12) : 1250 - 1264
  • [8] AUTOMATIC PARTITIONING OF PARALLEL LOOPS AND DATA ARRAYS FOR DISTRIBUTED SHARED-MEMORY MULTIPROCESSORS
    AGARWAL, A
    KRANZ, DA
    NATARAJAN, V
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 1995, 6 (09) : 943 - 962
  • [9] AND OR PARALLELISM ON SHARED-MEMORY MULTIPROCESSORS
    GUPTA, G
    JAYARAMAN, B
    JOURNAL OF LOGIC PROGRAMMING, 1993, 17 (01): : 59 - 89
  • [10] SMALL SHARED-MEMORY MULTIPROCESSORS
    BASKETT, F
    HENNESSY, JL
    SCIENCE, 1986, 231 (4741) : 963 - 967