Scheduling expression DAGs for minimal register need
Identifieur interne : 002756 ( Main/Exploration ); précédent : 002755; suivant : 002757Scheduling expression DAGs for minimal register need
Auteurs : Christoph W. Ke Ler [Allemagne]Source :
- Lecture Notes in Computer Science [ 0302-9743 ] ; 1996.
Abstract
Abstract: Generating schedules for expression DAGs that use a minimal number of registers is a classical NP-complete optimization problem. Up to now an exact solution could only be computed for small DAGs (with up to 20 nodes), using a trivial O(n!) enumeration algorithm. We present a new algorithm with worst-case complexity O(n22n) and very good average behaviour. Applying a dynamic programming scheme and reordering techniques, it is able to defer the combinatorial explosion and to generate an optimal schedule not only for small DAGs but also for medium-sized ones with up to 50 nodes, a class that contains nearly all DAGs encountered in typical application programs. Experiments with randomly generated DAGs and large DAGs from real application programs confirm that the new algorithm generates optimal schedules quite fast. We extend our algorithm to cope with delay slots and multiple functional units, two common features of modern superscalar processors.
Url:
DOI: 10.1007/3-540-61756-6_88
Affiliations:
Links toward previous steps (curation, corpus...)
- to stream Istex, to step Corpus: 001486
- to stream Istex, to step Curation: 001374
- to stream Istex, to step Checkpoint: 001030
- to stream Main, to step Merge: 002C30
- to stream Main, to step Curation: 002756
Le document en format XML
<record><TEI wicri:istexFullTextTei="biblStruct"><teiHeader><fileDesc><titleStmt><title xml:lang="en">Scheduling expression DAGs for minimal register need</title>
<author><name sortKey="Ke Ler, Christoph W" sort="Ke Ler, Christoph W" uniqKey="Ke Ler C" first="Christoph W." last="Ke Ler">Christoph W. Ke Ler</name>
</author>
</titleStmt>
<publicationStmt><idno type="wicri:source">ISTEX</idno>
<idno type="RBID">ISTEX:BE0ED17B70FB81C7829E7B2C36394FA9F6A9E8C1</idno>
<date when="1996" year="1996">1996</date>
<idno type="doi">10.1007/3-540-61756-6_88</idno>
<idno type="url">https://api.istex.fr/document/BE0ED17B70FB81C7829E7B2C36394FA9F6A9E8C1/fulltext/pdf</idno>
<idno type="wicri:Area/Istex/Corpus">001486</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Corpus" wicri:corpus="ISTEX">001486</idno>
<idno type="wicri:Area/Istex/Curation">001374</idno>
<idno type="wicri:Area/Istex/Checkpoint">001030</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Checkpoint">001030</idno>
<idno type="wicri:doubleKey">0302-9743:1996:Ke Ler C:scheduling:expression:dags</idno>
<idno type="wicri:Area/Main/Merge">002C30</idno>
<idno type="wicri:Area/Main/Curation">002756</idno>
<idno type="wicri:Area/Main/Exploration">002756</idno>
</publicationStmt>
<sourceDesc><biblStruct><analytic><title level="a" type="main" xml:lang="en">Scheduling expression DAGs for minimal register need</title>
<author><name sortKey="Ke Ler, Christoph W" sort="Ke Ler, Christoph W" uniqKey="Ke Ler C" first="Christoph W." last="Ke Ler">Christoph W. Ke Ler</name>
<affiliation wicri:level="1"><country xml:lang="fr">Allemagne</country>
<wicri:regionArea>Universität Trier, FB 4 - Informatik, D-54286, Trier</wicri:regionArea>
<wicri:noRegion>54286, Trier</wicri:noRegion>
<wicri:noRegion>Trier</wicri:noRegion>
</affiliation>
<affiliation wicri:level="1"><country wicri:rule="url">Allemagne</country>
</affiliation>
</author>
</analytic>
<monogr></monogr>
<series><title level="s">Lecture Notes in Computer Science</title>
<imprint><date>1996</date>
</imprint>
<idno type="ISSN">0302-9743</idno>
<idno type="eISSN">1611-3349</idno>
<idno type="ISSN">0302-9743</idno>
</series>
<idno type="istex">BE0ED17B70FB81C7829E7B2C36394FA9F6A9E8C1</idno>
<idno type="DOI">10.1007/3-540-61756-6_88</idno>
<idno type="ChapterID">16</idno>
<idno type="ChapterID">Chap16</idno>
</biblStruct>
</sourceDesc>
<seriesStmt><idno type="ISSN">0302-9743</idno>
</seriesStmt>
</fileDesc>
<profileDesc><textClass></textClass>
<langUsage><language ident="en">en</language>
</langUsage>
</profileDesc>
</teiHeader>
<front><div type="abstract" xml:lang="en">Abstract: Generating schedules for expression DAGs that use a minimal number of registers is a classical NP-complete optimization problem. Up to now an exact solution could only be computed for small DAGs (with up to 20 nodes), using a trivial O(n!) enumeration algorithm. We present a new algorithm with worst-case complexity O(n22n) and very good average behaviour. Applying a dynamic programming scheme and reordering techniques, it is able to defer the combinatorial explosion and to generate an optimal schedule not only for small DAGs but also for medium-sized ones with up to 50 nodes, a class that contains nearly all DAGs encountered in typical application programs. Experiments with randomly generated DAGs and large DAGs from real application programs confirm that the new algorithm generates optimal schedules quite fast. We extend our algorithm to cope with delay slots and multiple functional units, two common features of modern superscalar processors.</div>
</front>
</TEI>
<affiliations><list><country><li>Allemagne</li>
</country>
</list>
<tree><country name="Allemagne"><noRegion><name sortKey="Ke Ler, Christoph W" sort="Ke Ler, Christoph W" uniqKey="Ke Ler C" first="Christoph W." last="Ke Ler">Christoph W. Ke Ler</name>
</noRegion>
<name sortKey="Ke Ler, Christoph W" sort="Ke Ler, Christoph W" uniqKey="Ke Ler C" first="Christoph W." last="Ke Ler">Christoph W. Ke Ler</name>
</country>
</tree>
</affiliations>
</record>
Pour manipuler ce document sous Unix (Dilib)
EXPLOR_STEP=$WICRI_ROOT/Wicri/Rhénanie/explor/UnivTrevesV1/Data/Main/Exploration
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 002756 | SxmlIndent | more
Ou
HfdSelect -h $EXPLOR_AREA/Data/Main/Exploration/biblio.hfd -nk 002756 | SxmlIndent | more
Pour mettre un lien sur cette page dans le réseau Wicri
{{Explor lien |wiki= Wicri/Rhénanie |area= UnivTrevesV1 |flux= Main |étape= Exploration |type= RBID |clé= ISTEX:BE0ED17B70FB81C7829E7B2C36394FA9F6A9E8C1 |texte= Scheduling expression DAGs for minimal register need }}
![]() | This area was generated with Dilib version V0.6.31. | ![]() |