Strategies for Optimised STG Decomposition Mark Schaefer 1 Walter Vogler 1 Ralf Wollowski 2 Victor Khomenko 3 1 Institute of Computer Science, University of Augsburg, Germany 2 Hasso-Plattner-Institute, Potsdam, Germany 3 School of Computing Science, University of Newcastle upon Tyne, UK ACSD 2006 Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 1 / 18
Overview 1 STG Decomposition STGs Decomposition 2 New Decomposition Strategies Contraction Reordering Lazy Backtracking Tree Decomposition Results 3 Future Research Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 2 / 18
STGs Signal Transition Graphs are Petri nets Transitions are labelled with signal edges Modell for asynchronous circuits Input signal edge activated → circuit is ready to receive it from the environment Output/internal signal edge activated → circuit must produce this signal edge Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 3 / 18
STGs Ri− Ai− Ro+ Ai+ Ri+ Ro− inputs outputs Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 4 / 18
STGs Ri− Ai− Ro+ Ai+ Ri+ Ro− inputs outputs Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 4 / 18
STGs Ri− Ai− Ro+ Ai+ Ri+ Ro− inputs outputs Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 4 / 18
STGs Ri− Ai− Ro+ Ai+ Ri+ Ro− inputs outputs Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 4 / 18
Motivation for Decomposition Synthesising a ciruit from an STG N Generate the reachability graph R of N → state explosion Derive an equation for each output signal from R Effort more than linear in | R | Quadratic for the na¨ ıve approach Better methods work with BDDs or SAT-solving Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 5 / 18
Motivation for Decomposition Synthesising a ciruit from an STG N Generate the reachability graph R of N → state explosion Derive an equation for each output signal from R Effort more than linear in | R | Quadratic for the na¨ ıve approach Better methods work with BDDs or SAT-solving Decomposition approach Split an STG into components, each producing a subset of outputs Perform synthesis for the components Advantage: Smaller reachability graphs Overall performance improvement Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 5 / 18
Motivation for Decomposition Synthesising a ciruit from an STG N Generate the reachability graph R of N → state explosion Derive an equation for each output signal from R Effort more than linear in | R | Quadratic for the na¨ ıve approach Better methods work with BDDs or SAT-solving Decomposition approach Split an STG into components, each producing a subset of outputs Perform synthesis for the components Advantage: Smaller reachability graphs Overall performance improvement During decomposition reachability graphs must not be generated! Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 5 / 18
Decomposition Outline For a specification N , choose a partition of the output signals For each subset produce an initial component Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 6 / 18
Decomposition Outline For a specification N , choose a partition of the output signals For each subset produce an initial component Copy of N Includes outputs Some minimal set of additional signals as inputs Other signals are lambdarised Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 6 / 18
Decomposition Outline For a specification N , choose a partition of the output signals For each subset produce an initial component Copy of N Includes outputs Some minimal set of additional signals as inputs Other signals are lambdarised Reduce the components seperately and non-deterministicly Contract λ -labelled transition Delete redundant places and transitions Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 6 / 18
Decomposition Outline For a specification N , choose a partition of the output signals For each subset produce an initial component Copy of N Includes outputs Some minimal set of additional signals as inputs Other signals are lambdarised Reduce the components seperately and non-deterministicly Contract λ -labelled transition Delete redundant places and transitions If neccessary, backtracking : Go back to initial component Delambdarise additional signal Start again Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 6 / 18
Decomposition Outline N Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 7 / 18
Decomposition Outline λ N ⇒ N 0 = Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 7 / 18
Decomposition Outline λ t 0 N ⇒ N 0 → N 1 − = Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 7 / 18
Decomposition Outline λ t 0 t 1 N ⇒ N 0 → N 1 → N 2 − − = Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 7 / 18
Decomposition Outline λ t 0 t 1 t 2 N ⇒ N 0 → N 1 → N 2 → N 3 − − − = Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 7 / 18
Decomposition Outline λ t 0 t 1 t 2 t 3 N ⇒ N 0 → N 1 → N 2 → N 3 → · · · − − − − = Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 7 / 18
Decomposition Outline λ t 0 t 1 t 2 t 3 t k N ⇒ N 0 → N 1 → N 2 → N 3 → · · · N k → − − − − − = Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 7 / 18
Decomposition Outline λ t 0 t 1 t 2 t 3 t k N ⇒ N 0 → N 1 → N 2 → N 3 → · · · N k → − − − − − = ⇓ a = sig ( t k ) N ′ 0 Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 7 / 18
Decomposition Outline λ t 0 t 1 t 2 t 3 t k N ⇒ N 0 → N 1 → N 2 → N 3 → · · · N k → − − − − − = ⇓ a = sig ( t k ) t ′ t ′ 0 1 N ′ → N ′ − − → · · · 0 1 Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 7 / 18
Decomposition Outline λ t 0 t 1 t 2 t 3 t k N ⇒ N 0 → N 1 → N 2 → N 3 → · · · N k → − − − − − = ⇓ a = sig ( t k ) t ′ t ′ t ′ 0 1 m N ′ → N ′ → · · · N ′ − − − → m 0 1 Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 7 / 18
Decomposition Outline λ t 0 t 1 t 2 t 3 t k N ⇒ N 0 → N 1 → N 2 → N 3 → · · · N k → − − − − − = ⇓ a = sig ( t k ) t ′ t ′ t ′ 0 1 m N ′ → N ′ → · · · N ′ − − − → m 0 1 ⇓ a ′ = sig ( t ′ m ) t ′′ 0 N ′′ → · · · − 0 . . . Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 7 / 18
Decomposition Outline λ t 0 t 1 t 2 t 3 t k N ⇒ N 0 → N 1 → N 2 → N 3 → · · · N k → − − − − − = ⇓ a = sig ( t k ) t ′ t ′ t ′ 0 1 m N ′ → N ′ → · · · N ′ − − − → m 0 1 ⇓ a ′ = sig ( t ′ m ) t ′′ 0 N ′′ → · · · − 0 . . . · · · C · · · Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 7 / 18
Transition Contraction Ia− Ack+ p 1 p 2 λ Ro+ p 4 p 3 Ia+ Ro+ Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 8 / 18
Transition Contraction Ia− Ack+ p 1 p 2 Ia− Ack+ p 1 p 4 p 2 p 3 λ p 1 p 3 p 2 p 4 Ro+ Ro+ Ia+ Ro+ p 4 p 3 Ia+ Ro+ Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 8 / 18
Backtracking Backtracking is performed if no more λ -transition can be contracted, because the contraction . . . is not defined (loops, arcweight ≥ 2) . . . is not-secure (langugage changed) . . . generates structural auto-conflict Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 9 / 18
Auto-Conflicts Ia− Ack+ p 2 p 1 Ia− Ack+ 1 p 4 p 2 p 3 p λ p 1 p 3 p 2 p 4 Ro+ Ro+ Ia+ Ro+ p 4 p 3 Ia+ Ro+ Structural auto-conflict Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 10 / 18
Auto-Conflicts Ia− Ack+ p 1 p 2 Ia− Ack+ 1 p 4 p 2 p 3 p λ p 1 p 3 p 2 p 4 Ro+ Ro+ Ia+ Ro+ p 4 p 3 Ia+ Ro+ Dynamic auto-conflict Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 10 / 18
New Decomposition Strategies Contraction reordering Lazy backtracking Tree decomposition Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 11 / 18
Contraction Reordering Contraction of ‘good’ transitions produces few new places Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 12 / 18
Contraction Reordering Contraction of ‘good’ transitions produces few new places λ Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 12 / 18
Recommend
More recommend