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 条
[31]   Tools for scalable parallel program analysis: Vampir NG, MARMOT, and DeWiz [J].
Brunst, Holger ;
Kranzlmueller, Dieter ;
Mueller, Matthias S. ;
Nagel, Wolfgang E. .
INTERNATIONAL JOURNAL OF COMPUTATIONAL SCIENCE AND ENGINEERING, 2009, 4 (03) :149-161
[32]   Automated transformation of sequential divide-and-conquer algorithms into parallel programs [J].
Freisleben, B ;
Kielmann, T .
COMPUTERS AND ARTIFICIAL INTELLIGENCE, 1995, 14 (06) :579-596
[33]   Automatic Evolution of Parallel Recursive Programs [J].
Chennupati, Gopinath ;
Azad, R. Muhammad Atif ;
Ryan, Conor .
GENETIC PROGRAMMING (EUROGP 2015), 2015, 9025 :167-178
[34]   Experience Report on Applying Program Analysis Techniques for Mainframe Application Understanding [J].
Agarwal, Shivali ;
Nakamura, Hiroaki ;
Katan, Rami .
PROCEEDINGS OF 2024 39TH ACM/IEEE INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE 2024, 2024, :2077-2086
[35]   Guided Symbolic Execution in Real-World Binary Program [J].
Park, Sung Hyun ;
Noh, Bong Nam .
INFORMATION SCIENCE AND APPLICATIONS, 2020, 621 :387-396
[36]   Reduction of complexity and automation of parallel execution through loop level parallelism [J].
Tefft, Robert A. ;
Lee, Roger Y. .
USIC 2007: PROCEEDINGS OF THE SEVENTH INTERNATIONAL CONFERENCE ON QUALITY SOFTWARE, 2007, :304-+
[37]   Leveraging hardware-dependent knowledge extraction with multiple program analysis techniques [J].
Nguyen, Thuy ;
Tomita, Takashi ;
Endo, Junpei ;
Kang, Geon-ung ;
Aoki, Toshiaki .
37TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, 2022, :1827-1836
[38]   A Taxonomy and Qualitative Comparison of Program Analysis Techniques for Security Assessment of Android Software [J].
Sadeghi, Alireza ;
Bagheri, Hamid ;
Garcia, Joshua ;
Malek, Sam .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2017, 43 (06) :492-530
[39]   Automatic storage management for parallel program [J].
Lefebvre, V ;
Feautrier, P .
PARALLEL COMPUTING, 1998, 24 (3-4) :649-671
[40]   Computation of dynamic program slices for unstructured programs [J].
Korel, B .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1997, 23 (01) :17-34