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 条
[61]  
Knuth Donald E., 1973, ART COMPUTER PROGRAM, V1
[62]   SEMANTICS OF PROBABILISTIC PROGRAMS [J].
KOZEN, D .
JOURNAL OF COMPUTER AND SYSTEM SCIENCES, 1981, 22 (03) :328-350
[63]   ALLOCATING INDEPENDENT SUBTASKS ON PARALLEL PROCESSORS [J].
KRUSKAL, CP ;
WEISS, A .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1985, 11 (10) :1001-1016
[64]  
*KUCK ASS, 1988, KAP US GUID
[65]  
KUCK DJ, 1980, P COMPSAC 80, P709
[66]   PARALLEL EXECUTION OF DO LOOPS [J].
LAMPORT, L .
COMMUNICATIONS OF THE ACM, 1974, 17 (02) :83-93
[67]  
LICHNEWSKY A, 1988, SUPERCOMPUTING 88, P396
[68]  
MAYDAN DE, 1991, P ACM SIGPLAN 91 C P, P1
[69]  
MOORE RE, 1986, INTERVAL ANAL
[70]  
MOREIRA JE, 1995, THESIS U ILLINOIS UR