Title: Queuing Framework for Process Management Evaluation
1Queuing Framework for Process Management
Evaluation
- Lecture 20
- Klara Nahrstedt
2CS241 Administrative
- Read Stallings Chapter 9
- No Quizzes this week, the next quiz will be on
Monday 3/12 on SMP5
3Content of This Lecture
- Goals
- Introduction to Principles for Reasoning about
Process Management/Scheduling - Things covered in this lecture
- Introduction to Queuing Theory
4Process States Finite State Diagram
5Queuing 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
6CPU 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?
7Queuing Diagram for Processes
Exit
Start
Ready Queue
CPU
Time Slice
Event
Event Queue
8Queuing Diagram for Processes
Exit
Start
Ready Queue
CPU
Time Slice
Event
Event Queue
9Queuing Diagram for Processes
Exit
Start
Ready Queue
CPU
Time Slice
Event
Event Queue
10Queuing Diagram for Processes
Exit
Start
Ready Queue
CPU
Time Slice
Event
Event Queue
11Queuing Diagram for Processes
Exit
Start
Ready Queue
CPU
Time Slice
Event
Event Queue
12Queuing Diagram for Processes
Exit
Start
Ready Queue
CPU
Time Slice
Event
Event Queue
13Queuing Diagram for Processes
Exit
Start
Ready Queue
CPU
Time Slice
Event
Event Queue
14Queuing Diagram for Processes
Exit
Start
Ready Queue
CPU
Time Slice
Event
Event Queue
15Queuing Diagram for Processes
Exit
Start
Ready Queue
CPU
Time Slice
Event
Event Queue
16Queuing Diagram for Processes
Exit
Start
Ready Queue
CPU
Time Slice
Event
Event Queue
17Queuing Diagram for Processes
Exit
Start
Ready Queue
CPU
Time Slice
Event
Event Queue
18Queuing Diagram for Processes
Exit
Start
Ready Queue
CPU
Time Slice
Event
Event Queue
19Queuing Diagram for Processes
Exit
Start
Ready Queue
CPU
Time Slice
Event
Event Queue
20Queuing Diagram for Processes
Exit
Start
Ready Queue
CPU
Time Slice
Event
Event Queue
21Queueing Model
- Random Arrivals and the Poisson Distribution
- Elements of model
22Discussion
- 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?
23Discussion
- What assumption have you made about the bus?
24Hamburger 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
25Hamburger 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
26Random Events
- Poisson Distribution
- Each event independent of other events
- Mean event rate, SD is same as mean
- Exponential distribution
27Queuing Theory
Single Server Queue
ARRIVAL RATE ?
Server
Input Queue
SERVICE RATE?
28Queueing 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 ?
29Analysis 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)
30Useful 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
31Analysis of Single Server Queue
- Server Utilization
- Time in System
- Time in Queue
- Number in Queue (Little)
32Example How busy is the server?
µ3
?2
33How long is an eater in the system?
µ3
?2
1/(3-2) 1
34How long is someone in the queue?
µ3
?2
35How many people in queue?
µ3
?2
36How many people in queue?
µ2
?2
37Interesting Fact
- If Arrival Rate Service Rate, the queue length
become infinitely large the longer you run the
model.
38Until Now We Looked at Single Server, Single
Queue Theory
ARRIVAL RATE ?
Server
Input Queue
SERVICE RATE?
39Poisson Arrivals Sum
ARRIVAL RATE ?1
Server
Input Queue
SERVICE RATE?
ARRIVAL RATE ?2
? ?1 ? 2
40Example
- 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?
41Example
- Arrival 1 jobs/sec from Start
- Arrival 2 jobs/sec from Event queue
- Service 4 jobs/sec
- Utilization??/µ12/4.75
- Time in system1/(µ-?)1
- Time in queue?/(µ-?).75
- Length of queue??/(1-?)2.25
42As long as its a Poisson Distribution...
SERVICE RATE?1
ARRIVAL RATE ?
Combined ??1?2
Input Queue
SERVICE RATE?2
43Question 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 gt WB ?
44Queuing Diagram for Processes
Exit
Start
ARRIVAL RATE ?
SERVICE RATE ?
Time Slice
SERVICE RATE?1
ARRIVAL RATE ?1
Event Queue
45Queuing Diagram for Processes
CPU
Create Job
Ready Queue
I/O request in Device Queue
I/O
Time Slice Expired
Update Accounting
Fork a Child
Create Child
Wait for an Interrupt
Interrupt Occurs
46Simulations instead of maths
- Complicated logic and conditions about events-
Write program that simulates events
While not end
Advance Clock to Next Event
Print results
47Summary
- Simulation Models of Scheduling
- Using Queuing Theory
- Average response time and variance important
- Simulation of Scheduling
- SS Ch 9405-422,428-435