- 77 Views
- Uploaded on
- Presentation posted in: General

Mor Harchol-Balter

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.

- - - - - - - - - - - - - - - - - - - - - - - - - - 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.