Dimensionality Reduction for Analyzing Cycle Stealing, Task Assignment, Priority Queueing, and Threshold Policies. Mor Harchol-Balter. Taka Osogami, Adam Wierman, Alan Scheller-Wolf, Mark Squillante. Carnegie Mellon University. FIFO. FIFO. H. L. L. H. H.
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Dimensionality Reduction
for Analyzing
Cycle Stealing,
Task Assignment,
Priority Queueing,
and Threshold Policies
Mor Harchol-Balter
Taka Osogami, Adam Wierman,
Alan Scheller-Wolf, Mark Squillante
Carnegie Mellon University
FIFO
FIFO
H
L
L
H
H
Many multiserver scheduling problems
Goal: Mean response time per job type
H
L
M
H
H
Many multiserver scheduling problems
FIFO
FIFO
Common Problem: 2D-infinite Markov chain
(or nD-infinite)
Dimensionality Reduction (2D)
Recursive Dimensionality Reduction(nD)
Betty
the beneficiary
Dan
the donor
Cycle Stealing Problem
lBjobs/sec
lDjobs/sec
Load rB
Load rD
switch
When donor is idle, donor
helps beneficiary.
Cycle Stealing Problem
lBjobs/sec
lDjobs/sec
Load rB
Load rD
Cycle Stealing Problem
lBjobs/sec
lDjobs/sec
Load rB
Load rD
switch back
When new donor job arrives,
donor switches back to donor
queue.
lBjobs/sec
PH job size
PHjob size
time KSW
NBthresh
NDthresh
time KBA
Only switch
if Betty has
NBthreshjobs
queued.
Only switch back
if Dan has
NDthreshjobs
queued.
Generalized Cycle Stealing [Sigmetrics 03]
lDjobs/sec
Load rB
Load rD
Cycle Stealing Problem
lBjobs/sec
lDjobs/sec
Load rB
Load rD
What is Betty’s/Dan’s mean response time?
lB
lB
lB
1B,2D
1B,1D
2B,2D
2B,1D
0B,2D
1B,0D
0B,0D
0B,1D
2B,0D
mB
2mB
2mB
lD
mD
lD
lD
mD
mD
lB
lB
lB
mB
mB
mB
lD
lD
lD
mD
mD
mD
lB
lB
lB
mB
mB
mB
lD
mD
mD
lD
lD
mD
What’s so hard?
Even simplest-case chain grows infinitely in 2D.
Prior work:
cycle stealing & coupled-processor
Truncate
the
chain
Exponential
job sizes
(80’s)
General
Job sizes
(80,90,00’s)
Tail Asymp
or
Heavy traff.
Bob Foley
McDonald
Mike Harrison
Boxma
Borst
van Uitert
Williams
Convert to
Riemann-Hilbert
problem
Convert to
Wiener-Hopf
boundary problem
Very complex
integrals.
Very complex
integrals for
WORKLOAD.
No numbers.
Fayolle, Iasnogorodski,
Konheim, Meilijson,
Melkman ...
Cohen, Boxma, Borst,
Uitert, Jelenkovic ...
2D-infinite
chain
1D-infinite
chain
VERY HARD
EASY
Dimensionality Reduction
Key idea:
lB
lB
lB
1B,2D
1B,1D
2B,2D
2B,1D
0B,2D
1B,0D
0B,0D
0B,1D
2B,0D
mB
2mB
2mB
lD
mD
lD
lD
mD
mD
lB
lB
lB
mB
mB
mB
lD
lD
lD
mD
mD
mD
lB
lB
lB
mB
mB
mB
lD
mD
mD
lD
lD
mD
What’s so hard?
Even simplest-case chain grows infinitely in 2D.
lB
lB
lB
Cooperating
servers
2B,1+D
1B,1+D
0B,1+D
mB
2mB
2mB
lB
lB
lB
mB
mB
mB
Working
independently
Solution
0B,0D
1B,0D
2B,0D
BD
BD
lD
lD
lD
BD
New type of transition. Donor Busy period: BD
1D-infinite chain!
lB
lB
lB
lB
lB
lB
Cooperating
servers
2B,0D
1B,0D
0B,0D
2B,1+D
1B,1+D
0B,1+D
mB
2mB
2mB
lB
lB
lB
mB
mB
mB
mB
mB
mB
Working
independently
g
b
a
Solution
lD
lD
lD
Approximation,
but can be made
as close to exact
as desired.
[Tools03a,Tools03b]
=
BD
lBjobs/sec
lDjobs/sec
Load rB
LoadrD
Genl. job size
Genl. job size
time KSW
NBthresh
NDthresh
time KBA
Markov chain is easy to generalize
MODIFIED 1D-chain:
cycle stealing with switching costs and NBth = 3
A: For rB>1, always pays.
For rB<1, sometimes pays.
orig
cs
E[TB]
E[TD]
cs
orig
rB
rB
A: Hardly, for rB < 1 !
Exp
E[TB]
C2=8
C2=50
rB
Some interesting questions
Q: When does cycle stealing pay?
Q: How does donor job size variability affect benef. resp. time?
A: Want NBth high.
E[TB]
E[TD]
Increasing NBth
doesn’t hurt benef!
Increasing NBth
helps donor
rB
rB
A: Want NDth low if rB<1.
Want NDth high if rB>1.
E[TB]
E[TD]
Increasing NDth
helps benef
only in overload!
Increasing NDth
hurts donor
rB
rB
Some interesting questions
Q: How should we set NBth?
Q: How should we set NDth?
So far
2D-infinite chain
1D-infinite chain
Next
nD-infinite chain
1D-infinite chain
H
L
L
M
H
H
Priority Scheduling
M/PH/k with priority classes
Goal: Mean response time per job type.
Prior Work:
Multi-Server Priority Queues
Two job
classes,
exponential
Multi-class
simple
approx.
Matrix Analytic
or
Gen. Functions
Aggregation
or
Truncation
Scaling as Single-server:
Buzen and Bondi
Kao and Narayanan,
Kao and Wilson,
Kapadia, Kazumi,
Mitchell, Nishida
Ngo and Lee
Cidon and Sidi
Feng, Kawada, Adachi, Gail, Hantler, Taylor
Miller
Aggregation into
Two classes:
Mitrani and King
Nishida
Little known for > 2 classes or non-exponential.
What’s so Hard?
Low
Med
Hi
Now chain grows infinitely in 3 dimensions!
lL
lL
lL
lL
lL
lL
0L,2+H
0L,1H
1L,1H
2L,1H
1L,2+H
0L,0H
1L,0H
2L,0H
2L,2+H
mL
mL
2mL
mL
mL
2mL
lL
lL
lL
mH
mH
lH
lH
lH
mH
2m
2m
BH
BH
2m
lH
lH
lH
BH
2 Priority classes
is easy via Dimensionality Reduction
0,0
1,0
2,0
0,1
1,1
2,1
0,2+
1,2+
2,2+
What about 3 classes H,M,L?
M
M
H
H
H
L
L
L
L
L
L
L
L
L
L
M
M
H
L
L
B4
B3
B2
B5
B1
B6
Busy Periods of HM class
Start of
HM busy
period
or
or
End of
HM busy
period
or
iL,2M,0H
(i-1)L,0M,2H
(i+1)L,1M,1H
(i+1)L,0M,2H
(i-1)L,0M,0H
iL,0M,0H
(i-1)L,1M,0H
iL,1M,0H
(i+1)L,1M,0H
(i+1)L,0M,0H
iL,0M,1H
(i+1)L,0M,1H
(i-1)L,2M,0H
iL,0M,2H
(i+1)L,2M,0H
(i-1)L,1M,1H
iL,1M,1H
(i-1)L,0M,1H
1D-infinite Markov Chain abstraction
B5
B6
B4
B3
B2
B1
M
M
H
H
H
L
L
L
L
L
L
L
L
L
L
M
M
H
L
L
B4
B3
B2
B5
B1
B6
How to get busy period durations?
Start of
HM busy
period
or
or
End of
HM busy
period
or
0,0
1,0
2,0
1,1
2,1
0,1
0,2+
1,2+
2,2+
Q: How to get busy period durations?
A: Passage
times in this
H & M chain.
End of HM
Busy periods
Fortunately [Neuts 78] gives
us passage times in chain.
Start of HM
Busy periods
Extensions
just mean response time, but all moments.
Rest of talk: Lessons learned about priorities
in multiserver systems.
Results: 4 priority classes
M/M/2 with 4 classes
% error in delay
Mean response time
Effect of Variability
M/G/2
M/G/1
L
L
Mean response time
Mean response time
H
H
C2H
C2H
1 server
2 servers
4 servers
8 servers
Effect of more servers
M/G/k with 2 priority classes
Mean response time
C2H
Effect of Number servers
High-priority
perspective
Low-priority
perspective
L
1
2
Mean response time
Mean response time
H
1
4
2
8
8
4
C2H
C2H
Optimal number of servers
(2 classes with same mean)
C2H
r
Optimal number of servers
Smart Prioritization
(Low priority jobs BIGGER)
Stupid Prioritization
(Low priority jobs SMALLER)
C2H
C2H
r
r
Lessons learned on priorities in multiserver
2D-infinite chain
1D-infinite chain
Next
nD-infinite chain
1D-infinite chain
So far
Other applications of DR and RDR
Help me
when I
have > TB
jobs, or
you’re free.
I’ll help
you when
I have
< TD jobs.
TB
TD
m11
m22
m12
Donor
Side Control
Beneficiary
Side Control
Other Problems
Solved by Dimensionality Reduction
2D-
infinite
chain
1D-
infinite
chain
Other Problems
Solved by Dimensionality Reduction
Solves problems where one
class depends on the other,
but dependencies can be
solved sequentially(H,M,L).
Open Question: Systems
that do not decouple?
Dimensionality Reduction (2D)
Recursive Dimensionality Reduction(nD)