Loading…

Symbolic analysis for parallelizing compilers

The notion of dependence captures that most important properties of a program for efficient execution on parallel computers. The dependence structure of a program defines that necessary constraints of the order of execution of the program components and provides sufficient information for the exploi...

Full description

Saved in:
Bibliographic Details
Published in:ACM transactions on programming languages and systems 1996-07, Vol.18 (4), p.477-518
Main Authors: Haghighat, Mohammad R., Polychronopoulos, Constantine D.
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by cdi_FETCH-LOGICAL-a410t-4344397615700cd3353ab062d89b533daaa8cd9f4f8861c2699b2cbdcb7eac533
cites cdi_FETCH-LOGICAL-a410t-4344397615700cd3353ab062d89b533daaa8cd9f4f8861c2699b2cbdcb7eac533
container_end_page 518
container_issue 4
container_start_page 477
container_title ACM transactions on programming languages and systems
container_volume 18
creator Haghighat, Mohammad R.
Polychronopoulos, Constantine D.
description The notion of dependence captures that most important properties of a program for efficient execution on parallel computers. The dependence structure of a program defines that 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 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.
doi_str_mv 10.1145/233561.233568
format article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_29057130</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>29057130</sourcerecordid><originalsourceid>FETCH-LOGICAL-a410t-4344397615700cd3353ab062d89b533daaa8cd9f4f8861c2699b2cbdcb7eac533</originalsourceid><addsrcrecordid>eNqF0DtPwzAUBWALgUQpjAxsGRCbi2_8iD2iipdUiQGYoxvHQUbOA7sdwq8nkKor0xn83SPrEHIJbAUg5G3OuVSw-gt9RBYgpaZCGn5MFgyUoMzk8pScpfTJGAMt9YLQ17Gt-uBthh2GMfmUNX3MBowYggv-23cfme3bwQcX0zk5aTAkd7HPJXl_uH9bP9HNy-Pz-m5DUQDbUsGF4KZQIAvGbD39h2PFVF5rU0nOa0TUtjaNaLRWYHNlTJXbqrZV4dBOYklu5t4h9l87l7Zl65N1IWDn-l0qc8NkAZz9D9W0hVAwQTpDG_uUomvKIfoW41gCK3_XK-f15tCTv94XY7IYmoid9elwxEEXDMzErmaGtj087it-ADgQdVs</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>26356461</pqid></control><display><type>article</type><title>Symbolic analysis for parallelizing compilers</title><source>Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list)</source><creator>Haghighat, Mohammad R. ; Polychronopoulos, Constantine D.</creator><creatorcontrib>Haghighat, Mohammad R. ; Polychronopoulos, Constantine D.</creatorcontrib><description>The notion of dependence captures that most important properties of a program for efficient execution on parallel computers. The dependence structure of a program defines that 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 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.</description><identifier>ISSN: 0164-0925</identifier><identifier>EISSN: 1558-4593</identifier><identifier>DOI: 10.1145/233561.233568</identifier><identifier>CODEN: ATPSDT</identifier><language>eng</language><publisher>New York, NY, USA: ACM</publisher><subject>Applied computing ; Applied sciences ; Automated reasoning ; Combinatorics ; Compilers ; Computer algebra systems ; Computer science; control theory; systems ; Computing methodologies ; Contextual software domains ; Discrete mathematics ; Exact sciences and technology ; Generating functions ; Logic ; Mathematics and statistics ; Mathematics of computing ; Operating systems ; Physical sciences and engineering ; Process management ; Program reasoning ; Programming languages ; Scheduling ; Semantics and reasoning ; Software ; Software and its engineering ; Software notations and tools ; Software organization and properties ; Symbolic and algebraic manipulation ; Theory of computation ; Utility programs</subject><ispartof>ACM transactions on programming languages and systems, 1996-07, Vol.18 (4), p.477-518</ispartof><rights>ACM</rights><rights>1996 INIST-CNRS</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-a410t-4344397615700cd3353ab062d89b533daaa8cd9f4f8861c2699b2cbdcb7eac533</citedby><cites>FETCH-LOGICAL-a410t-4344397615700cd3353ab062d89b533daaa8cd9f4f8861c2699b2cbdcb7eac533</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,27924,27925</link.rule.ids><backlink>$$Uhttp://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&amp;idt=3187019$$DView record in Pascal Francis$$Hfree_for_read</backlink></links><search><creatorcontrib>Haghighat, Mohammad R.</creatorcontrib><creatorcontrib>Polychronopoulos, Constantine D.</creatorcontrib><title>Symbolic analysis for parallelizing compilers</title><title>ACM transactions on programming languages and systems</title><addtitle>ACM TOPLAS</addtitle><description>The notion of dependence captures that most important properties of a program for efficient execution on parallel computers. The dependence structure of a program defines that 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 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.</description><subject>Applied computing</subject><subject>Applied sciences</subject><subject>Automated reasoning</subject><subject>Combinatorics</subject><subject>Compilers</subject><subject>Computer algebra systems</subject><subject>Computer science; control theory; systems</subject><subject>Computing methodologies</subject><subject>Contextual software domains</subject><subject>Discrete mathematics</subject><subject>Exact sciences and technology</subject><subject>Generating functions</subject><subject>Logic</subject><subject>Mathematics and statistics</subject><subject>Mathematics of computing</subject><subject>Operating systems</subject><subject>Physical sciences and engineering</subject><subject>Process management</subject><subject>Program reasoning</subject><subject>Programming languages</subject><subject>Scheduling</subject><subject>Semantics and reasoning</subject><subject>Software</subject><subject>Software and its engineering</subject><subject>Software notations and tools</subject><subject>Software organization and properties</subject><subject>Symbolic and algebraic manipulation</subject><subject>Theory of computation</subject><subject>Utility programs</subject><issn>0164-0925</issn><issn>1558-4593</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>1996</creationdate><recordtype>article</recordtype><recordid>eNqF0DtPwzAUBWALgUQpjAxsGRCbi2_8iD2iipdUiQGYoxvHQUbOA7sdwq8nkKor0xn83SPrEHIJbAUg5G3OuVSw-gt9RBYgpaZCGn5MFgyUoMzk8pScpfTJGAMt9YLQ17Gt-uBthh2GMfmUNX3MBowYggv-23cfme3bwQcX0zk5aTAkd7HPJXl_uH9bP9HNy-Pz-m5DUQDbUsGF4KZQIAvGbD39h2PFVF5rU0nOa0TUtjaNaLRWYHNlTJXbqrZV4dBOYklu5t4h9l87l7Zl65N1IWDn-l0qc8NkAZz9D9W0hVAwQTpDG_uUomvKIfoW41gCK3_XK-f15tCTv94XY7IYmoid9elwxEEXDMzErmaGtj087it-ADgQdVs</recordid><startdate>19960701</startdate><enddate>19960701</enddate><creator>Haghighat, Mohammad R.</creator><creator>Polychronopoulos, Constantine D.</creator><general>ACM</general><general>Association for Computing Machinery</general><scope>IQODW</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>19960701</creationdate><title>Symbolic analysis for parallelizing compilers</title><author>Haghighat, Mohammad R. ; Polychronopoulos, Constantine D.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a410t-4344397615700cd3353ab062d89b533daaa8cd9f4f8861c2699b2cbdcb7eac533</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>1996</creationdate><topic>Applied computing</topic><topic>Applied sciences</topic><topic>Automated reasoning</topic><topic>Combinatorics</topic><topic>Compilers</topic><topic>Computer algebra systems</topic><topic>Computer science; control theory; systems</topic><topic>Computing methodologies</topic><topic>Contextual software domains</topic><topic>Discrete mathematics</topic><topic>Exact sciences and technology</topic><topic>Generating functions</topic><topic>Logic</topic><topic>Mathematics and statistics</topic><topic>Mathematics of computing</topic><topic>Operating systems</topic><topic>Physical sciences and engineering</topic><topic>Process management</topic><topic>Program reasoning</topic><topic>Programming languages</topic><topic>Scheduling</topic><topic>Semantics and reasoning</topic><topic>Software</topic><topic>Software and its engineering</topic><topic>Software notations and tools</topic><topic>Software organization and properties</topic><topic>Symbolic and algebraic manipulation</topic><topic>Theory of computation</topic><topic>Utility programs</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Haghighat, Mohammad R.</creatorcontrib><creatorcontrib>Polychronopoulos, Constantine D.</creatorcontrib><collection>Pascal-Francis</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>ACM transactions on programming languages and systems</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Haghighat, Mohammad R.</au><au>Polychronopoulos, Constantine D.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Symbolic analysis for parallelizing compilers</atitle><jtitle>ACM transactions on programming languages and systems</jtitle><stitle>ACM TOPLAS</stitle><date>1996-07-01</date><risdate>1996</risdate><volume>18</volume><issue>4</issue><spage>477</spage><epage>518</epage><pages>477-518</pages><issn>0164-0925</issn><eissn>1558-4593</eissn><coden>ATPSDT</coden><abstract>The notion of dependence captures that most important properties of a program for efficient execution on parallel computers. The dependence structure of a program defines that 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 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.</abstract><cop>New York, NY, USA</cop><pub>ACM</pub><doi>10.1145/233561.233568</doi><tpages>42</tpages></addata></record>
fulltext fulltext
identifier ISSN: 0164-0925
ispartof ACM transactions on programming languages and systems, 1996-07, Vol.18 (4), p.477-518
issn 0164-0925
1558-4593
language eng
recordid cdi_proquest_miscellaneous_29057130
source Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list)
subjects Applied computing
Applied sciences
Automated reasoning
Combinatorics
Compilers
Computer algebra systems
Computer science
control theory
systems
Computing methodologies
Contextual software domains
Discrete mathematics
Exact sciences and technology
Generating functions
Logic
Mathematics and statistics
Mathematics of computing
Operating systems
Physical sciences and engineering
Process management
Program reasoning
Programming languages
Scheduling
Semantics and reasoning
Software
Software and its engineering
Software notations and tools
Software organization and properties
Symbolic and algebraic manipulation
Theory of computation
Utility programs
title Symbolic analysis for parallelizing compilers
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-08T04%3A15%3A51IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Symbolic%20analysis%20for%20parallelizing%20compilers&rft.jtitle=ACM%20transactions%20on%20programming%20languages%20and%20systems&rft.au=Haghighat,%20Mohammad%20R.&rft.date=1996-07-01&rft.volume=18&rft.issue=4&rft.spage=477&rft.epage=518&rft.pages=477-518&rft.issn=0164-0925&rft.eissn=1558-4593&rft.coden=ATPSDT&rft_id=info:doi/10.1145/233561.233568&rft_dat=%3Cproquest_cross%3E29057130%3C/proquest_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-a410t-4344397615700cd3353ab062d89b533daaa8cd9f4f8861c2699b2cbdcb7eac533%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=26356461&rft_id=info:pmid/&rfr_iscdi=true