strategies for optimised stg decomposition
play

Strategies for Optimised STG Decomposition Mark Schaefer 1 Walter - PowerPoint PPT Presentation

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


  1. 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

  2. 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

  3. 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

  4. STGs Ri− Ai− Ro+ Ai+ Ri+ Ro− inputs outputs Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 4 / 18

  5. STGs Ri− Ai− Ro+ Ai+ Ri+ Ro− inputs outputs Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 4 / 18

  6. STGs Ri− Ai− Ro+ Ai+ Ri+ Ro− inputs outputs Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 4 / 18

  7. STGs Ri− Ai− Ro+ Ai+ Ri+ Ro− inputs outputs Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 4 / 18

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. Decomposition Outline N Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 7 / 18

  16. Decomposition Outline λ N ⇒ N 0 = Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 7 / 18

  17. Decomposition Outline λ t 0 N ⇒ N 0 → N 1 − = Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 7 / 18

  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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. New Decomposition Strategies Contraction reordering Lazy backtracking Tree decomposition Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 11 / 18

  33. Contraction Reordering Contraction of ‘good’ transitions produces few new places Mark Schaefer (University of Augsburg) STG Decomposition Strategies ACSD 2006 12 / 18

  34. 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