470 likes | 572 Views
Queuing Framework for Process Management Evaluation. Lecture 20 Klara Nahrstedt. CS241 Administrative. Read Stallings Chapter 9 No Quizzes this week, the next quiz will be on Monday 3/12 on SMP5. Content of This Lecture. Goals:
E N D
Queuing Framework for Process Management Evaluation Lecture 20 Klara Nahrstedt
CS241 Administrative • Read Stallings Chapter 9 • No Quizzes this week, the next quiz will be on Monday 3/12 on SMP5
Content of This Lecture • Goals: • Introduction to Principles for Reasoning about Process Management/Scheduling • Things covered in this lecture • Introduction to Queuing Theory
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
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?
Queuing Diagram for Processes Exit Start Ready Queue CPU Time Slice Event Event Queue
Queuing Diagram for Processes Exit Start Ready Queue CPU Time Slice Event Event Queue
Queuing Diagram for Processes Exit Start Ready Queue CPU Time Slice Event Event Queue
Queuing Diagram for Processes Exit Start Ready Queue CPU Time Slice Event Event Queue
Queuing Diagram for Processes Exit Start Ready Queue CPU Time Slice Event Event Queue
Queuing Diagram for Processes Exit Start Ready Queue CPU Time Slice Event Event Queue
Queuing Diagram for Processes Exit Start Ready Queue CPU Time Slice Event Event Queue
Queuing Diagram for Processes Exit Start Ready Queue CPU Time Slice Event Event Queue
Queuing Diagram for Processes Exit Start Ready Queue CPU Time Slice Event Event Queue
Queuing Diagram for Processes Exit Start Ready Queue CPU Time Slice Event Event Queue
Queuing Diagram for Processes Exit Start Ready Queue CPU Time Slice Event Event Queue
Queuing Diagram for Processes Exit Start Ready Queue CPU Time Slice Event Event Queue
Queuing Diagram for Processes Exit Start Ready Queue CPU Time Slice Event Event Queue
Queuing Diagram for Processes Exit Start Ready Queue CPU Time Slice Event Event Queue
Queueing Model • Random Arrivals and the Poisson Distribution • Elements of model
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?
Discussion • What assumption have you made about the bus?
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 8 7
Hamburger Problem • 7 Hamburgers arrive on average every time unit • 8 Hamburgers are processed by Joe on average every unit • How long is a hamburger waiting to be eaten? (Do they get cold?) Ans = 7/8 time units • How many hamburgers are waiting in queue to be serviced? Ans = 49/8 Queue 8 7
Random Events • Poisson Distribution • Each event independent of other events • Mean event rate, SD is same as mean • Exponential distribution
Queuing Theory Single Server Queue ARRIVAL RATE Server Input Queue SERVICE RATE
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 0.5 1 t Av λ
Analysis of Queueing Behavior • Probability n customers arrive in time interval t is: • e–t tn/ n! • Assume random service times (also Poisson): constant service rate (customers per unit time)
Useful Facts From Queuing Theory • Wq= mean time a customer spends in the queue • = arrival rate • Lq = Wq 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
Analysis of Single Server Queue • Server Utilization: • Time in System: • Time in Queue: • Number in Queue (Little):
= 2/3 or 66% Busy Example: How busy is the server? μ=3 λ=2
How long is an eater in the system? μ=3 λ=2 = 1/(3-2)= 1
How many people in queue? μ=3 λ=2
How many people in queue? μ=2 λ=2
Interesting Fact • If Arrival Rate = Service Rate, the queue length become infinitely large the longer you run the model.
Until Now We Looked at Single Server, Single Queue Theory ARRIVAL RATE Server Input Queue SERVICE RATE
Poisson Arrivals Sum ARRIVAL RATE 1 Server Input Queue SERVICE RATE ARRIVAL RATE 2 =1+2
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?
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
Server Server As long as it’s a Poisson Distribution... SERVICE RATE1 ARRIVAL RATE Combined=1+2 Input Queue SERVICE RATE2
Question: MacDonalds Problem λ μ λ μ μ μ λ λ μ λ λ μ A) Separate Queues per Server B) Same Queue for Servers If WA is waiting time for system A, and WB is waiting time for system B, what is WA/WB? Integer answer; WA > WB ?
Queuing Diagram for Processes Exit Start ARRIVAL RATE SERVICE RATE Time Slice SERVICE RATE1 ARRIVAL RATE 1 Event Queue
Queuing Diagram for Processes Create Job CPU Ready Queue I/O request in Device Queue I/O Time Slice Expired Update Accounting Fork a Child Create Child Interrupt Occurs Wait for an Interrupt
Process Next Event on Queue Put new events on queue 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
Summary • Simulation Models of Scheduling • Using Queuing Theory • Average response time and variance important • Simulation of Scheduling • SS: Ch 9[405-422,428-435]