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...
Saved in:
Published in: | ACM transactions on programming languages and systems 1996-07, Vol.18 (4), p.477-518 |
---|---|
Main Authors: | , |
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&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 |