Systems with unlimited supply of work: MCQN with infinite virtual buffers A Push Pull multiclass system Gideon Weiss University of Haifa Joint work with students: Anat (Anastasia) Kopzon Yoni Nazarathy
Queue vs Manufacturing machine: Single server queue max(,) 1
Queue vs Manufacturing machine: Single server queue max(,) Machine with controlled input
Infinite supply of work - infinite virtual buffers A tandem of queues 1 3
Infinite supply of work - infinite virtual buffers A tandem of queues 1 3 4
Infinite supply of work - infinite virtual buffers A tandem of queues 1 3 The push pull system 1 1 5
Balanced full utilization 1 1 1 ν 1 ν Both machines work all time and no flow accumulates implies: ν 1 = α 1 1 = (1 α ) 1 ν = α = (1 α 1 ) 6
Balanced full utilization 1 1 1 ν 1 ν ν 1 = 1 1 ( ) 1 1 ν = ( 1 1 ) 1 1 7
Balanced full utilization 1 1 1 ν 1 ν ν 1 = 1 1 ( ) 1 1 ν = ( 1 1 ) 1 1 How does it behave? 8
The Rybko Stolyar network 1 α 1 1 1 α Traffic intensity/offered load ρ 1 = α 1 1 + α ρ = α + α 1 1 9
The Rybko Stolyar network 1 α 1 1 1 α Traffic intensity ρ 1 = α 1 1 + α ρ = α + α 1 1 Heavy traffic: α 1, α ρ 1, ρ Balanced heavy traffic: α 1 ν 1, α ν 10
Push pull system - inherently stable case 1 1 1 ν 1 1 < 1 ν < 11
Push pull system - inherently stable case 1 1 1 ν 1 1 < 1 ν < 0,4 Last buffer first serve, priority to pull over push 0,3 0, 0,1 1 1 1 1 1 1 0,0 1,0,0 3,0 4,0 5,0 1 1 1 1 1 1 1
Push pull system - inherently stable case 1 1 1 ν 1 1 < 1 ν < 0,4 0,3 0, 0,1 1 P(, ) = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0,0 1,0,0 3,0 4,0 5,0 1 1 1 1 1 1 1 1 1 1 1 1 n 1, = 0 n, = 0 13
Push pull system - inherently stable case 1 1 1 ν 1 1 < 1 ν < 0,4 Sample path consists of randomly switching between M/M/1 periods of the two streams 0,3 0, 0,1 P(, ) = 1 1 1 1 1 1 1 1 1 n 1 n, = 0 1 1 1 1 1 1 0,0 1,0,0 3,0 4,0 5,0 1 1 1 1 1 1 14
Rybko Stolyar network - LBFS virtual machine α 1 1 1 1 α Under LBFS the two pulling queues form a virtual machine - only one works at any time Conditions for stability (global stability of all work conserving policies) ρ 1 = α 1 1 + α ρ = α + α 1 1 virtual machine load= α 1 1 + α < 1 When i > i, we can have ρ 1, ρ < 1 but virtual machine load > 1 LBFS will be unstable 15
Push pull system - inherently unstable case 1 1 1 ν 1 1 > 1 ν > 0,4 Last buffer first serve, priority to pull over push: All the states are transient 0,3 0, 0,1 1 1 1 1 1 1 0,0 1,0,0 3,0 4,0 5,0 1 1 1 1 1 1 16
Push pull system - fixed threshold policy 1 1 1 ν 1 1 > 1 ν > 0,5 0,4 0,3 0, s 1 1 1 1 1,5,5 4,5 1 1 1 1 1,4,4 1 1 1 1 1 1 1 1 1,3,3 3,3 4,3 5,3 1 1, 3, 4, 5, Machine i : Monitor queue at Machine j, if < s j Push, if > s j Pull. s s 1 : s 1 1 < 1 1 0,1,1 3,1 4,1 5,1 s : s 1 1 < 1 0,0 1,0,0 3,0 4,0 5,0 1 1 1 1 1 1 17
18 Push pull system - fixed threshold Steady State: Push pull system - fixed threshold Steady State: Symmetric streams m,0 1 1 1 1 m,1 m,s... P m,n = P s,s n + n 1 s + s 1 m = s,0 n s P s,s + s 1 m s 1 s + s 1 m s+1 n+1 + s m > s,0 n s
Maximum pressure policy Maximum pressure policy will stabilize any system with offered load <1 Consider MCQN with fluid dynamics described by d Q(t) = α Ru(t) dt α where R is the input output matrix, u(t) is the machine allocation, and is the input rate. The machine allocations (controls ) are subject to resource constraints Max pressure attempts to maximize the gradient of the sum of squares of queue lengths d dt d Q k (t) = Q dt (t)q(t) = Q (t)(α Ru(t)) k At any time t choose allocation u(t) such that max Q (t)ru(t) s.t. Au(t) 1, u(t) 0, u(t) is available In balanced heavy traffic it optimizes the diffusion approximation 19
Decisions for max Q (t)ru(t) Rybko-Stolyar α 1 Q 11 (t) Q 1 (t) 1 1 1 Machine 1 Push if Q 11 (t) Q 1 (t) < Q (t) Pull if Q 11 (t) Q 1 (t) > Q (t) Q (t) Q 1 (t) α Machine Push if Q 1 (t) Q (t) < Q 1 (t) Pull if Q 1 (t) Q (t) > Q 1 (t) Infinite supply push pull ν t D 11 (t) Q 1 (t) 1 1 1 ν Q (t) ν 1 ν t D 11 (t) Machine 1 Machine Push if ν 1 t D 11 (t) Q 1 (t) < Q (t) Pull if ν 1 t D 11 (t) Q 1 (t) > Q (t) Push if ν t D 1 (t) Q (t) < Q 1 (t) Pull if ν t D 1 (t) Q (t) > Q 1 (t) 0
Rybko Stolyar network under max pressure = 1.5 ρ = 0.9 ρ = 0.99 ρ = 1.0 ρ = 1. 1
Push Pull network under max pressure ρ = 0.9 ρ = 0.99 = 1.5 ρ = 1.0 ρ = 1.
Push Pull under max pressure - trying for full utilization Sample of 4 more runs = 1.5 ρ = 1.0 3
How good is max pressure? Rybko-Stolyar Infinite supply push pull Q 11 (t) Q 1 (t) 1 ν t D 11 (t) Q 1 (t) 1 α 1 1 1 1 1 ν 1 α ν Q (t) Q 1 (t) Q (t) ν t D 11 (t) Max pressure attempts to balance the queues, minimize sum of squares For infinite supply it will balance fluctuations in supply with queues Using the fixed threshold, fluctuations in supply may be twice as big, But: Average number in the two queues (with full utilization) E(queues)= 11.86 (s 1 =s =4) 4
Push pull system - balancing diagonal policy ν 0,5 1,5,5 3,5 4,5 5,5 1 ν Symmetric > 0,4 0,3 1,4,4 1,3,3 3,4 4,4 5,4 3,3 4,3 5,3 Machine i : Compare queue to machine j, if other queue longer - Pull, if your queue longer - Push, equal queues pull 0, 1,, 3, 4, 5, 0,1 1,1,1 3,1 4,1 5,1 0,0 1,0,0 3,0 4,0 5,0 Gideon Weiss, University of Haifa, Push Pull, 006 E(queues)= 1.37 = 1.5 (compared to 11.86 For fixed threshold) 5
Push pull balancing diagonal policy - steady state Symmetric > 0,5 1,5,5 3,5 4,5 5,5 0,4 0,3 1,4,4 1,3,3 3,4 4,4 5,4 3,3 m > n P m,n = P 0,0 4,3 5,3 m + m 1 1 m 1 m 1 + m 1 1 P m,0 = P 0,0 n + m 1 + m 1 1 m 1 + m 1 1 m 1 0, 1,, 3, 4, 5, 0,1 0,0 1,1 1,0,1 3,1 4,1 5,1,0 3,0 4,0 5,0 P m,m = P 0,0 + m 1 1 m 1 + m 1 1 m 1 6
Generalized threshold policies We define two monotone threshold curves, above the levels s 1, s and use those for our policy We define and appropriate Lyapunov function, and use Foster Lyapunov criterion to show that all of these are stable. 7
A dynamic programming problem For full utilization, or for a given throughput, find actions to minimize expected queue lengths: Restless bandit indexes? 1 1 1 ν 1 ν Machine 1 choices Machine choices 1 1 1 1 1 1 8
What next? We have looked at a small system that can work at full utilization and not be congested ν 1 1 1 ν 9
What next? We have looked at a small system that can work at full utilization and not be congested Provided we feed it infinite supply of work ν 1 1 1 ν 30
What next? The challenge is to have a large network working at full utilization with no congestion, on a dynamic basis - by online control which assures supply of work at selected points. Leads to fluid optimal fluid control, solved as a continuous linear program ν 1 ν 31
What next? The challenge is to have a large network working at full utilization with no congestion, on a dynamic basis - by online control which assures supply of work at selected points. Leads to fluid optimal fluid control, solved as a continuous linear program 3
Summary We presented a small MCQN with infinite virtual buffers and compared it to the similar Rybko-Stolyar network. The infinite supply of work, infinite virtual buffers, present a new paradigm for MCQN in balanced heavy traffic Maximum pressure policies can be adapted to MCQN w infinite virtual buffers and they achieve pathwise stability under full utilization, similar to the Rybko -Stolyar network. However, at full utilization the system will become congested with null recurrent queues that scale as n to a diffusion The greater controllability of MCQN with virtual infinite buffers allows full utilization of the system in which all the random fluctuations are pushed to the input and output of the system, and all the internal queues are not congested 33