1 University of Saskatchewan, Canada 2 University of Tartu, - - PowerPoint PPT Presentation

1 university of saskatchewan canada 2 university of tartu
SMART_READER_LITE
LIVE PREVIEW

1 University of Saskatchewan, Canada 2 University of Tartu, - - PowerPoint PPT Presentation

Dmytro Dyachuk 1 , and Michele Mazzucco 2 1 University of Saskatchewan, Canada 2 University of Tartu, Estonia Introduction (1) Clients have performance expectations


slide-1
SLIDE 1

Dmytro ¡Dyachuk1, ¡and ¡Michele ¡Mazzucco2 ¡

1 ¡University ¡of ¡Saskatchewan, ¡Canada ¡ 2University ¡of ¡Tartu, ¡Estonia ¡

slide-2
SLIDE 2

Introduction ¡(1) ¡

  • Clients ¡have ¡performance ¡expectations ¡
  • Load ¡changes ¡over ¡the ¡time ¡
  • QoS ¡is ¡one ¡of ¡ ¡the ¡critical ¡factors ¡determining ¡the ¡

success ¡(or ¡failure) ¡of ¡service ¡providers ¡

E.g., ¡Google ¡reports ¡that ¡ ¡an ¡extra ¡0.5 ¡sec. ¡in ¡search ¡page ¡ generation ¡would ¡ ¡imply ¡a ¡20% ¡traffic ¡drop ¡

E.g., ¡trimming ¡the ¡page ¡size ¡of ¡ ¡Google ¡Maps ¡by ¡30% ¡ resulted ¡in ¡30% ¡traffic ¡ ¡increase ¡

2

slide-3
SLIDE 3

Introduction ¡(2) ¡

  • Electricity ¡bill ¡constitutes ¡a ¡significant ¡fraction ¡of ¡

the ¡datacenter ¡cost ¡

 A ¡typical ¡household ¡consumes ¡1.14 ¡kW ¡  A ¡typical ¡data ¡center ¡consumes ¡15 ¡MW ¡= ¡877 ¡households ¡ ¡ ¡ ¡

  • Different ¡techniques ¡exist ¡for ¡reducing ¡energy ¡

consumption, ¡e.g., ¡voltage ¡scaling ¡

 Idle ¡servers ¡consume ¡up ¡to ¡65% ¡of ¡their ¡peak ¡consumption ¡

  • Hence, ¡we ¡need ¡to ¡improve ¡data ¡center’s ¡utilization, ¡

i.e., ¡by ¡tearing ¡down ¡unused ¡servers ¡

 How ¡many ¡servers ¡to ¡run? ¡

 Over-­‑provisioning ¡should ¡be ¡avoided ¡  Service ¡providers ¡must ¡meet ¡performance/availability ¡ requirements ¡ ¡

3

slide-4
SLIDE 4

Problem ¡definition ¡

  • Suppose ¡we ¡have ¡a ¡collection ¡of ¡servers ¡

 How ¡to ¡allocate ¡them ¡in ¡the ¡most ¡efficient ¡way? ¡  User ¡demand ¡is ¡very ¡unpredictable ¡

 Each ¡successful ¡“transaction” ¡brings ¡c$ ¡: ¡we ¡don’t ¡want ¡to ¡miss ¡business ¡

  • pportunities ¡

4

slide-5
SLIDE 5

System ¡model ¡

  • S ¡servers ¡

 n ¡are ¡running ¡  (S ¡-­‑ ¡n) ¡are ¡switched ¡off ¡  Every processed request generates a revenue of c$ ¡  Electricity ¡costs ¡r$ ¡per ¡kWh ¡  If ¡all ¡servers ¡are ¡busy, ¡further ¡jobs ¡are ¡queued ¡  But ¡clients ¡have ¡limited ¡patience! ¡  If ¡the ¡waiting ¡time ¡exceeds ¡a ¡certain ¡threshold ¡(i.e., ¡1/θ

  • n average), ¡jobs ¡are ¡aborted ¡

 How ¡to ¡choose ¡the ¡“best” ¡n? ¡

5

slide-6
SLIDE 6
  • The performance of computing systems can be

measured using different metrics

  • The goal of the service provider is to maximize

the long-term average earned revenue per unit time

 R = c ¡T ¡ ¡-­‑ ¡ ¡rP ¡

Proposed ¡scheme ¡

Throughput

  • Avg. revenue per job

Cost for electricity

  • For a given n and load, two variables are unknown

and need to be estimated

1.

System throughput, T

2.

Power consumption, P

  • For the following we will use the notation

 R = r(n)

6

slide-7
SLIDE 7
  • Idle ¡servers ¡consume ¡up ¡to ¡65% ¡of ¡their ¡peak ¡consumption ¡

Power ¡usage ¡estimation ¡

 P ¡= ¡ne1 ¡+ ¡T/μ ¡(e2-­‑e1) ¡

Consumption when busy Consumption when idle

  • Avg. no. of busy servers

7

slide-8
SLIDE 8

Adaptive ¡policy ¡(1) ¡

  • One ¡might ¡try ¡to ¡model ¡the ¡system ¡using ¡the ¡

Erlang-­‑C ¡model ¡

 75% ¡of ¡people ¡won’t ¡visit ¡again ¡a ¡web ¡site ¡that ¡

took ¡more ¡than ¡4 ¡sec. ¡to ¡load ¡

 We ¡do ¡allow ¡HTTP ¡timeouts ¡as ¡well ¡as ¡impatient ¡

customers ¡ ¡

  • … ¡but ¡Erlang-­‑C ¡does ¡not ¡acknowledge ¡jobs ¡

abandonment ¡

8

slide-9
SLIDE 9

Adaptive ¡policy ¡(2) ¡

  • Based ¡on ¡the ¡Erlang-­‑A ¡queuing ¡model ¡
  • At ¡each ¡allocation ¡epoch ¡

 Compute ¡the ¡new ¡allocation, ¡n’ ¡  Use ¡the ¡traffic ¡estimates ¡to ¡evaluate ¡the ¡expected ¡

change ¡in ¡revenue, ¡Δr(n’,n) ¡

 Δr(n’,n) ¡= ¡r(n’) ¡-­‑ ¡r(n) ¡– ¡Q ¡

 Where ¡Q ¡is ¡the ¡cost ¡paid ¡for ¡powering ¡on ¡(off) ¡the ¡

|(n’-­‑n)| ¡servers ¡

 Carry out the new allocation only if Δr(n’,n) ¡> ¡0 ¡ ¡

  • The ¡policy ¡is ¡implemented ¡as ¡a ¡binary ¡search ¡

algorithm ¡

 ¡It ¡can ¡find ¡the ¡“best” ¡n ¡in ¡O(log ¡ ¡S) ¡iterations ¡

9

slide-10
SLIDE 10

QED ¡heuristic ¡

  • Large ¡server ¡farms ¡working ¡in ¡QED ¡regime ¡

balance ¡service ¡quality ¡and ¡server ¡efficiency ¡

  • Estimate ¡the ¡arrival ¡and ¡service ¡rates, ¡λ ¡and ¡

μ, ¡and ¡the ¡variance ¡of ¡λ, ¡Var(λ) ¡

  • Allocate ¡servers ¡according ¡to ¡
  • where ¡

 α√ ¡is ¡used ¡to ¡deal ¡with ¡stochastic ¡variability, ¡and ¡  Var(ρ) ¡is ¡used ¡to ¡deal ¡with ¡not ¡deterministic ¡λ ¡

10

slide-11
SLIDE 11

Predictive ¡heuristic ¡(1) ¡

  • Load ¡changes ¡over ¡the ¡time, ¡it ¡follows ¡patterns, ¡etc. ¡

11 Adjusts the smoothed value Updates the trend

  • Allocate ¡servers ¡using ¡double ¡exponential ¡smoothing ¡
slide-12
SLIDE 12

Predictive ¡heuristic ¡(2) ¡

12

  • From ¡the ¡distribution ¡of ¡the ¡relative ¡error, ¡we ¡can ¡compute ¡Var

(λ) ¡to ¡use ¡with ¡the ¡QED ¡heuristic ¡

  • This ¡policy ¡can ¡predict ¡the ¡arrival ¡rates ¡of ¡Wikipedia ¡with ¡91% ¡

accuracy ¡in ¡90% ¡of ¡the ¡cases ¡ ¡

slide-13
SLIDE 13

 If ¡the ¡arrival ¡rate ¡is ¡unknown, ¡the ¡adaptive ¡policy ¡adjusted ¡with ¡90th ¡

  • r ¡95th ¡percentile ¡represent ¡the ¡best ¡trade-­‑off ¡between ¡revenue, ¡

energy, ¡and ¡lost ¡jobs ¡

Experiments ¡with ¡Wikipedia ¡traces(1) ¡

13

 S=1,000, ¡r=0.1$/kWh, ¡c=6.2*10-­‑6 ¡$ ¡  1/µ=0.1 ¡sec, ¡jobs ¡are ¡70% ¡CPU ¡bound, ¡θ ¡= ¡1/4 ¡

slide-14
SLIDE 14

 The ¡value ¡of ¡α ¡does ¡not ¡significantly ¡affect ¡R ¡  But ¡it ¡does ¡affect ¡the ¡number ¡of ¡lost ¡jobs ¡  QED ¡with ¡α ¡< ¡0.025 ¡performs ¡well ¡

14

Experiments ¡with ¡Wikipedia ¡traces(2) ¡

slide-15
SLIDE 15

 The ¡value ¡of ¡α ¡does ¡not ¡significantly ¡affect ¡R ¡  But ¡it ¡does ¡affect ¡the ¡number ¡of ¡lost ¡jobs ¡  QED ¡with ¡α ¡< ¡0.025 ¡performs ¡well ¡

15

Experiments ¡with ¡Wikipedia ¡traces(3) ¡

slide-16
SLIDE 16

Conclusions ¡

  • Deciding ¡how ¡many ¡servers ¡to ¡run ¡has ¡a ¡

significant ¡effect ¡on ¡the ¡revenue ¡

 The ¡best ¡decision ¡depends ¡on ¡several ¡factors ¡  The ¡policies ¡we ¡propose ¡are ¡robust ¡against ¡errors ¡

in ¡parameters ¡estimation ¡

  • Future ¡work ¡

 Deployment ¡in ¡a ¡real ¡server ¡farm ¡  Expand ¡the ¡framework ¡to ¡deal ¡with ¡

 Multi-­‑tiered ¡systems ¡  Different ¡workloads ¡(e.g., ¡compute ¡intensive ¡or ¡ storage ¡intensive) ¡

16

slide-17
SLIDE 17

Questions? ¡

  • Dmytro Dyachuk dmytro.dyachuk@usask.ca
  • Michele Mazzucco michele.mazzucco@ut.ee

17