CS 241 Spring 2007 System Programming 1 Queuing Framework for Process Management Evaluation Lecture 20 Klara Nahrstedt
2 CS241 Administrative Read Stallings Chapter 9 No Quizzes this week, the next quiz will be on Monday 3/12 on SMP5
3 Content of This Lecture Goals: Introduction to Principles for Reasoning about Process Management/Scheduling Things covered in this lecture Introduction to Queuing Theory
4 Process States Finite State Diagram
5 Queuing Models and Simulation Problem – How do we size the ready queue, size any queue? decide how many jobs should be accepted? analyze scheduling algorithms? Decide how long we should wait for a job? Goals Simple arithmetic (‘back of envelope calculation’) to calculate system behavior Basis for more complex analysis Approach to study systems too complex to produce simple mathematical model
6 CPU Scheduler Example Which is better: Round Robin or FIFO? How long does A take to go thru system? How big should be the ready queue? Mean, Mode, Variance?
7 Queuing Diagram for Processes Start Ready Queue Event Queue Event Exit Time Slice CPU
8 Queuing Diagram for Processes Start Ready Queue Event Queue Event Exit Time Slice CPU
9 Queuing Diagram for Processes Start Ready Queue Event Queue Event Exit Time Slice CPU
10 Queuing Diagram for Processes Start Ready Queue Event Queue Event Exit Time Slice CPU
11 Queuing Diagram for Processes Start Ready Queue Event Queue Event Exit Time Slice CPU
12 Queuing Diagram for Processes Start Ready Queue Event Queue Event Exit Time Slice CPU
13 Queuing Diagram for Processes Start Ready Queue Event Queue Event Exit Time Slice CPU
14 Queuing Diagram for Processes Start Ready Queue Event Queue Event Exit Time Slice CPU
15 Queuing Diagram for Processes Start Ready Queue Event Queue Event Exit Time Slice CPU
16 Queuing Diagram for Processes Start Ready Queue Event Queue Event Exit Time Slice CPU
17 Queuing Diagram for Processes Start Ready Queue Event Queue Event Exit Time Slice CPU
18 Queuing Diagram for Processes Start Ready Queue Event Queue Event Exit Time Slice CPU
19 Queuing Diagram for Processes Start Ready Queue Event Queue Event Exit Time Slice CPU
20 Queuing Diagram for Processes Start Ready Queue Event Queue Event Exit Time Slice CPU
21 Queueing Model Random Arrivals and the Poisson Distribution Elements of model
22 Discussion If a bus arrives at a bus stop every 15 minutes, how long do you have to wait at the bus stop assuming you start to wait at a random time?
23 Discussion What assumption have you made about the bus?
24 Hamburger Problem 7 Hamburgers arrive on average every time unit 8 Hamburgers are processed by Joe on average every unit 1) Av. time hamburger waiting to be eaten? (Do they get cold?) Ans = ???? 2) Av number of hamburgers waiting in queue to be eaten? Ans = ???? Queue 7 8
25 Hamburger Problem 7 Hamburgers arrive on average every time unit 8 Hamburgers are processed by Joe on average every unit 1) How long is a hamburger waiting to be eaten? (Do they get cold?) Ans = 7/8 time units 2) How many hamburgers are waiting in queue to be serviced? Ans = 49/8 Queue 7 8
26 Random Events Poisson Distribution Each event independent of other events Mean event rate, SD is same as mean Exponential distribution
27 Queuing Theory ARRIVAL RATE ARRIVAL RATE SERVICE RATE Input Queue Server Single Server Queue
28 Queueing Theory (Point of Interest) Steady state Poisson arrival with constant arrival rate (customers per unit time) each arrival is independent. P( t ) = 1- e – t 0 1 t Av λ 0.5
29 Analysis of Queueing Behavior Probability n customers arrive in time interval t is: e – t t n / n! Assume random service times (also Poisson): constant service rate (customers per unit time)
30 Useful Facts From Queuing Theory W q = mean time a customer spends in the queue = arrival rate L q = W q number of customers in queue W = mean time a customer spends in the system L = W ( Little's theorem) number of customers in the system In words – average length of queue is arrival rate times average waiting time
31 Analysis of Single Server Queue Server Utilization: Time in System: Time in Queue: Number in Queue (Little):
32 Example: How busy is the server? λ =2 μ=3 = 2/3 or 66% Busy
33 How long is an eater in the system? λ =2 μ=3 = 1/(3-2)= 1
34 How long is someone in the queue? λ =2 μ=3
35 How many people in queue? λ =2 μ=3
36 How many people in queue? λ =2 μ=2
37 Interesting Fact If Arrival Rate = Service Rate, the queue length become infinitely large the longer you run the model.
38 Until Now We Looked at Single Server, Single Queue Theory ARRIVAL RATE ARRIVAL RATE SERVICE RATE Input Queue Server
39 Poisson Arrivals Sum ARRIVAL RATE 1 SERVICE RATE Input Queue Server ARRIVAL RATE 2 = 1+ 2 = 1+ 2
40 Example Arrival 1 jobs/sec from Start Arrival 2 jobs/sec from Event queue Service 4 jobs/sec Utilization? Time in system? Time in queue ? Length of queue?
41 Example Arrival 1 jobs/sec from Start Arrival 2 jobs/sec from Event queue Service 4 jobs/sec –Utilization=ρ=λ/μ=1+2/4=.75 –Time in system=1/(μ-λ)=1 –Time in queue=ρ/(μ-λ)=.75 –Length of queue=ρ*ρ/(1-ρ)=2.25
42 As long as it’s a Poisson Distribution... ARRIVAL RATE ARRIVAL RATE SERVICE RATE 1 Input Queue Server Server SERVICE RATE 2 Combined = 1+ 2
43 Question: MacDonalds Problem μ μ μ μ μ μ λ λ λ λ λ λ A) Separate Queues per Server B) Same Queue for Servers If W is waiting time for system A, and W is waiting time for system B, what is W/W B ? Integer answer; W A > W B ? If W A is waiting time for system A, and W B is waiting time for system B, what is W A /W B ? Integer answer; W A > W B ?
44 Queuing Diagram for Processes Start Event Queue Exit Time Slice ARRIVAL RATE ARRIVAL RATE SERVICE RATE SERVICE RATE 1 ARRIVAL RATE 1
45 Queuing Diagram for Processes Ready Queue I/O request in Device Queue Time Slice Expired Fork a Child Wait for an InterruptInterruptOccurs CreateChild CPU I/O UpdateAccounting Create Job
46 Simulations – instead of maths Complicated logic and conditions about events- Write program that simulates events While not end Advance Clock to Next Event Print results Process Next Event on Queue Put new events on queue
47 Summary Simulation Models of Scheduling Using Queuing Theory Average response time and variance important Simulation of Scheduling SS: Ch 9[ , ]