queueing models with multiple classes csci 8710 tuesday, november 28th kraemer

49
Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Upload: patrick-black

Post on 04-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Queueing Models with Multiple Classes

CSCI 8710

Tuesday, November 28th

Kraemer

Page 2: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

The Need for Multiple-Class Models

• As you may recall, motivations for constructing multiple-class models for heterogeneous workloads include: To represent different QoS or SLA workload classes To (more) accurately model requirements of the

workload• Example: e-mail server

Heavy user Light user

• Averaging together to create “medium” user is a less accurate model for predictive purposes

Page 3: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Multiclass modeling

• Choosing “right” number of classes is difficult Too few -> inaccurate Too many -> too complex

• Downside of multiclass modeling: Difficult to obtain parameters for each class

Page 4: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Example: Proposed SLA Agreement

• Proposal Risk Portfolio analysis transactions

• Average RT: 3 hours• $15 per transaction

Purchase transactions• Average RT < 1 sec.• $0.50 per transaction

Browsing transactions• Average RT < 2 sec• $0.10 per transaction

Page 5: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Modeling the Proposed System

• Class 1: Risk portfolio analysis Closed, defined by service demands and number of

processes in execution during the “peak hour”

• Class 2: Online purchase transactions Open, defined by service demands and average arrival

rate during a “peak minute”

• Class 3: Browsing transactions Open, defined by service demands and average arrival

rate during a “peak minute”

Page 6: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Simple Two-Class Model

Page 7: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Simple Two-Class Model

• During peak hours, system is under heavy load Four transactions are in execution almost all the

time More than 4 -> thrashing, so keep 5th & higher

in system entry queue (blocking) Observed mix: 3Q, 1U

Page 8: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Simple Two-Class Model

• Assume: Service time per disk

visit is same for Q&U U has more visits per

transaction

Page 9: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Note: scheduling matters for multiclass

• Choice of scheduling discipline affects performance modeling for multiclass First-come, first served (FCFS) Round-Robin (RR) Shortest Job Next (SJN) Shortest Remaining Time (SRT) Earliest Deadline (ED) Least Laxity (LL)

Page 10: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Simple Two-Class Model

• One approach: construct an equivalent single-class model (We did this before the break) Useful, in that the single-class approach

“pessimistically bounds the performance of the multiclass model”[Dowdy]

Problematic, in that it doesn’t permit the solution of many “what-if” scenarios

Page 11: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Assumptions: BCMP

• Specify a combination of service-time distributions and scheduling disciplines that yield multiclass product-form queueing networks that “lend themselves to efficient model solution techniques” Open, closed, or mixed networks are allowed

Page 12: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Assumptions: BCMP

• Service centers with FCFS discipline Service time distribution must be exponential

with same mean for all classes• May have different visit ratios

Service rate can be load_dependent• But can only depend on total number of customers

at the server, not on the number of customers of any particular class

Page 13: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Assumptions: BCMP

• Service centers with PS discipline n customers, each receives service at rate 1/n Each class may have distinct service time dist. Reasonable approximation for RR

Page 14: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Assumptions: BCMP

• Service centers with infinite servers (IS) Never any waiting for a server a.k.a. - delay server or no queueing

Page 15: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Assumptions: BCMP

• Service centers with LCFS-PR discipline Each class may have distinct service time dist. Can be used to model servers at which high-

priority interrupts require immediate but small amounts of service

Page 16: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Assumptions: BCMP

• Open networks: Exponentially distributed inter-arrival time No bulk arrivals

Page 17: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Notation

• K: number of devices (service centers)• R: number of classes of customers• Mr : number of terminals of class r• Zr: think time of class r• Nr: class r population r: arrival rate of class r• Si,r: avg. service time of class r customers at device i• Vi,r: avg. visit ratio of class r customers at device i• Di,r: avg. service demand of class r customers at device

i; Di,r = Si,r * Vi,r

Page 18: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Notation, continued

• Ri,r: avg. response time per visit of class r customers at device i

• R’i,r: avg. residence time of class r customers at device i; R’i,r = Vi,r * Ri,r

• Xi,r: class r throughput at device i• X0,r: class r system throughput• Rr: class r response time

ideviceatcustrclassnumavgn ri ______.,

ideviceatcustnumavgni ____.

Page 19: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Closed Models

N (N1, N 2,...NR)

• typically used for batch jobs and interactive jobs

• = (1,3) for the update/query example of earlier

Page 20: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Multiple class closed model

Page 21: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Multiclass MVA

• relies on 3 basic equations applied to each class• First: apply Little’s Law separately to each class

of customers

K

irir

rr

NRZ

NNX

1,

,0

)(')(

Page 22: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Multiclass MVA

• Second: Apply Little’s Law and the Forced Flow Law to each

service center:

)(')(

)()(

)()()(

,,0

,,,0

,,,

NRNX

NRVNX

NRNXNn

rir

ririr

ririri

Page 23: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Mulitclass MVA

• The sum up customers of all classes at device i to get the total number of customers at that device:

R

rrir

R

rrii

NRNX

NnNn

1,,0

1,

)(')(

)()(

Page 24: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Multiclass MVA

• Note: mean response time of a class r customer at service center i is own mean service time at that device plus time to service mean backlog seen upon its arrival.

• Therefore:

)](1[)('

)](1[)(

)](1[)(

,,,

,,,,,

,,,

NnDNR

NnSVNRV

NnSNR

Ariri

Aririririri

Aririri

ri

Page 25: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

“backlog”

• backlog = average queue length at device i seen by arriving class r customer

• for delay server => 0

• for PS or LCFS-PR => an “inflation factor”

Arin ,

Page 26: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Closed Models: Exact Solution Algorithm

• Observation: queue length is 0 when no customers are in the network

• Also:

)1()(, riAri NnNn

Page 27: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Exact MVA for Multiclass:

Page 28: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Closed Models: Case Study

Page 29: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Closed Models: Case Study

Page 30: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Closed Models: Case Study

1. What is the predicted increase in the throughput of query transactions if the load of the update class is moved to off-peak hours?

• Assume we still have 4 transactions – now all query transactions. Solve single-class model with 4 queries, get tput=5.275 tps … which is an increase of 28.87%

Page 31: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Closed Models: Case Study

2. Realizing that disk 1 is the bottleneck and disk 2 is lightly loaded, which is the predicted RT if the total I/O load of query transactions is moved to disk 2?

• shift value of D2,q to D3,q , solve new model. Results:

X0,q = 4.335 tps

X0,u = 0.517 tps

Rq = 0.692 sec

Ru = 1.934 sec

Page 32: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Open Models

• number of customers (transactions, processes, requests) varies dynamically

Page 33: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Multiclass Open Models

Page 34: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Analysis of Multiclass Open Models

• In steady state, the throughput of class r equals its arrival rate: X0,r = r (13.6.11)

• The application of Little’s Law to each device gives Eq. 13.6.12:

)()()( ,,,

ririri RXn

Page 35: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Analysis of Multiclass Open Models

• The avg. residence time for the entire execution is R’i,r=Vi,rRi,r

• Using the Forced Flow Law and Eq. (13.6.11) from the previous slide, the throughput of class r is given by Eq. 13.6.13

• riririrri VVXX ,,,,0, )()(

Page 36: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Analysis of Multiclass Open Models

• Using Eq. 13.6.12 and 13.6.13, the average queue length per device becomes (Eq. 13.6.14):

)(')( ,,

rirri Rn

Page 37: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Analysis of Multiclass Open Models

• Combining the Utilization Law and the Forced Flow Law, the utilization of device i by class r customers can be written as (Eq. 13.6.15):

rirririrririri DSVSXU ,,,,,, )()(

Page 38: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Analysis of Multiclass Open Models

• To computer average number of class r customers in service center i, need R’i,r as function of the input parameters.

)](1[)('

)](1[)(

)](1[)(

,,,

,,,,

,,,

,

Aririri

Ariririri

Aririri

nDR

nSVRV

nSR

ri

Page 39: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Analysis of Multiclass Open Models

• In an open system, the population is infinite, so the arriving customer sees the overall steady-state distribution. Thus,

)()(,

iAri nn

Page 40: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Analysis of Multiclass Open Models

)](1)[()](1[)(

)](1[)('

,,,

,,

iriirirri

iriri

nUnDn

nDR

Page 41: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Analysis of Multiclass Open Models

• Notice that the expression in the [] on the previous slide doesn’t depend on class r. Thus, for any two classes r and s, we have:

)(

)(

)(

)(

,

,

,

,

si

ri

si

ri

U

U

n

n

Page 42: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Analysis of Multiclass Open Models

• Taking as class s all classes combined, we can rewrite ni,r as:

)(1

)()( ,

,

i

riri

U

Un

Page 43: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Analysis of Multiclass Open Models

• Applying Little’s Law to the previous formula, we obtain:

)(1)(' ,

,

i

riri

U

DR

Page 44: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Summary

Page 45: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Open Model: Case Study

• distributed environment

• diskless clients connected to file server via high-speed LAN

• file server = 1 CPU, 1 disk(large)

• Question: what is the predicted performance of the file server if the number of diskless clients doubles?

Page 46: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Open Model: Case Study

1. Workload characterization, monitor for 1 hour:

• read requests - 18000• write requests - 7200• other requests – 3600• CPU utilization: 32% (9% R, 18%W, 5%O)• disk utilization: 48% (20%R, 20%W, 8%O)

Page 47: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Open Model: Case Study

• From per-class utilizations and throughputs, can calculate Di,r, and then Vdisk,r , based on disk service times quoted by manufacturer.

• Can calculate Vproc,r as 1 initial CPU visit plus one more CPU visit for every I/O visit

Page 48: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Case Study – Open/multi

Page 49: Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer

Alternative Configurations