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