Download Process Management - School of Computing and Engineering

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Queuing in Operating
Systems
References
Probability, Statistics & Queuing Theory
with Computer Science Applications (Allen Academic Press Ltd)
or any good queuing book
Lecture Objectives
• Be able to recognize an operating system
as a system of queues.
• Be able to calculate the steady state
performance of a given fixed size
queueing system.
• Be able to show (calculate) the effect of a
change on a simple queueing system
caused by a change in arrival rate, service
rate, system size, etc.
cs431-cotter
2
Process Management
• How do we manage them?
– Keep track of states
– Route efficiently
• What do they look like to the system?
– Randomly arriving tasks
Ready Queue
cs431-cotter
CPU
3
OS as a System of Queues
Realistic System
job queue
CPU
ready queue
I/O
I/O queue
wait queue
time slice
expired
cs431-cotter
child
executes
fork child
interrupt
occurs
wait for
interrupt
4
Job Queue
• What attributes are important in monitoring the
Job Queue?
–
–
–
–
–
Random arrivals
Arrival rate?
Service time?
Queue size?
Distributions of arrivals and service times are key!!
cs431-cotter
5
Key is the distribution
• If arrival rate is constant, solution is simple
cs431-cotter
6
Key is the distribution
• If arrival rate is constant, solution is simple
• (But this is not an accurate model)
cs431-cotter
7
Key is the distribution
• If arrival rate is constant, solution is simple
• (But this is not an accurate model)
• If normal (Gaussian) distribution, better
cs431-cotter
8
Key is the distribution
•
•
•
•
If arrival rate is constant, solution is simple
(But this is not an accurate model)
If normal (Gaussian) distribution, better
Exponential model best
cs431-cotter
9
Management Objectives
• Don't lose jobs
• Don't delay jobs
• Don't spend any more than needed
cs431-cotter
10
Book Store Example
1 clerk
Short service line (3)
Average transaction rate (2/min)
Average arrival rate (1/min)
3
cs431-cotter
2
1
Counter
•
•
•
•
C
11
Applications
• CPU Jobs
• I/O processing
• File Access
• Queue size
• Delay
• Loss
cs431-cotter
12
Terminology
• Arrival rate () (inverse of mean interarrival time)
• Service rate () (inverse of mean
service time)
• Assume steady state
cs431-cotter
13
State Transition diagram
• 4 states (0--3) with arrivals and departures
0
cs431-cotter
1
2
3
14
State Transition diagram
• 4 states (0--3) with arrivals and departures

0
cs431-cotter

1

2
3
15
State Transition diagram
• 4 states (0--3) with arrivals and departures

0
1

cs431-cotter


2

3

16
State Transition diagram
• 4 states (0--3) with arrivals and departures
• Model assumptions - Markov
– Memoryless
– 1 event at a time

0
1

cs431-cotter


2

3

17
Balance Equations (State 0)

0
1

cs431-cotter


2

3

18
Balance Equations (State 0)

0

1


2

3

P0 *   P1 * 
cs431-cotter
19
Balance equations
• Assumes Steady State conditions
– (system in balance)
• 4 equations (1 is redundant)
P0 *   P1 * 
P0 *   P2 *   P1 *   P1 * 
P1 *   P3 *   P2 *   P2 * 
P2 *   P3 * 
cs431-cotter
20
Need 1 extra Equation

0
1

P0 *   P1 * 
P1 *   P0 * 
• Additional Equation
P0  P1  P2  P3  1
cs431-cotter
21
Solve for P0
• Identify all Probabilities in terms of P0
P0 *   P1 * 
cs431-cotter

P1  P0 *  

22
Solve for P0
• Identify all Probabilities in terms of P0

P1  P0 *  

P0 *   P2 *   P1 *   P1 *  


P0 *   P2 *   P0 *   *   P0 *   *  



P2 *   P0 * 

2
cs431-cotter


  P2  P0  


2
23
Solve for P0
• Identify all Probabilities in terms of P0

P1  P0 *  


P2  P0  


P3  P0  

cs431-cotter
2
3
24
Solve for P0, P1, P2, P3
P1  P0 *(  /  )
P2  P0 *( /  ) 2
P3  P0 *(  /  )
3
P0  P1  P2  P3  1
P0  1 / (1  ( /  )  ( /  )  ( /  )
2
cs431-cotter
3
25
What do the numbers mean?
• Px is the probability of the system being in
state x
– There are x people waiting in line.
• P0 is the probability that the system is
empty
– The clerk is idle
• 1 - P0 is the probability that the system is
busy
– Utilization factor
cs431-cotter
26
Results
•
•
•
•
Idle => P0 =
Utilization = busy => 1 - P0 =
Throughput =>  * (1 - P0) =
Average queue size => 1 * P1 + 2*P2 +
3*P3 =
• Lost customers =>  * P3 =
• Little's Law => L =  * W
cs431-cotter
27
Results
•
•
•
•
Idle => P0 = 8/15
Utilization = busy => 1 - P0 = 7/15
Throughput =>  * (1 - P0) = 14/15
Average queue size => 1 * P1 + 2*P2 +
3*P3 = 11/15
• Lost customers =>  * P3 = 1/15
• Little's Law => L =  * W = 11/15 =
1(W)==> 11/15
cs431-cotter
28
Now add in Numbers
•
•
•
•
Arrival Rate = 1/min
Service Rate = 2/min
Calculate P0
Calculate throughput
cs431-cotter
• Clerk rate = $6/hr
• Profit = $3/book
• Calculate Net Profit
29
Application • "Profit" from a CPU (or from a bookstore
clerk)
• Compare (higher throughput, but higher
cost)
• Cost $12/hr, Service rate 3/minute
cs431-cotter
30
Final Results
• Service Rate = 3/min
• Cost = $12 /hr
• Service Rate = 2/min
• Cost = $6 /hr
•
•
•
•
•
•
•
•
P0 = 27/40
Utilization = 13/40
Throughput = 39/40
Profit = $2.73 /min
cs431-cotter
P0 = 8/15
Utilization = 7/15
Throughput = 14/15
Profit = $2.70 /min
31
Extending the model
•
•
•
•
•
Different Queue Sizes
Multiple clerks
Multiple service times
Multiple arrival rates
Different distribution models.
cs431-cotter
32
Queuing Extensions
Infinite queue (M/M/1)
• P0 is dependent on allowable length of queue.
• If the queue length is not constrained, then all
probabilities change, affecting all other formulas.
 /
Pn  (1   ) *  n
L   *W 
cs431-cotter
PN n  

1 
n
33
Summary
• Operating Systems can be abstracted as a
system of queues. If we can understand
the behavior of the queues, we can
understand the system
• Even though we assume that service and
arrival rates are random, if they follow a
generalized distribution, we can predict (in
general) the behavior of the system
cs431-cotter
34
Questions
•
•
•
Given a queueing system of size 3 with a probability of
being empty P0 = 27/65, an arrival rate of 2/min and a
service rate of 3/min, what is the system throughput
(rate at which customers move through the system)?
A) Please provide a state transition diagram for a
queueing system that has a system size of 3. B) If the
mean arrival rate is 3/min and the service rate is 4/min,
what is the probability that a process will be lost due to
overflow of the system?
A) Given a queueing system of size 3 with an arrival
rate of 2/min and a service rate of 3/min, if we change
the system size to 4, what effect will this have on the
probability of losing a customer (go up, go down, stay
the same)? B) Why?
cs431-cotter
35
Related documents