Power-Aware Speed Scaling in Processor Sharing Systems
description
Transcript of Power-Aware Speed Scaling in Processor Sharing Systems
![Page 1: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/1.jpg)
Power-Aware Speed Scaling in Processor Sharing SystemsAdam Wierman, Lachlan L.H. Andrew, Ao Tang
Optimality, fairness, and robustness in speed scaling designsLachlan L.H. Andrew, Minghong Lin, Adam Wierman
Presented by Daniel Cole
![Page 2: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/2.jpg)
•A/S/n:• (A) Arrival Process, probability density distribution of job arrivals• (S) Service Process, probability density distribution of job size• (n) number of servers
•We’ll mostly use M/M/1 or M/GI/1•First half we’re always using processor sharing (PS)•Objective is response time of job plus energy:
•Always use cost per unit time instead:
The Stochastic Model (Queueing Theory)
Jobs enter the queue
Jobs are serviced
Jobs leave the queue
'/]E[]E[ ET
)(][E sPN
![Page 3: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/3.jpg)
Power ModelMostly, the normalHowever, is assumed very often:
ssP )(
2
![Page 4: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/4.jpg)
Objective: Flow plus EnergyObjective is response time of job plus
energy:Always use cost per unit time instead:
Arrival rate is , mean job size is
Define load as
'/]E[]E[ ET
)(][E sPNz
1
![Page 5: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/5.jpg)
Are these models reasonable?Poisson Arrivals: This assumption is a
very good approximation in real systems that meet the following rules:◦The number of customers in the system is
very large◦ Impact of a single customer on the
performance of the system is very small◦All customers are independent
![Page 6: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/6.jpg)
Three SchemesStatic:
Gated Static:
Dynamic:
0 2 4 6 8 10 120
0.51
1.52
2.53
3.54
4.5
1 2 3 4 5 6 7 8 9 100
0.5
1
1.5
2
2.5
![Page 7: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/7.jpg)
Optimal SpeedsIf we can only run at one speed, at what
speed should we run?
Set derivative equal to 0:
1 2 3 4 5 6 7 8 9 100
0.5
1
1.5
2
2.5
ss
z
21 ss
![Page 8: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/8.jpg)
Optimal SpeedsWhat if we can shut down?
Use same method as before:
For :
1
s
sz
221 ss
2 s
![Page 9: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/9.jpg)
Optimal SpeedsWhat if we can do whatever we want?
Use a dynamic programming approach to solve numerically for a known .
0 2 4 6 8 10 120
0.51
1.52
2.53
3.54
4.5
![Page 10: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/10.jpg)
What is the difference between the three approaches?Create bounds and compare:◦Most notable: for , gated static has a cost
within a factor of 2 of the optimal.◦Also if , we can bound the optimal speed:
◦For large n,
◦Recall: Gated Static is
2
31
,2
min2 n
nsn n
2
nsn
s
![Page 11: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/11.jpg)
Comparing Speed Numerically
![Page 12: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/12.jpg)
Comparing Cost Numerically
![Page 13: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/13.jpg)
Breakdown of CostShould probably be 3
![Page 14: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/14.jpg)
Why use dynamic speed scaling?It’s more complicated than gated static
and it offers little improvementAnswer: RobustnessAll previous schemes have used the
expected load to set speedAdd a scheme not dependent on :
◦Linear:
1
nsn
![Page 15: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/15.jpg)
Load Misestimation
![Page 16: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/16.jpg)
How good is linear?For , it has a cost identical to gated
staticThis implies it is 2-competitiveDoes this graph suggest linear is “much
better” than OA?
2
![Page 17: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/17.jpg)
SummaryDynamic speed scaling is only good for
robustnessWe only need linear scaling to achieve good
results (2OPT) and good robustness (same results regardless of actual arriving load)
Optimal dynamic scaling offers a tiny amount of improvement if the load is known, otherwise it is less robust than linear
![Page 18: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/18.jpg)
Intermission
![Page 19: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/19.jpg)
Some Worst Case ResultsClairvoyant: SRPT + is exactly 2
competitive (lower and upper bounds)Non-Clairvoyant: PS + is
We will skip, but essentially uses modified techniques from previous results, specifically Bansal, et al. 09, and Chan, et al. 09
1
ns
1
ns
ecompetitiv122,24max
![Page 20: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/20.jpg)
More Worst CaseGive a 2-OPT lower bound for all natural
algorithms, defined as:◦Works on a single job between
arrival/completion events (think SRPT)◦Always run at speed proportional to, or faster
or slower than )(1 nP
![Page 21: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/21.jpg)
What about SRPT in the stochastic setting?Will not analytically determine optimal for
SRPT as with PSSpeeds suggested by worst case results for
both SRPT and PS are the same, we’ll use them
Use previous numerical algorithm for optimal under PS to find “optimal” speeds for SRPT
Recall the speed for large n from the first paper
![Page 22: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/22.jpg)
Speeds
![Page 23: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/23.jpg)
Stocastic SRPT and PS
![Page 24: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/24.jpg)
Gated-Static RevisitedCalculating the optimal speed for gated-
static for SRPT is too hard to do analytically
We will approximate it (but not go into any details here)
![Page 25: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/25.jpg)
Gated-Static vs. DP
![Page 26: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/26.jpg)
Robustness
![Page 27: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/27.jpg)
Linear Scaling (Again)
However, linear scaling is not constant competitive…
![Page 28: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/28.jpg)
FairnessSummary: Speed scaling magnifies
unfairnessReason: If SRPT runs no faster than PS
and there is an infinitely large job, the large job is only serviced during idle periods which are shorter for SRPT than PS
Note that SRPT with static speeds is considered fair
![Page 29: Power-Aware Speed Scaling in Processor Sharing Systems](https://reader035.fdocuments.in/reader035/viewer/2022062813/56816556550346895dd7d537/html5/thumbnails/29.jpg)
SummaryScheduling isn’t that important, but
speed is very importantSpeed scaling isn’t really about
performance, it is about robustnessCan’t have optimal, robust, and fair:◦Dynamic: optimal, robust, not fair◦Static: near-optimal, not robust, fair
I omitted: O(1) competitiveness of stochastic policies