High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange On the Resource/Performance Tradeoff in Large Scale Queueing Systems David Gamarnik MIT Joint work with Patrick Eschenfeldt, John Tsitsiklis and Martin Zubeldia (MIT)
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange High level comments
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange High level comments Many modern queueing systems are large scale
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange High level comments Many modern queueing systems are large scale Operating optimally requires large scale resources
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange High level comments Many modern queueing systems are large scale Operating optimally requires large scale resources It is of interest to understand the best performance under limited resources availability
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange High level comments Many modern queueing systems are large scale Operating optimally requires large scale resources It is of interest to understand the best performance under limited resources availability In this work we study Join-the-Shortest-Queue (JSQ) policy in heavy traffic and compare it with M/M/N design Dispatching policies with limited memory and limited information exchange in many server queueing systems
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange Join the Shortest Queue in heavy traffic 1 n parallel servers Exp ( 1 ) service 2 Pois ( n λ n ) arrival. λ n = 1 − β/ √ n . 3 Choose any shortest . queue upon arrival . . Compare with M/M/N - n global buffer, join the smallest workload
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange Join the Shortest Queue in heavy traffic 1 n parallel servers Exp ( 1 ) service 2 Pois ( n λ n ) arrival. λ n = 1 − β/ √ n . 3 Choose any shortest . queue upon arrival . . Compare with M/M/N - n global buffer, join the smallest workload
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange Join the Shortest Queue in heavy traffic 1 n parallel servers Exp ( 1 ) service 2 Pois ( n λ n ) arrival. λ n = 1 − β/ √ n . 3 Choose any shortest . queue upon arrival . . Compare with M/M/N - n global buffer, join the smallest workload
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange Prior work on JSQ: fixed number of servers Winston ’77 : JSQ is the optimal policy if customers are routed to servers immedaitely. Foschini and Salz ’78 : diffusion limit for heavy traffic with fixed number of servers. Mukherjee, Borst, van Leeuwaarden and Whiting ’15: a combination of JSQ with a Supermarket Model.
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange Notation Q n i ( t ) is the number of servers with queue length at least i , including those in service n ≥ Q n 1 ( t ) ≥ Q n 2 ( t ) ≥ · · · ≥ 0 Q i ( t ) − Q i + 1 ( t ) is the number of servers with exactly i customers n − Q n 1 ( t ) is the number of idle servers 1 ( t ) − n ) / √ n , X n i ( t ) / √ n X n 1 ( t ) = ( Q n i ( t ) = Q n
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange Main result described qualitatively
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange Main result described qualitatively: queues
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange Main result described qualitatively: queues
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange Main result described qualitatively: queues � √ n � √ n � � O idle servers and O servers with exactly one customer waiting
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange Main result described qualitatively: queues � √ n � √ n � � O idle servers and O servers with exactly one customer waiting Upon rescaling, they form a 2-dimensional reflected Ornstein-Uhlenbeck process
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange Main result described qualitatively: queues � √ n � √ n � � O idle servers and O servers with exactly one customer waiting Upon rescaling, they form a 2-dimensional reflected Ornstein-Uhlenbeck process Longer queues disappear in constant time
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange Main result described qualitatively: waiting times
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange Main result described qualitatively: waiting times Two possibilities for arriving customer:
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange Main result described qualitatively: waiting times Two possibilities for arriving customer: At least one idle server, so zero wait No idle servers, join queue behind one customer, so wait Exp ( 1 )
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange Main result described qualitatively: waiting times Two possibilities for arriving customer: At least one idle server, so zero wait No idle servers, join queue behind one customer, so wait Exp ( 1 ) Aggregate waiting time for customers arriving in [ 0 , t ] is � √ n � O
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange Main result described qualitatively: waiting times Two possibilities for arriving customer: At least one idle server, so zero wait No idle servers, join queue behind one customer, so wait Exp ( 1 ) Aggregate waiting time for customers arriving in [ 0 , t ] is � √ n � O Order n arrivals in [ 0 , t ]
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange Main result described qualitatively: waiting times Two possibilities for arriving customer: At least one idle server, so zero wait No idle servers, join queue behind one customer, so wait Exp ( 1 ) Aggregate waiting time for customers arriving in [ 0 , t ] is � √ n � O Order n arrivals in [ 0 , t ] 1 / √ n � � Fraction of customers who wait: O
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange Main result described qualitatively: waiting times Two possibilities for arriving customer: At least one idle server, so zero wait No idle servers, join queue behind one customer, so wait Exp ( 1 ) Aggregate waiting time for customers arriving in [ 0 , t ] is � √ n � O Order n arrivals in [ 0 , t ] 1 / √ n � � Fraction of customers who wait: O 1 / √ n � � Average waiting time O - same as for M/M/N.
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange JSQ as a reflected process Fix k ≥ 3, b ∈ R k , y ∈ D k . Theorem There exists a unique solution x ( t ) to the integral equation � x ( t ) = b + y ( t ) + ∆( x ( t )) dt + U ( t ) � ∞ ✶ { x ( t ) ∈ ·} dU ( t ) = 0 , 0 This is a variation on a result of Pang, Talreja, and Whitt ’07.
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange An integral equation For k ≥ 3, B ∈ R + , b ∈ R k , y ∈ D k , there is a unique solution ( x , u ) to � t x 1 ( t ) = b 1 + y 1 ( t ) + ( − x 1 ( s ) + x 2 ( s )) ds − u 1 ( t ) 0 � t x 2 ( t ) = b 2 + y 2 ( t ) + ( − x 2 ( s ) + x 3 ( s )) ds + u 1 ( t ) − u 2 ( t ) , 0 � t x i ( t ) = b i + y i ( t ) + ( − x i ( s ) + x i + 1 ( s )) ds , 3 ≤ i ≤ k − 1 , 0 � t x k ( t ) = b k + y k ( t ) + − x k ( s ) ds , 0 x 1 ( t ) ≤ 0 , 0 ≤ x 2 ( t ) ≤ B , x i ( t ) ≥ 0 , u 1 ( t ) , u 2 ( t ) ≥ 0 , t ≥ 0 , � ∞ � ∞ ✶ { x 1 ( t ) < 0 } du 1 ( t ) = 0 , ✶ { x 2 ( t ) < B } du 2 ( t ) = 0 . 0 0
High Level Comments Join the Shortest Queue Policy Dispatching with Limited Memory and Information Exchange JSQ heavy traffic limit Theorem (Main Result) k + 1 ( 0 ) = 0 . Then X n ⇒ X where Suppose X n ( 0 ) ⇒ X ( 0 ) with X n X 1 ≤ 0 , X i ≥ 0 , i ≥ 2 , and nondecreasing U 1 ≥ 0 such that � t √ X 1 ( t ) = X 1 ( 0 ) + 2 W ( t ) − β t + ( − X 1 ( s ) + X 2 ( s )) ds − U 1 ( t ) , 0 � t X 2 ( t ) = X 2 ( 0 ) + U 1 ( t ) + ( − X 2 ( s ) + X 3 ( s )) ds , 0 � t X i ( t ) = X i ( 0 ) + ( − X i ( s ) + X i + 1 ( s )) ds , 3 ≤ i ≤ k − 1 , 0 � t X k ( t ) = X k ( 0 ) + − X k ( s ) ds , X i ( t ) = 0 , i ≥ k + 1 , 0 � ∞ 0 = ✶ { X 1 ( t ) < 0 } dU 1 ( t ) , 0 where W is a standard Brownian motion.
Recommend
More recommend