Queueing Theory 2008 Queueing theory definitions (Bose) “the basic phenomenon of queueing arises whenever a shared facility needs to be accessed for service by a large number of jobs or customers.” (Kleinrock) “We study the phenomena of standing, waiting, and serving, and we call this study Queueing Theory." "Any system in which arrivals place demands upon a finite capacity resource may be termed a queueing system.” (Mathworld) “The study of the waiting times, lengths, and other properties of queues.” 排队论是专门研究带有随机因素,产生拥挤现象的优化理 论。也称为随机服务系统。 Applications of Queueing Theory Telecommunications Determining the sequence of computer operations Predicting computer performance One of the key modeling techniques for computer systems / networks in general Vast literature on queuing theory Nicely suited for network analysis Traffic control Airport traffic, airline ticket sales Layout of manufacturing systems Health services (eg. control of hospital bed assignments) Queuing theory for studying networks View network as collections of queues FIFO data-structures Queuing theory provides probabilistic analysis of these queues Examples: Average length (buffer) Average waiting time Probability queue is at a certain length Probability a packet will be lost Model Queuing System Customers Queue Server Queuing System Use Queuing models to Describe the behavior of queuing systems Evaluate system performance Customer n Arrival event Delay Begin service Activity End service Time Interarrival Arrival event Begin service Delay End service Activity Time Customer n+1 Characteristics of queuing systems Kendall Notation 1/2/3(/4/5/6) 1. 2. 3. 4. 5. 6. Arrival Distribution Service Distribution Number of servers Total storage (including servers) (infinite if not specified) Population Size (infinite if not specified) Service Discipline (FCFS/FIFO) Distributions M: stands for "Markovian / Poisson" , implying exponential distribution for service times or inter-arrival times. D: Deterministic (e.g. fixed constant) Ek: Erlang with parameter k Hk: Hyperexponential with param. k G: General (anything) Poisson process & exponential distribution Inter-arrival time t (time between arrivals) in a Poisson process follows exponential distribution with parameter (mean) 无后效性 - 不管多长时间(t)已经过去,逗留 时间的概率分布与下一个事件的相同 fT(t) Pr(t ) e E (t ) t 1 E (T ) 1 t Examples M/M/1: Poisson arrivals and exponential service, 1 server, infinite capacity and population, FCFS (FIFO) the simplest ‘realistic’ queue M/M/m/m Same, but m servers, m storage (including servers) Ex: telephone Analysis of M/M/1 queue Given: • : Arrival rate (mean) of customers (jobs) (packets on input link) • m: Service rate (mean) of the server (output link) Solve: L: average number in queuing system Lq average number in the queue ~ “1” W: average waiting time in whole system Wq average waiting time in the queue ~ “1/m” M/M/1 queue model L Lq m 1 m Wq W Derivation Po 2 1 0 P k -1 P1 m P1 ... P1 mP 2 k k-1 mP k mP 2 P 0 mP 1 P k k+1 m P k +1 P k mP k+1 m k P0 k Pk k P0 m since all probability sum to one k P0 1 k0 Solving W, Wq and Lq Lq Wq Pn m 2 , L 1 1 1 , W m (1 ) m (1 ) (1 ) n For stability, mean arrival rate must be less than mean service rate Utility factor <1 m Response Time vs. Arrivals Waiting vs. Utilization 0.25 W(sec) 0.2 0.15 0.1 0.05 0 0 0.2 0.4 0.6 (%) W 1 m 0.8 1 1.2 Example On a network router, measurements show the packets arrive at a mean rate of 125 packets per second (pps) the router takes about 2 millisecs to forward a packet Assuming an M/M/1 model What is the probability of buffer overflow if the router had only 13 buffers How many buffers are needed to keep packet loss below one packet per million? Example Arrival rate λ = 125 pps Service rate μ = 1/0.002 = 500 pps Router utilization ρ = λ/μ = 0.25 Prob. of n packets in router = (1 ρ)ρ 0.75(0.25) n n Mean number of packets in router = ρ 0.25 0.33 1 ρ 0.57 Example Probability of buffer overflow: = P(more than 13 packets in router) = ρ13 = 0.2513 = 1.49x10-8 = 15 packets per billion packets To limit the probability of loss to less than 10-6: n 6 ρ 10 ( n log 10 6 )/ log (0.25) = 9.96