BurScale: Using Burstable Instances for Cost-Effective Autoscaling - - PowerPoint PPT Presentation

burscale using burstable instances for cost effective
SMART_READER_LITE
LIVE PREVIEW

BurScale: Using Burstable Instances for Cost-Effective Autoscaling - - PowerPoint PPT Presentation

BurScale: Using Burstable Instances for Cost-Effective Autoscaling in the Public Cloud Ata Fatahi , Timothy Zhu, Bhuvan Urgaonkar 1 Problem and Motivation 1 day Wikipedia access trace Context: Autoscaling in the cloud Load Variability


slide-1
SLIDE 1

BurScale: Using Burstable Instances for Cost-Effective Autoscaling in the Public Cloud

Ata Fatahi, Timothy Zhu, Bhuvan Urgaonkar

1

slide-2
SLIDE 2

Load Variability

1 day Wikipedia access trace

Problem and Motivation

  • Context:

Autoscaling in the cloud

  • Problem:

Uses expensive regular instances

  • Solution:

Use cheaper burstable instances Goal: Cost-effective autoscaling using burstable instances

Short-term Burstiness

30 second Wikipedia access trace

SALE

UP TO

95%

OFF

2

slide-3
SLIDE 3

Burstable Instances

  • CPU capacity rate-limited by a token (credit) bucket mechanism
  • Credits accrue at baseline rate up to max bucket size (24x baseline rate)
  • 1 credit = 100% CPU utilization for 1 min

= 50% CPU utilization for 2 min

  • Example: AWS t3.small accrues 24 credits/hour

= 0.4 credits/min = 40% baseline CPU utilization

r 24 × r

Burstable instance = “Fractional” instance with burst capability

3

slide-4
SLIDE 4

Burstable Instances

  • CPU capacity rate-limited by a token (credit) bucket mechanism
  • Credits accrue at baseline rate up to max bucket size (24x baseline rate)
  • 1 credit = 100% CPU utilization for 1 min

= 50% CPU utilization for 2 min

  • Example: AWS t3.small accrues 24 credits/hour

= 0.4 credits/min = 40% baseline CPU utilization

r 24 × r

Burstable instance = “Fractional” instance with burst capability

Pros

  • Cheaper (up to 95%)

Cons

  • Performance is rate limited
  • Ability to burst
  • More expensive than regular for performance

4

slide-5
SLIDE 5

How to Effectively Use Burstable Instances?

  • 1. How many burstable/regular instances to provision?
  • 2. How to avoid running out of credits?
  • 3. How to handle flash crowds?

5

slide-6
SLIDE 6

Resource Provisioning

  • Scaling policy

Determines # of instances (k)

  • What is the minimum # instances?

R = λ / µ

  • k > R for latency SLOs
  • Square Root Staffing Rule Scaling Policy:

k = R + c√R Idea: Use burstable instances for standby variable capacity

µ µ µ µ k instances Load Balancer Arrival rate (λ) Service rate 40 req/s 10 req/s R instances k - R instances µ µ µ

6

slide-7
SLIDE 7

How to Avoid Running Out of Credits?

  • Problem:

Burstable instances overused à run out of credits

  • Solution:

Unbalance the load

  • How to set weight w?

Solution: Monitor credits & Dynamically adjust weight to earn credits

µ µ µ µ Load Balancer Arrival rate (λ) Service rate 40 req/s 10 req/s R instances k - R instances µ µ µ k instances Load Balancer Weighted Join the Shortest Queue w w w 1 1 1 1

7

slide-8
SLIDE 8

Flash Crowds

  • Flash crowds are unpredictable sudden load increases
  • Challenge:

Delay in acquiring and warming up new resources

  • Solution:

Overprovision capacity (e.g., Netflix Project Nimble) Idea: Use burstable instances for standby capacity

Provisioning delay

Normal Provisioning (𝝁, R) Flash Crowd Provisioning (𝐧𝝁, 𝒏𝑺) BurScale (𝐧𝝁, 𝑺) Overprovisioning m

8

slide-9
SLIDE 9

BurScale Design and Implementation

  • Monitor:
  • Collects system stats
  • Scaling Policy:
  • Determines cluster size
  • Controller:
  • Determines # burstable/regular instances
  • Allocates/deallocates instances
  • Detects flash crowds
  • Adjusts load balancer weights

Burstable Pool Regular Pool Load Balancer Amazon EC2 Instances Cloud Watch Amazon Web Services BurScale Monitor Scaling Policy Controller Metrics Metrics Metrics # of instances Metrics Allocation Request Allocation Config

9

slide-10
SLIDE 10

Evaluation

  • Workload: WikiMedia application using Wikipedia access traces
  • Regular instances: m5.large, 2 vCPUs, $0.096 / hr
  • Burstable instances: t3.small, 2 vCPUs, $0.0208 / hr
  • Moderate cluster size ranging from 20 to 70 instances
  • Comparisons
  • Reg-Only: Cluster of only regular instances
  • BurScale: Combines burstable and regular instances

10

slide-11
SLIDE 11

Handling Transient Queueing

BurScale saves 16.8% in costs

11

slide-12
SLIDE 12

Handling Flash Crowds

BurScale saves 46.3% in costs

12

slide-13
SLIDE 13

Conclusion

  • Goal: Cost-effective autoscaling using burstable instances
  • Challenge: avoid running out of CPU credits
  • Solution: BurScale
  • Selects appropriate number of burstable instances
  • Dynamically adjusts load balancer weights
  • Results: BurScale saves cost while maintaining performance
  • Evaluated under web applications, flash crowds, and stateful caches

BurScale is open-sourced at: https://github.com/psu-cloud/BurScale

µ µ µ µ Load Balancer Arrival rate (λ) Service rate R instances k - R instances µ µ µ k instances Load Balancer Weighted Join the Shortest Queue w w w 1 1 1 1

13