low overhead dynamic qos optimization under variable task ... · i 240 randomly generated...

36
Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times Sergiu Rafiliu Petru Eles Zebo Peng Department of Computer and Information Science, Link ¨ oping University, Sweden November 3, 2010

Upload: others

Post on 03-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS OptimizationUnder Variable Task Execution Times

Sergiu Rafiliu Petru Eles Zebo Peng

Department of Computer and Information Science,Linkoping University, Sweden

November 3, 2010

Page 2: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Motivation

Large, unpredictable load variationsI Large

I Complex set of applicationsI Not all functionality runs at all times

I UnpredictableI Complex hardware platformI Software may change during the lifetime of the system

EfficiencyI Not waste resources (power, memory, CPU time, cost . . . )I Optimize some Quality-of-Service metric

Page 3: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Motivation

Large, unpredictable load variationsI Large

I Complex set of applicationsI Not all functionality runs at all times

I UnpredictableI Complex hardware platformI Software may change during the lifetime of the system

EfficiencyI Not waste resources (power, memory, CPU time, cost . . . )I Optimize some Quality-of-Service metric

Page 4: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Motivation

Low Overhead Dynamic QoS Optimization Under VariableTask Execution Times

LoadQoS

CPUρ1

ρ2

ρn

On-line approaches:I Keep a certain reference LoadI Optimize Quality-of-ServiceI Low Overhead

Page 5: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Outline

System Model

Problem Formulation

SolutionsApproachesOverheadOther Problems

Experiments

Conclusions and Future Work

Page 6: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

System Model

System Model

QoS

CPU task (τ)

I Execution times vary in unknown waysI Task rates are decided by the QoS ControllerI Jobs are scheduled through EDF

Page 7: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

System Model

System Model

QoSτ

[time]

c ∈ [cmin, cmax]

1ρ ; ρ ∈ [ρmin, ρmax]

CPU task (τ)

I Execution times vary in unknown waysI Task rates are decided by the QoS ControllerI Jobs are scheduled through EDF

Page 8: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

System Model

System Model

QoS[time]

⇒ EDF

Page 9: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

System Model

Quality-of-ServiceEach task posseses an abstract quality degradation curve:

I functions of rate

I decreasing, strictly monotonic curves

I higher rates⇒ better quality⇒ lower quality degradation.

rate rate

qual

ity

deg

radat

ion

qual

ity

deg

radat

ionτ1

τ2

τ1τ2

Page 10: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Problem Formulation

System Model

Problem Formulation

SolutionsApproachesOverheadOther Problems

Experiments

Conclusions and Future Work

Page 11: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Problem Formulation

QoS Controller

1. Determines task rates:I Maximize overall Quality-of-ServiceI Keep a reference CPU load given by the designer

I determine execution timesI determine number of jobs to be executed

2. Determines its next activation time.

Page 12: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Problem Formulation

QoS Controller

rate

qual

ity

deg

radat

ion c1

c2

load

qual

ity

deg

radat

ion Lrefτ1

τ2

L =∑

i ci · ρi

Page 13: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Problem Formulation

QoS Controller

rate

qual

ity

deg

radat

ion c1

c2

load

qual

ity

deg

radat

ion Lref

c′1 < c1c′2 > c2

load

qual

ity

deg

radat

ion Lref

τ1τ2

L =∑

i ci · ρi

Page 14: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Solutions

System Model

Problem Formulation

SolutionsApproachesOverheadOther Problems

Experiments

Conclusions and Future Work

Page 15: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Solutions

Approaches

Approaches

On-line approaches (QoS controllers):I Constant BandwidthI Uniform QoSI QoS DerivativeI Corner Case

Page 16: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Solutions

Approaches

Constant Bandwitdh

load

qual

ity

deg

radat

ion Lref

load

qual

ity

deg

radat

ion Lref

B1 B2

• B1, B2 – bandwidth

• ∑iB1 = Lref

ρ1

ρ2

L1

L2

B1

B2

c1

c2

CPU

QoS1

QoS2

Page 17: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Solutions

Approaches

Constant Bandwitdh

load

qual

ity

deg

radat

ion Lref

load

qual

ity

deg

radat

ion Lref

B1 B2

• B1, B2 – bandwidth

• ∑iB1 = Lref

ρ1

ρ2

L1

L2

B1

B2

c1

c2

CPU

QoS1

QoS2

• Load kept

• Quality-of-Service notconsidered

Page 18: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Solutions

Approaches

Uniform QoS

load

qual

ity

deg

radat

ion Lref

load

qual

ity

deg

radat

ion Lref

ρ1

ρ2

+Lref L

CPU

QoS

c1

c2

−1

+

Page 19: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Solutions

Approaches

Uniform QoS

load

qual

ity

deg

radat

ion Lref

load

qual

ity

deg

radat

ion Lref

ρ1

ρ2

+Lref L

CPU

QoS

c1

c2

−1

+

• Load kept

• Quality-of-Service notoptimized

Page 20: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Solutions

Approaches

QoS Derivative

load

qual

ity

deg

radat

ion

Page 21: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Solutions

Approaches

QoS Derivative

load

qual

ity

deg

radat

ion

load

qual

ity

deg

radat

ion

Page 22: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Solutions

Approaches

QoS Derivative

load

qual

ity

deg

radat

ion

L1

L2

Lref

I Optimum approach for convex quality degradation curvesI Convex optimization problem

Page 23: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Solutions

Approaches

Corner Case

load

qual

ity

deg

radat

ion

L1

L2Lref

I For concave quality degradation curves, the optimum isone of the corner cases

Page 24: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Solutions

Overhead

Overhead

I Active set of tasks (no. of tasks to be considered)I Complexity

Page 25: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Solutions

Overhead

Active Set of Tasks

QoS[time]

Page 26: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Solutions

Overhead

Active Set of Tasks

QoS[time]

Page 27: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Solutions

Overhead

QoS Controller Complexity

QoS Controller ComplexityConstant Bandwidth n ·O(1)

Uniform QoS O(n ·O(q))QoS Derivative O(n ·O(q))

Corner Case O(n · log(n))

I n – number of tasks (in the active set)I O(q) – complexity of calling the quality degradation

function for a value

Page 28: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Solutions

Other Problems

Other Problems

I Measure execution timesI Determine the number of jobs to execute (in the case of

overload)I Determine the QoS Controller’s next activation point

Page 29: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Experiments

System Model

Problem Formulation

SolutionsApproachesOverheadOther Problems

Experiments

Conclusions and Future Work

Page 30: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Experiments

Setting

I 240 randomly generated test-cases with convex orconcave quality degradation curves

I 5 to 100 tasksI execution times variation [cmin, cmax ] = [cmin, 100 · cmin]

I 3 different processors (low , medium, high)I 6 different overhead setting (P1 to P6)

Page 31: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Experiments

On-line Approaches

Amount of Resources

Act

ual Q

ualit

y D

egra

datio

n Le

vel

0.00.20.40.60.81.0

Cor

ner−

case

QoS

der

ivat

ive

Con

stan

t ban

dwid

thU

nifo

rm Q

oS

lowconcave

Cor

ner−

case

QoS

der

ivat

ive

Con

stan

t ban

dwid

thU

nifo

rm Q

oS

mediumconcave

Cor

ner−

case

QoS

der

ivat

ive

Con

stan

t ban

dwid

thU

nifo

rm Q

oS

highconcave

lowconvex

mediumconvex

0.00.20.40.60.81.0

highconvex

Page 32: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Experiments

Period Assignment

Period Assignment Policy

Act

ual Q

ualit

y D

egra

datio

n Le

vel

0.0

0.2

0.4

0.6

0.8

1.0

−ape

riodi

c−s

pora

dic

−min

−avg

−AVG

−max

−MAX

Corner−caseconcave

−ape

riodi

c−s

pora

dic

−min

−avg

−AVG

−max

−MAX

QoS derivativeconcave

−ape

riodi

c−s

pora

dic

−min

−avg

−AVG

−max

−MAX

Uniform QoSconcave

Corner−caseconvex

QoS derivativeconvex

0.0

0.2

0.4

0.6

0.8

1.0Uniform QoS

convex

Page 33: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Experiments

Active Task Set and Overheads

Controller Overhead T(1)

Act

ual Q

ualit

y D

egra

datio

n Le

vel

0.00.20.40.60.81.0

Cor

ner−

case

QoS

der

ivat

ive

Con

stan

t ban

dwid

thU

nifo

rm Q

oS

P1concave

Cor

ner−

case

QoS

der

ivat

ive

Con

stan

t ban

dwid

thU

nifo

rm Q

oS

P2concave

Cor

ner−

case

QoS

der

ivat

ive

Con

stan

t ban

dwid

thU

nifo

rm Q

oS

P3concave

Cor

ner−

case

QoS

der

ivat

ive

Con

stan

t ban

dwid

thU

nifo

rm Q

oS

P4concave

Cor

ner−

case

QoS

der

ivat

ive

Con

stan

t ban

dwid

thU

nifo

rm Q

oS

P5concave

Cor

ner−

case

QoS

der

ivat

ive

Con

stan

t ban

dwid

thU

nifo

rm Q

oS

P6concave

P1convex

P2convex

P3convex

P4convex

P5convex

0.00.20.40.60.81.0

P6convex

Page 34: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Conclusions and Future Work

Conclusions

I Solved the QoS problem for mono-processor systems withindependent tasks

I Proposed approaches for convex and concave qualitydegradation curves

I Determined Controller complexityI Considered overheadsI Considered other practical problems

Page 35: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Conclusions and Future Work

Future Work

I More complex architecturesI Other types of resourcesI More optimization criteriaI Stability

Page 36: Low Overhead Dynamic QoS Optimization Under Variable Task ... · I 240 randomly generated test-cases with convex or concave quality degradation curves I 5 to 100 tasks I execution

Low Overhead Dynamic QoS Optimization Under Variable Task Execution Times

Conclusions and Future Work

Questions???