Stabilization of Branching Queueing Networks Tomáš Brázdil 1 Stefan Kiefer 2 1 Masaryk University, Brno, Czech Republic 2 University of Oxford, UK STACS, Paris 02 March 2012 Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
Motivation Queueing networks are simple and general. Attractive for modeling parallelism: Hardware, especially large-scale multi-core systems: Full-system performance simulators do not scale. Queueing theory gives a more abstract analysis. Software, especially message passing: asynchronous programs on multi-core computers distributed programs on a network Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
Example: Router 0 . 5 0 . 7 ε A D M 0 . 25 0 . 3 0 . 25 S 1 C S 2 Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
Example: Router 0 . 5 0 . 7 ε A D M 0 . 25 0 . 3 0 . 25 S 1 C S 2 Textual representation of the same thing: 0 . 5 A ֒ − → D 0 . 7 1 1 ֒ − → M ֒ − → D ֒ → M − D S 1 C 1 0 . 25 0 ֒ → A − ֒ − − → S 1 A 0 . 3 1 1 ֒ − → C ֒ − → D ֒ → ε − D S 2 M 0 . 25 A ֒ − − → S 2 Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
Example: Router 0 . 5 0 . 7 ε A D M 0 . 25 0 . 3 0 . 25 S 1 C S 2 Textual representation of the same thing: 0 . 5 A ֒ − → D 0 . 7 1 1 ֒ − → M ֒ − → D ֒ → M − D S 1 C 1 0 . 25 0 ֒ → A − ֒ − − → S 1 A 0 . 3 1 1 ֒ − → C ֒ → D − ֒ − → ε D S 2 M 0 . 25 A ֒ − − → S 2 Also given: arrival rate α A queue rates µ A , µ S 1 , . . . of busy queues Continuous-Time Markov Chain – Infinite-State! Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
Jackson Networks 0 . 5 0 . 7 ε A D M 0 . 25 0 . 3 0 . 25 S 1 C S 2 Such networks are called Jackson networks (classical model). Nice properties: Stability is easy to determine. product form solutions in “steady state”: Pr ( S 1 = 3 and D = 2 ) = Pr ( S 1 = 3 ) · Pr ( D = 2 ) But shortcomings in modeling: just one new task per one old task no (dynamic) control of the network Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
Branching Queueing Networks New model: Branching Queueing Networks (BQNs) 1 / 5 1 / 6 A ֒ − − → B , B B ֒ − − → A , B 1 0 ֒ → A − 4 / 5 5 / 6 A ֒ − − → ε B ֒ − − → ε Rates as before: α A , µ A , µ B > 0 Similar models: a bit like pushdown systems, but parallel a bit like stochastic Petri nets, but of a special form Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
Branching Queueing Networks New model: Branching Queueing Networks (BQNs) 1 / 5 1 / 6 A ֒ − − → B , B B ֒ − − → A , B 1 0 ֒ → A − 4 / 5 5 / 6 A ֒ − − → ε B ֒ − − → ε Rates as before: α A , µ A , µ B > 0 A B Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
Branching Queueing Networks New model: Branching Queueing Networks (BQNs) 1 / 5 1 / 6 A ֒ − − → B , B B ֒ − − → A , B 1 0 ֒ → A − 4 / 5 5 / 6 A ֒ − − → ε B ֒ − − → ε Rates as before: α A , µ A , µ B > 0 A B Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
Branching Queueing Networks New model: Branching Queueing Networks (BQNs) 1 / 5 1 / 6 A ֒ − − → B , B B ֒ − − → A , B 1 0 ֒ − → A 4 / 5 5 / 6 A ֒ − − → ε B ֒ − − → ε Rates as before: α A , µ A , µ B > 0 A B Topic of this talk: Is a given BQN stable ?? stable def = expected return time to “completely empty” is finite Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
No Product Form Consider the BQN 1 1 1 1 0 ֒ − → A A ֒ − → B , C B ֒ → ε − C ֒ − → ε No product form: Take α A = 1 , µ A = µ B = µ C = 3. Then in steady-state: Pr ( C ≥ 1 ) = 1 / 3 Pr ( C ≥ 1 | B ≥ 1 ) ≥ 3 / 7 Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
No Product Form Consider the BQN 1 1 1 1 0 ֒ − → A A ֒ − → B , C B ֒ → ε − C ֒ − → ε No product form: Take α A = 1 , µ A = µ B = µ C = 3. Then in steady-state: Pr ( C ≥ 1 ) = 1 / 3 Pr ( C ≥ 1 | B ≥ 1 ) ≥ 3 / 7 Analysis of BQNs harder than for Jackson networks Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
Balance Equations 1 1 / 5 1 / 6 0 ֒ − → A A ֒ − − → B , B B ֒ − − → A , B 4 / 5 5 / 6 A ֒ − − → ε B ֒ − − → ε µ A = 0 . 4 µ B = 0 . 3 α A = 0 . 2 (Pre-)Suppose a form of balance: # tasks processed at X per sec = # tasks arriving at X per sec Here: λ A = 0 . 2 + λ B · ( 1 / 6 ) λ B = λ A · ( 1 / 5 ) · 2 + λ B · ( 1 / 6 ) We call the solution λ the “throughput”. Note: the speeds of the queues µ A , µ B do not occur. Here: λ A = 0 . 22 λ B = 0 . 10 Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
A Stability Result Proposition Given a BQN. Let λ be the throughput, i.e., λ solves the balance equations λ = α + M λ . Suppose λ < µ (in all components). Then the BQN is stable. Conversely, if the BQN is stable, then there is λ with λ = α + M λ < µ . Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
A Stability Result Proposition Given a BQN. Let λ be the throughput, i.e., λ solves the balance equations λ = α + M λ . Suppose λ < µ (in all components). Then the BQN is stable. Conversely, if the BQN is stable, then there is λ with λ = α + M λ < µ . Theorem Stability of a BQN can be decided in polynomial time. Proposition If a BQN is stable, it is “very much so”: in steady state there is an exponential moment of the total queue size, i.e., there is δ > 0 such that � x ∈ N n exp ( δ � x � ) Pr ( x ) exists. Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
Proof of the Stability Result The stability result requires a delicate proof (no product form). 1 / 5 1 / 6 ֒ − − → B , B ֒ − − → A , B x B → A A B 1 0 ֒ − 4 / 5 5 / 6 A ֒ − − → ε B ֒ − − → ε 3 Consider “drift” for all points: 2 1 x A 1 2 3 Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
Proof of the Stability Result The stability result requires a delicate proof (no product form). 1 / 5 1 / 6 ֒ − − → B , B ֒ − − → A , B x B → A A B 1 0 ֒ − 4 / 5 5 / 6 A ֒ − − → ε B ֒ − − → ε 3 Consider “drift” for all points: � α A � For ( 0 , 0 ) : [ 0 ] = 0 2 1 [ 0 ] x A 1 2 3 Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
Proof of the Stability Result The stability result requires a delicate proof (no product form). 1 / 5 1 / 6 ֒ − − → B , B ֒ − − → A , B x B → A A B 1 0 ֒ − 4 / 5 5 / 6 A ֒ − − → ε B ֒ − − → ε 3 Consider “drift” for all points: � α A � For ( 0 , 0 ) : [ 0 ] = 0 2 For (+ , 0 ) : [ 0 A ] = [ 0 ] + [ A ] with �� − 1 � � �� 0 [ A ] = µ A · + 0 ( 1 / 5 ) · 2 1 [ 0 A ] [ 0 ] x A 1 2 3 Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
Proof of the Stability Result The stability result requires a delicate proof (no product form). 1 / 5 1 / 6 ֒ − − → B , B ֒ − − → A , B x B → A A B 1 0 ֒ − 4 / 5 5 / 6 A ֒ − − → ε B ֒ − − → ε 3 Consider “drift” for all points: � α A � For ( 0 , 0 ) : [ 0 ] = 0 2 For (+ , 0 ) : [ 0 A ] = [ 0 ] + [ A ] with �� − 1 � � �� 0 [ A ] = µ A · + 0 ( 1 / 5 ) · 2 For ( 0 , +) : [ 0 B ] = [ 0 ] + [ B ] 1 [ 0 B ] [ 0 A ] [ 0 ] x A 1 2 3 Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
Proof of the Stability Result The stability result requires a delicate proof (no product form). 1 / 5 1 / 6 ֒ − − → B , B ֒ − − → A , B x B → A A B 1 0 ֒ − 4 / 5 5 / 6 A ֒ − − → ε B ֒ − − → ε 3 Consider “drift” for all points: � α A � For ( 0 , 0 ) : [ 0 ] = 0 2 For (+ , 0 ) : [ 0 A ] = [ 0 ] + [ A ] with �� − 1 � � �� 0 [ A ] = µ A · + 0 ( 1 / 5 ) · 2 For ( 0 , +) : [ 0 B ] = [ 0 ] + [ B ] 1 [ 0 B ] [ 0 AB ] For (+ , +) : [ 0 AB ] = [ 0 ] + [ A ] + [ B ] [ 0 A ] [ 0 ] x A 1 2 3 Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
Proof of the Stability Result The stability result requires a delicate proof (no product form). 1 / 5 1 / 6 ֒ − − → B , B ֒ − − → A , B x B → A A B 1 0 ֒ − 4 / 5 5 / 6 A ֒ − − → ε B ֒ − − → ε 3 Consider “drift” for all points: � α A � For ( 0 , 0 ) : [ 0 ] = 0 2 For (+ , 0 ) : [ 0 A ] = [ 0 ] + [ A ] with �� − 1 � � �� 0 [ A ] = µ A · + 0 ( 1 / 5 ) · 2 For ( 0 , +) : [ 0 B ] = [ 0 ] + [ B ] 1 [ 0 B ] [ 0 AB ] For (+ , +) : [ 0 AB ] = [ 0 ] + [ A ] + [ B ] [ 0 A ] Find a Lyapunov function [ 0 ] w.r.t. which the drift is negative x A 1 2 3 Tomáš Brázdil, Stefan Kiefer Stabilization of Branching Queueing Networks
Recommend
More recommend