on probabilistic parallel programs with process creation
play

On Probabilistic Parallel Programs with Process Creation and - PowerPoint PPT Presentation

On Probabilistic Parallel Programs with Process Creation and Synchronisation Stefan Kiefer 1 Dominik Wojtczak 1 , 2 1 University of Oxford, UK 2 University of Liverpool, UK TACAS, Saarbrcken 30 March 2011 Stefan Kiefer, Dominik Wojtczak On


  1. On Probabilistic Parallel Programs with Process Creation and Synchronisation Stefan Kiefer 1 Dominik Wojtczak 1 , 2 1 University of Oxford, UK 2 University of Liverpool, UK TACAS, Saarbrücken 30 March 2011 Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  2. Split-Join Systems: A Model for Programs with Process Spawning An example run: The rules of a SJS: X split: X ֒ − → � XX � intern: X ֒ − → q intern: X ֒ − → r join: � qr � ֒ − → X Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  3. Split-Join Systems: A Model for Programs with Process Spawning An example run: The rules of a SJS: X split: X ֒ − → � XX � X X intern: X ֒ − → q intern: X ֒ − → r join: � qr � ֒ − → X Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  4. Split-Join Systems: A Model for Programs with Process Spawning An example run: The rules of a SJS: X split: X ֒ − → � XX � X X intern: X ֒ − → q q r intern: X ֒ − → r join: � qr � ֒ − → X Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  5. Split-Join Systems: A Model for Programs with Process Spawning An example run: The rules of a SJS: X split: X ֒ − → � XX � X X intern: X ֒ − → q q r intern: X ֒ − → r join: � qr � ֒ − → X Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  6. Split-Join Systems: A Model for Programs with Process Spawning An example run: The rules of a SJS: X split: X ֒ − → � XX � X X intern: X ֒ − → q q r intern: X ֒ − → r X join: � qr � ֒ − → X Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  7. Split-Join Systems: A Model for Programs with Process Spawning An example run: The rules of a SJS: X split: X ֒ − → � XX � X X intern: X ֒ − → q q r intern: X ֒ − → r X join: � qr � ֒ − → X q Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  8. Split-Join Systems: A Model for Programs with Process Spawning An example run: The rules of a SJS: X split: X ֒ − → � XX � X X intern: X ֒ − → q q r intern: X ֒ − → r X join: � qr � ֒ − → X q Synchronisation states (here q , r ) can be used to return values. Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  9. Split-Join Systems: A Model for Programs with Process Spawning An example run: The rules of a SJS: X split: X ֒ − → � XX � X X intern: X ֒ − → q q r intern: X ֒ − → r X join: � qr � ֒ − → X q Synchronisation states (here q , r ) can be used to return values. Associated to a run: Time T = 4, Work W = 5, Space S = 2 Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  10. Split-Join Systems: A Model for Programs with Process Spawning An example run: The rules of a pSJS: X 0 . 5 split: X ֒ − → � XX � X X 0 . 3 intern: X ֒ − → q q r 0 . 2 intern: X ֒ − → r X 1 . 0 join: � qr � ֒ − → X q Synchronisation states (here q , r ) can be used to return values. Associated to a run: Time T = 4, Work W = 5, Space S = 2 Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  11. Split-Join Systems: A Model for Programs with Process Spawning Another example run: The rules of a pSJS: X 0 . 5 split: X ֒ − → � XX � 0 . 3 intern: X ֒ − → q 0 . 2 intern: X ֒ − → r 1 . 0 join: � qr � ֒ − → X Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  12. Split-Join Systems: A Model for Programs with Process Spawning Another example run: The rules of a pSJS: X 0 . 5 split: X ֒ − → � XX � X X 0 . 3 intern: X ֒ − → q 0 . 2 intern: X ֒ − → r 1 . 0 join: � qr � ֒ − → X Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  13. Split-Join Systems: A Model for Programs with Process Spawning Another example run: The rules of a pSJS: X 0 . 5 split: X ֒ − → � XX � X X 0 . 3 intern: X ֒ − → q 0 . 2 q intern: X ֒ − → r X X 1 . 0 join: � qr � ֒ − → X Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  14. Split-Join Systems: A Model for Programs with Process Spawning Another example run: The rules of a pSJS: X 0 . 5 split: X ֒ − → � XX � X X 0 . 3 intern: X ֒ − → q 0 . 2 q intern: X ֒ − → r X X 1 . 0 join: � qr � ֒ − → X q r Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  15. Split-Join Systems: A Model for Programs with Process Spawning Another example run: The rules of a pSJS: X 0 . 5 split: X ֒ − → � XX � X X 0 . 3 intern: X ֒ − → q 0 . 2 q intern: X ֒ − → r X X 1 . 0 join: � qr � ֒ − → X q r Time T = 3, Work W = 5, Space S = 3 Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  16. Why the Sibling Constraint? The sibling constraint prevents arbitrary synchronisation. Arbitrary Synchronisation would lead to Petri-Nets. more difficult to analyse Sibling Synchronisation is enough for modeling purposes. Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  17. Relationship to pPDSs pSJSs subsume (probabilistic) pushdown systems (pPDSs). Pushdown rules: push: qX ֒ − → rYZ ֒ − → sW intern: rY pop: sW ֒ − → t ֒ − → u pop: tZ Run qX ⇒ rYZ ⇒ sWZ ⇒ tZ ⇒ u Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  18. Relationship to pPDSs pSJSs subsume (probabilistic) pushdown systems (pPDSs). View this run as: Pushdown rules: qX qX push: qX ֒ − → rYZ ֒ − → sW intern: rY pop: sW ֒ − → t ֒ − → u pop: tZ Run qX ⇒ rYZ ⇒ sWZ ⇒ tZ ⇒ u Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  19. Relationship to pPDSs pSJSs subsume (probabilistic) pushdown systems (pPDSs). View this run as: Pushdown rules: qX push: qX ֒ − → rYZ rY rY ֒ − → sW intern: rY pop: sW ֒ → t − ֒ → u − pop: tZ Z Run qX ⇒ rYZ ⇒ sWZ ⇒ tZ ⇒ u Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  20. Relationship to pPDSs pSJSs subsume (probabilistic) pushdown systems (pPDSs). View this run as: Pushdown rules: qX push: qX ֒ − → rYZ rY ֒ → sW − intern: rY pop: sW ֒ − → t sW sW ֒ − → u pop: tZ Z Run qX ⇒ rYZ ⇒ sWZ ⇒ tZ ⇒ u Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  21. Relationship to pPDSs pSJSs subsume (probabilistic) pushdown systems (pPDSs). View this run as: Pushdown rules: qX push: qX ֒ − → rYZ rY ֒ − → sW intern: rY pop: sW ֒ − → t sW ֒ − → u pop: tZ t Z Run qX ⇒ rYZ ⇒ sWZ ⇒ tZ ⇒ u Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  22. Relationship to pPDSs pSJSs subsume (probabilistic) pushdown systems (pPDSs). View this run as: Pushdown rules: qX push: qX ֒ − → rYZ rY ֒ − → sW intern: rY pop: sW ֒ − → t sW ֒ − → u pop: tZ t Z Run qX ⇒ rYZ ⇒ sWZ ⇒ tZ ⇒ u Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  23. Relationship to pPDSs pSJSs subsume (probabilistic) pushdown systems (pPDSs). View this run as: Pushdown rules: qX push: qX ֒ − → rYZ rY ֒ − → sW intern: rY pop: sW ֒ − → t sW ֒ − → u pop: tZ t Z Run qX ⇒ rYZ ⇒ sWZ ⇒ tZ ⇒ u u Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  24. Relationship to pPDSs pSJSs subsume (probabilistic) pushdown systems (pPDSs). View this run as: Pushdown rules: qX push: qX ֒ → rYZ − rY ֒ − → sW intern: rY pop: sW ֒ − → t sW ֒ − → u pop: tZ t Z Run qX ⇒ rYZ ⇒ sWZ ⇒ tZ ⇒ u u Time T = 4, Work W = T = 4, Space S = 2 Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  25. Relationship to pPDSs Conversely, any pSJS can be sequentialised. The resulting pPDS is equivalent with respect to returned value work Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  26. Relationship to pPDSs Conversely, any pSJS can be sequentialised. The resulting pPDS is equivalent with respect to returned value work Bottomline: pPDSs: sequential programs pSJSs: parallel programs Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

  27. Relationship to Branching Processes A branching process is a pSJS without join rules. Example 0 . 5 0 . 3 X ֒ − → � XY � Y ֒ − → X 0 . 5 0 . 7 X ֒ − → q Y ֒ − → q A single synchronisation state suffices. classical mathematical model biology, physics, natural language processing, . . . Stefan Kiefer, Dominik Wojtczak On Probabilistic Parallel Programs with Process Creation

Recommend


More recommend