410 likes | 526 Views
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.
E N D
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) • Approximate technique • Problem-dependent. • Doesn’t always apply. • Provides first accurate performance • numbers for many common problems. • Very fast (less than 1 sec). • < 1% error typically, and can improve. • Can analyze any load (non-limiting). • Allows PH service time distributions. • Adding thresholds and switching costs • is often easy.
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 • Generalize service distribution • Generalize to switching times • Generalize to include thresholds
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 • Dimensionality Reduction (DR) • applied to Cycle stealing with switching costs • and thresholds. 2D-infinite chain 1D-infinite chain Next • Recursive Dimensionality Reduction (RDR) • applied to Priority scheduling in multiserver • systems. 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? • Can get H and M • response times from • this chain: • Obvious Idea: • Combine H and M • into single class HM. • L’s are second class. • IMPRECISE: Duration of HM busy period depends on • who started it: H&H, H&M, or M&M. • Must differentiate.
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 • RDR extends to any number of classes and servers. • Generalize service distribution. • Simple representation allows us to derive not 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 • Multiserver priority queue performance is • very different from single server. • Performance depends on many factors: • Variability of job size • Load • Number of servers • Stupid vs. Smart prioritization
Dimensionality Reduction (DR) • applied to Cycle stealing with switching costs • and thresholds. 2D-infinite chain 1D-infinite chain Next • Recursive Dimensionality Reduction (RDR) • applied to Priority scheduling in multiserver • systems. 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 • Threshold Scheduling with Affinities
2D- infinite chain 1D- infinite chain Other Problems Solved by Dimensionality Reduction • Threshold Scheduling with Affinities • 2. Server Placement Questions • 3. Smart task assignment
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) • Approximate Technique • Problem-dependent. • Doesn’t always apply. • Provides first accurate performance • numbers for many common problems. • Very fast (less than 1 sec). • < 1% error typically, and can improve. • Can analyze any load (non-limiting). • Allows PH service time distributions. • Adding thresholds and switching costs • is often easy.