SCAN: A Heuristic for Near-Optimal Software Pipelining
Software pipelining is a classic compiler optimization that improves the performances of inner loops on instruction-level parallel processors. In the context of embedded computing, applications are compiled prior to manufacturing the system, so it is possible to invest large amounts of time for comp...
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Buchkapitel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 298 |
---|---|
container_issue | |
container_start_page | 289 |
container_title | |
container_volume | |
creator | Blachot, F. de Dinechin, Benoît Dupont Huard, Guillaume |
description | Software pipelining is a classic compiler optimization that improves the performances of inner loops on instruction-level parallel processors. In the context of embedded computing, applications are compiled prior to manufacturing the system, so it is possible to invest large amounts of time for compiler optimizations.
Traditionally, software pipelining is performed by heuristics such as iterative modulo scheduling. Optimal software pipelining can be formulated as integer linear programs, however these formulations can take exponential time to solve. As a result, the size of loops that can be optimally software pipelined is quite limited.
In this article, we present the SCAN heuristic, which enables to benefit from the integer linear programming formulations of software pipelining even on loops of significant size. The principle of the SCAN heuristic is to iteratively constrain the software pipelining problem until the integer linear programming formulation is solvable in reasonable time.
We applied the SCAN heuristic to a multimedia benchmark for the ST200 VLIW processor. We show that it almost always compute an optimal solution for loops that are intractable by classic integer linear programming approaches. This improves performances by up to 33.3% over the heuristic modulo scheduling of the production ST200 compiler. |
doi_str_mv | 10.1007/11823285_30 |
format | Book Chapter |
fullrecord | <record><control><sourceid>pascalfrancis_sprin</sourceid><recordid>TN_cdi_pascalfrancis_primary_19993215</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>19993215</sourcerecordid><originalsourceid>FETCH-LOGICAL-p256t-1d758512948a1ecd7fbcca6908ad509ecb25cdd7fdeaba705430816092f52b7b3</originalsourceid><addsrcrecordid>eNpVUE1Lw0AUXL_AUnvyD-TiwUP0vX3Z7K63UqoVSitUz8tmsynRmITdiPjvjdSDzmVgZhiGYewS4QYB5C2i4sSVMARHbKalIpEBSakyfcwmmCOmRJk--ecRP2UTIOCplhmds1mMrzCCUAqBE5bvFvPNXTJPVv4j1HGoXVJ1Idl4G9JtP9Tvtkl2XTV82uCTp7r3Td3W7f6CnVW2iX72y1P2cr98XqzS9fbhcTFfpz0X-ZBiKYUSyHWmLHpXyqpwzuYalC0FaO8KLlw5yqW3hZUgMgKFOWheCV7Igqbs6tDb2-hsUwXbujqaPozDwpdBrTVxFGPu-pCLo9XufTBF171Fg2B-vjN_vqNvYGlZkg</addsrcrecordid><sourcetype>Index Database</sourcetype><iscdi>true</iscdi><recordtype>book_chapter</recordtype></control><display><type>book_chapter</type><title>SCAN: A Heuristic for Near-Optimal Software Pipelining</title><source>Springer Books</source><creator>Blachot, F. ; de Dinechin, Benoît Dupont ; Huard, Guillaume</creator><contributor>Walter, Wolfgang V. ; Lehner, Wolfgang ; Nagel, Wolfgang E.</contributor><creatorcontrib>Blachot, F. ; de Dinechin, Benoît Dupont ; Huard, Guillaume ; Walter, Wolfgang V. ; Lehner, Wolfgang ; Nagel, Wolfgang E.</creatorcontrib><description>Software pipelining is a classic compiler optimization that improves the performances of inner loops on instruction-level parallel processors. In the context of embedded computing, applications are compiled prior to manufacturing the system, so it is possible to invest large amounts of time for compiler optimizations.
Traditionally, software pipelining is performed by heuristics such as iterative modulo scheduling. Optimal software pipelining can be formulated as integer linear programs, however these formulations can take exponential time to solve. As a result, the size of loops that can be optimally software pipelined is quite limited.
In this article, we present the SCAN heuristic, which enables to benefit from the integer linear programming formulations of software pipelining even on loops of significant size. The principle of the SCAN heuristic is to iteratively constrain the software pipelining problem until the integer linear programming formulation is solvable in reasonable time.
We applied the SCAN heuristic to a multimedia benchmark for the ST200 VLIW processor. We show that it almost always compute an optimal solution for loops that are intractable by classic integer linear programming approaches. This improves performances by up to 33.3% over the heuristic modulo scheduling of the production ST200 compiler.</description><identifier>ISSN: 0302-9743</identifier><identifier>ISBN: 9783540377832</identifier><identifier>ISBN: 3540377832</identifier><identifier>EISSN: 1611-3349</identifier><identifier>EISBN: 9783540377849</identifier><identifier>EISBN: 3540377840</identifier><identifier>DOI: 10.1007/11823285_30</identifier><language>eng</language><publisher>Berlin, Heidelberg: Springer Berlin Heidelberg</publisher><subject>Applied sciences ; Computer science; control theory; systems ; Computer systems and distributed systems. User interface ; Exact sciences and technology ; Language theory and syntactical analysis ; Operational research and scientific management ; Operational research. Management science ; Scheduling, sequencing ; Software ; Theoretical computing</subject><ispartof>Euro-Par 2006 Parallel Processing, 2006, p.289-298</ispartof><rights>Springer-Verlag Berlin Heidelberg 2006</rights><rights>2008 INIST-CNRS</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><relation>Lecture Notes in Computer Science</relation></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://link.springer.com/content/pdf/10.1007/11823285_30$$EPDF$$P50$$Gspringer$$H</linktopdf><linktohtml>$$Uhttps://link.springer.com/10.1007/11823285_30$$EHTML$$P50$$Gspringer$$H</linktohtml><link.rule.ids>309,310,779,780,784,789,790,793,4047,4048,27923,38253,41440,42509</link.rule.ids><backlink>$$Uhttp://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&idt=19993215$$DView record in Pascal Francis$$Hfree_for_read</backlink></links><search><contributor>Walter, Wolfgang V.</contributor><contributor>Lehner, Wolfgang</contributor><contributor>Nagel, Wolfgang E.</contributor><creatorcontrib>Blachot, F.</creatorcontrib><creatorcontrib>de Dinechin, Benoît Dupont</creatorcontrib><creatorcontrib>Huard, Guillaume</creatorcontrib><title>SCAN: A Heuristic for Near-Optimal Software Pipelining</title><title>Euro-Par 2006 Parallel Processing</title><description>Software pipelining is a classic compiler optimization that improves the performances of inner loops on instruction-level parallel processors. In the context of embedded computing, applications are compiled prior to manufacturing the system, so it is possible to invest large amounts of time for compiler optimizations.
Traditionally, software pipelining is performed by heuristics such as iterative modulo scheduling. Optimal software pipelining can be formulated as integer linear programs, however these formulations can take exponential time to solve. As a result, the size of loops that can be optimally software pipelined is quite limited.
In this article, we present the SCAN heuristic, which enables to benefit from the integer linear programming formulations of software pipelining even on loops of significant size. The principle of the SCAN heuristic is to iteratively constrain the software pipelining problem until the integer linear programming formulation is solvable in reasonable time.
We applied the SCAN heuristic to a multimedia benchmark for the ST200 VLIW processor. We show that it almost always compute an optimal solution for loops that are intractable by classic integer linear programming approaches. This improves performances by up to 33.3% over the heuristic modulo scheduling of the production ST200 compiler.</description><subject>Applied sciences</subject><subject>Computer science; control theory; systems</subject><subject>Computer systems and distributed systems. User interface</subject><subject>Exact sciences and technology</subject><subject>Language theory and syntactical analysis</subject><subject>Operational research and scientific management</subject><subject>Operational research. Management science</subject><subject>Scheduling, sequencing</subject><subject>Software</subject><subject>Theoretical computing</subject><issn>0302-9743</issn><issn>1611-3349</issn><isbn>9783540377832</isbn><isbn>3540377832</isbn><isbn>9783540377849</isbn><isbn>3540377840</isbn><fulltext>true</fulltext><rsrctype>book_chapter</rsrctype><creationdate>2006</creationdate><recordtype>book_chapter</recordtype><recordid>eNpVUE1Lw0AUXL_AUnvyD-TiwUP0vX3Z7K63UqoVSitUz8tmsynRmITdiPjvjdSDzmVgZhiGYewS4QYB5C2i4sSVMARHbKalIpEBSakyfcwmmCOmRJk--ecRP2UTIOCplhmds1mMrzCCUAqBE5bvFvPNXTJPVv4j1HGoXVJ1Idl4G9JtP9Tvtkl2XTV82uCTp7r3Td3W7f6CnVW2iX72y1P2cr98XqzS9fbhcTFfpz0X-ZBiKYUSyHWmLHpXyqpwzuYalC0FaO8KLlw5yqW3hZUgMgKFOWheCV7Igqbs6tDb2-hsUwXbujqaPozDwpdBrTVxFGPu-pCLo9XufTBF171Fg2B-vjN_vqNvYGlZkg</recordid><startdate>2006</startdate><enddate>2006</enddate><creator>Blachot, F.</creator><creator>de Dinechin, Benoît Dupont</creator><creator>Huard, Guillaume</creator><general>Springer Berlin Heidelberg</general><general>Springer</general><scope>IQODW</scope></search><sort><creationdate>2006</creationdate><title>SCAN: A Heuristic for Near-Optimal Software Pipelining</title><author>Blachot, F. ; de Dinechin, Benoît Dupont ; Huard, Guillaume</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-p256t-1d758512948a1ecd7fbcca6908ad509ecb25cdd7fdeaba705430816092f52b7b3</frbrgroupid><rsrctype>book_chapters</rsrctype><prefilter>book_chapters</prefilter><language>eng</language><creationdate>2006</creationdate><topic>Applied sciences</topic><topic>Computer science; control theory; systems</topic><topic>Computer systems and distributed systems. User interface</topic><topic>Exact sciences and technology</topic><topic>Language theory and syntactical analysis</topic><topic>Operational research and scientific management</topic><topic>Operational research. Management science</topic><topic>Scheduling, sequencing</topic><topic>Software</topic><topic>Theoretical computing</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Blachot, F.</creatorcontrib><creatorcontrib>de Dinechin, Benoît Dupont</creatorcontrib><creatorcontrib>Huard, Guillaume</creatorcontrib><collection>Pascal-Francis</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Blachot, F.</au><au>de Dinechin, Benoît Dupont</au><au>Huard, Guillaume</au><au>Walter, Wolfgang V.</au><au>Lehner, Wolfgang</au><au>Nagel, Wolfgang E.</au><format>book</format><genre>bookitem</genre><ristype>CHAP</ristype><atitle>SCAN: A Heuristic for Near-Optimal Software Pipelining</atitle><btitle>Euro-Par 2006 Parallel Processing</btitle><seriestitle>Lecture Notes in Computer Science</seriestitle><date>2006</date><risdate>2006</risdate><spage>289</spage><epage>298</epage><pages>289-298</pages><issn>0302-9743</issn><eissn>1611-3349</eissn><isbn>9783540377832</isbn><isbn>3540377832</isbn><eisbn>9783540377849</eisbn><eisbn>3540377840</eisbn><abstract>Software pipelining is a classic compiler optimization that improves the performances of inner loops on instruction-level parallel processors. In the context of embedded computing, applications are compiled prior to manufacturing the system, so it is possible to invest large amounts of time for compiler optimizations.
Traditionally, software pipelining is performed by heuristics such as iterative modulo scheduling. Optimal software pipelining can be formulated as integer linear programs, however these formulations can take exponential time to solve. As a result, the size of loops that can be optimally software pipelined is quite limited.
In this article, we present the SCAN heuristic, which enables to benefit from the integer linear programming formulations of software pipelining even on loops of significant size. The principle of the SCAN heuristic is to iteratively constrain the software pipelining problem until the integer linear programming formulation is solvable in reasonable time.
We applied the SCAN heuristic to a multimedia benchmark for the ST200 VLIW processor. We show that it almost always compute an optimal solution for loops that are intractable by classic integer linear programming approaches. This improves performances by up to 33.3% over the heuristic modulo scheduling of the production ST200 compiler.</abstract><cop>Berlin, Heidelberg</cop><pub>Springer Berlin Heidelberg</pub><doi>10.1007/11823285_30</doi><tpages>10</tpages><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0302-9743 |
ispartof | Euro-Par 2006 Parallel Processing, 2006, p.289-298 |
issn | 0302-9743 1611-3349 |
language | eng |
recordid | cdi_pascalfrancis_primary_19993215 |
source | Springer Books |
subjects | Applied sciences Computer science control theory systems Computer systems and distributed systems. User interface Exact sciences and technology Language theory and syntactical analysis Operational research and scientific management Operational research. Management science Scheduling, sequencing Software Theoretical computing |
title | SCAN: A Heuristic for Near-Optimal Software Pipelining |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-14T06%3A02%3A31IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-pascalfrancis_sprin&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=bookitem&rft.atitle=SCAN:%20A%20Heuristic%20for%20Near-Optimal%20Software%20Pipelining&rft.btitle=Euro-Par%202006%20Parallel%20Processing&rft.au=Blachot,%20F.&rft.date=2006&rft.spage=289&rft.epage=298&rft.pages=289-298&rft.issn=0302-9743&rft.eissn=1611-3349&rft.isbn=9783540377832&rft.isbn_list=3540377832&rft_id=info:doi/10.1007/11823285_30&rft_dat=%3Cpascalfrancis_sprin%3E19993215%3C/pascalfrancis_sprin%3E%3Curl%3E%3C/url%3E&rft.eisbn=9783540377849&rft.eisbn_list=3540377840&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true |