Program analysis techniques for transforming programs for parallel execution

被引:9
作者
Psarris, K [1 ]
机构
[1] Univ Texas, Dept Comp Sci, San Antonio, TX 78249 USA
基金
美国国家科学基金会;
关键词
parallelizing compilers; data dependence; program analysis; automatic parallelization; compiles optimization;
D O I
10.1016/S0167-8191(01)00132-6
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
In a multiple processor system, computer programs have to be redesigned to efficiently use the parallel processors and deliver higher performance. One major approach is automatic detection of parallelism, in which existing conventional sequential programs are translated into parallel programs, in order to benefit from the presence of multiple processors. Optimizing compilers rely upon pro-ram analysis techniques to detect data dependences between program statements, The results of the analysis enable the compiler to identify code fragments that can be executed in parallel. The proposed dependence analysis techniques fall into two different categories: either efficient and approximate tests or exact but exponential. In this paper, we show that exact data dependence information can be computed efficiently in practice. The Banerjee inequality and the GCD test are the two tests traditionally used to determine statement data dependence in automatic parallelization of loops, These tests are approximate in the sense that they are necessary but not sufficient conditions for data dependence. In an earlier work we formally studied the accuracy of the Banerjee and GCD tests and derived a set of conditions that can be tested along with the Banerjee inequality and the GCD test to obtain exact data dependence information. In this work, we perform an empirical study to explain and demonstrate the accuracy of the Banerjee and GCD tests in actual practice. Our experiments indicate that exact data dependence information can be computed in linear time in practice. (C) 2002 Elsevier Science B.V. All rights reserved.
引用
收藏
页码:455 / 469
页数:15
相关论文
共 50 条
  • [21] Defeating Program Analysis Techniques via Ambiguous Translation
    Jung, Chijung
    Kim, Doowon
    Wang, Weihang
    Zheng, Yunhui
    Lee, Kyu Hyung
    Kwon, Yonghwi
    2021 36TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING ASE 2021, 2021, : 1382 - 1387
  • [22] PEM: Representing Binary Program Semantics for Similarity Analysis via a Probabilistic Execution Model
    Xu, Xiangzhe
    Xuan, Zhou
    Feng, Shiwei
    Cheng, Siyuan
    Ye, Yapeng
    Shi, Qingkai
    Tao, Guanhong
    Yu, Le
    Zhang, Zhuo
    Zhang, Xiangyu
    PROCEEDINGS OF THE 31ST ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2023, 2023, : 401 - 412
  • [23] Transformation of Functional Dataflow Parallel Programs into Imperative Programs
    Vasilev, V. S.
    Legalov, A. I.
    Zykov, S. V.
    AUTOMATIC CONTROL AND COMPUTER SCIENCES, 2022, 56 (07) : 815 - 827
  • [24] Transformation of Functional Dataflow Parallel Programs into Imperative Programs
    V. S. Vasilev
    A. I. Legalov
    S. V. Zykov
    Automatic Control and Computer Sciences, 2022, 56 : 815 - 827
  • [25] Tools for scalable parallel program analysis -: Vampir NG and Dewiz
    Brunst, H
    Kranzlmüller, D
    Nagel, WE
    DISTRIBUTED AND PARALLEL SYSTEMS: CLUSTER AND GRID COMPUTING, 2005, 777 : 93 - 102
  • [26] SDPA: An Optimizer for Program Analysis of Data-Parallel Applications
    Wang, Fei
    Shi, Xuanhua
    Yu, Dongxiao
    Ke, Zhixiang
    Jin, Hai
    Wu, Song
    IEEE 20TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS / IEEE 16TH INTERNATIONAL CONFERENCE ON SMART CITY / IEEE 4TH INTERNATIONAL CONFERENCE ON DATA SCIENCE AND SYSTEMS (HPCC/SMARTCITY/DSS), 2018, : 14 - 21
  • [27] An Efficient Data-Dependence Profiler for Sequential and Parallel Programs
    Li, Zhen
    Jannesari, Ali
    Wolf, Felix
    2015 IEEE 29TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS), 2015, : 484 - 493
  • [28] From Conditional Independence to Parallel Execution in Hierarchical Models
    Nemeth, Balazs
    Haber, Tom
    Liesenborgs, Jori
    Lamotte, Wim
    COMPUTATIONAL SCIENCE - ICCS 2020, PT I, 2020, 12137 : 161 - 174
  • [29] Mousse: A System for Selective Symbolic Execution of Programs with Untamed Environments
    Liu, Yingtong
    Hung, Hsin-Wei
    Sani, Ardalan Amiri
    PROCEEDINGS OF THE FIFTEENTH EUROPEAN CONFERENCE ON COMPUTER SYSTEMS (EUROSYS'20), 2020,
  • [30] Nonlinear Symbolic Analysis for Advanced Program Parallelization
    Kyriakopoulos, Konstantinos
    Psarris, Kleanthis
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2009, 20 (05) : 623 - 640