Symbolic analysis for parallelizing compilers

被引:43
作者
Haghighat, MR [1 ]
Polychronopoulos, CD [1 ]
机构
[1] UNIV ILLINOIS, CTR SUPERCOMP RES & DEV, URBANA, IL 61801 USA
来源
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS | 1996年 / 18卷 / 04期
关键词
dependence analysis; parallelization; symbolic analysis;
D O I
10.1145/233561.233568
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The notion of dependence captures the most important properties of a program for efficient execution on parallel computers. The dependence structure of a program defines the necessary constraints of the order of execution of the program components and provides sufficient information for the exploitation of the available parallelism. Static discovery and management of the dependence structure of programs save a tremendous amount of execution time, and dynamic utilization of dependence information results in a significant performance gain on parallel computers. However, experiments with parallel computers indicate that existing multiprocessing environments are unable to deliver the desired performance over a wide range of real applications, mainly due to lack of precision of their dependence information. This calls for an effective compilation scheme capable of understanding the dependence structure of complicated application programs. This article describes a methodology for capturing and analyzing program properties that are essential in the effective detection and efficient exploitation of parallelism on parallel computers. Based on this methodology, a symbolic analysis framework is developed for the Parafrase-2 parallelizing compiler. This framework extends the scope of a variety of important program analysis problems and solves them in a unified way. The attained solution space of these problems is much larger than that handled by existing compiler technology. Such a powerful approach is required for the effective compilation of a large class of application programs.
引用
收藏
页码:477 / 518
页数:42
相关论文
共 97 条
[11]  
BARANI I, 1986, 18 ANN ACM S THEOR C, P442
[12]   THE PERFECT-CLUB BENCHMARKS - EFFECTIVE PERFORMANCE EVALUATION OF SUPERCOMPUTERS [J].
BERRY, M ;
CHEN, D ;
KOSS, P ;
KUCK, D ;
LO, S ;
PANG, Y ;
POINTER, L ;
ROLOFF, R ;
SAMEH, A ;
CLEMENTI, E ;
CHIN, S ;
SCHNEIDER, D ;
FOX, G ;
MESSINA, P ;
WALKER, D ;
HSIUNG, C ;
SCHWARZMEIER, J ;
LUE, K ;
ORSZAG, S ;
SEIDL, F ;
JOHNSON, O ;
GOODRUM, R ;
MARTIN, J .
INTERNATIONAL JOURNAL OF SUPERCOMPUTER APPLICATIONS AND HIGH PERFORMANCE COMPUTING, 1989, 3 (03) :5-40
[13]   PERFORMANCE ANALYSIS OF PARALLELIZING COMPILERS ON THE PERFECT BENCHMARKS(R) PROGRAMS [J].
BLUME, W ;
EIGENMANN, R .
IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 1992, 3 (06) :643-656
[14]  
Buchberger B., 1982, Computing (Supplementum), P11
[15]  
CALLAHAN D, 1988, SUPERCOMPUTING 88, P98
[16]   ON CANONICAL FORMS AND SIMPLIFICATION [J].
CAVINESS, BF .
JOURNAL OF THE ACM, 1970, 17 (02) :385-&
[17]  
CHANG C, 1973, SYMBOLIC LOGIC MECHA
[18]   SYMBOLIC EVALUATION AND THE ANALYSIS OF PROGRAMS [J].
CHEATHAM, TE ;
HOLLOWAY, GH ;
TOWNLEY, JA .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1979, 5 (04) :402-417
[19]  
Clarke L. A., 1981, Program flow analysis. Theory and applications, P264
[20]   ALGORITHM FOR REDUCTION OF OPERATOR STRENGTH [J].
COCKE, J ;
KENNEDY, K .
COMMUNICATIONS OF THE ACM, 1977, 20 (11) :850-856