Dynamic Provisioning for Multi-tier Internet Applications Bhuvan Urgaonkar, Prashant Shenoy, Abhishek Chandra, Pawan Goyal University of Massachusetts University of Minnesota Veritas Software India Pvt.

Download Report

Transcript Dynamic Provisioning for Multi-tier Internet Applications Bhuvan Urgaonkar, Prashant Shenoy, Abhishek Chandra, Pawan Goyal University of Massachusetts University of Minnesota Veritas Software India Pvt.

Dynamic Provisioning for Multi-tier
Internet Applications
Bhuvan Urgaonkar, Prashant Shenoy,
Abhishek Chandra, Pawan Goyal
University of Massachusetts
University of Minnesota
Veritas Software India Pvt. Ltd.
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
Internet Applications

Proliferation of Internet applications
auction site


online game
online store
Growing significance in personal, business affairs
Focus: Internet server applications
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
2
Multi-tiered Internet Applications
requests
Load
balancer
database
http

J2EE
Internet applications: multiple tiers
 Example: 3 tiers: HTTP, J2EE app server, database

Replicable components
 Individual tiers: partially or fully replicable
 Example: clustered HTTP, J2EE server, shared-nothing db

Each tier uses a dispatcher: load balancing
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
3
Internet Workloads Are Dynamic

Multi-time-scale variations
1200
Flash crowds
Key issue: How to provide
desired response time
under varying workloads?
0
0
1
2
3
4
5
Time (days)
140K
140000
Request Rate (req/min)

Arrivals per min
 Time-of-day, hour-of-day
120000
100000
80000
60000
40000
20000
0
0
0
0
5
10
12
15
Time (hrs)
20
24
Time (hours)
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
4
Internet Data Center

Internet applications run on
data centers
 Server farms
o Provide computational and
storage resources

Applications share data
center resources

Problem: How should the platform allocate
resources to absorb workload variations?
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
5
Our Provisioning Approach

Flexible queuing theoretic model
 Captures all tiers in the application

Predictive provisioning
 Long-term workload variations

Reactive provisioning
 Short-term variations, flash crowds
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
6
Talk Outline





Introduction
Internet data center model
Existing provisioning approaches
Dynamic capacity provisioning
Implementation and evaluation
Summary
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
7
Data Center Model
Retail
Web site
streaming

Dedicated hosting: each application runs on a subset of
servers in the data center
 Subsets are mutually exclusive: no server sharing
 Data center hosts multiple applications

Free server pool: unused servers
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
8
Single-tier Provisioning

Single tier provisioning well studied [Muse]
 Non-trivial to extend to multiple-tiers


Strawman #1: use single-tier provisioning
independently at each tier
Problem: independent tier provisioning may not
increase goodput
10
14
14 req/s
C=15
C=10
10
C=10.1
dropped
4 req/s
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
9
Single-tier Provisioning

Single tier provisioning well studied [Muse]
 Non-trivial to extend to multiple-tiers


Strawman #1: use single-tier provisioning
independently at each tier
Problem: independent tier provisioning may not
increase goodput
14 req/s
C=15
10.1
14
14
C=20
C=10.1
dropped
3.9 req/s
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
10
Model-based Provisioning

Black box approach
 Treat application as a black box
 Measure response time from outside
 Increase allocation if response time > SLA
o Use a model to determine how much to allocate


Strawman #2: use black box for multi-tier apps
Problems:
 Unclear which tier needs more capacity
 May not increase goodput if bottleneck tier is not replicable
14 req/s
C=15
10.1
14
14
C=20
C=10.1
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
11
Provisioning Multi-tier Apps

Approach: holistic view of multi-tier application
 Determine tier-specific capacity independently
 Allocate capacity by looking at all tiers (and other apps)

Predictive provisioning
 Long-term provisioning: time scale of hours
 Maintain long-term workload statistics
 Predict and provision for the next few hours

Reactive provisioning




Short term provisioning: time scale of several minutes
React to “current” workload trends
Correct errors of long-term provisioning
Handle flash crowds (inherently unpredictable)
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
12
Predictive Provisioning

Workload predictor
 Predicts workload based on past observations

Application model
 Infers capacity needed to handle given workload
past
workload
Predictor
predicted
workload
Model
required
capacity
response time target
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
13
Workload Prediction

Long term workload monitoring
and prediction
 Monitor workload for multiple
days
 Maintain a histogram for each
hour of the day
o
o
Tue
Capture time of day effects
 Forecast based on
o
Mon
Observed workload for that
hour in the past
Observed workload for the
past few hours of the current
day
Wed
Today
 Predict a high percentile of
expected workload
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
14
Model-based Capacity Inference
G/G/1
lpred
G/G/1
G/G/1

Queuing theoretic application model
 Each individual server is a G/G/1 queue
1


 a2   b2
l   E(s) 

2
*
E(r)

E(s)
(


 Derive per-tier E(r) from end-to-end SLA
 Monitor
other parameters and determine l (per-server capacity)

 Use predicted workload lpred to determine # servers per tier
o Assumes perfect load balancing in each tier
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
15
Reactive Provisioning
lactual
lpred

Prediction
error
lerror
>t
time series
Invoke
reactor
allocate
servers
Idea: react to current conditions
 Useful for capturing significant short-term fluctuations
 Can correct errors in predictions

Track error between long-term predictions and actual
 Allocate additional servers if error exceeds a threshold
 Account for prediction errors

Can be invoked if request drop rate exceeds a threshold
 Handles sudden flash crowds


Operates over time scale of a few minutes
Pure reactive provisioning: lags workload
 Reactive + predictive more effective!
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
16
Talk Outline





Introduction
Internet data center model
Existing provisioning approaches
Dynamic capacity provisioning
Implementation and evaluation
Summary
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
17
Prototype Data Center
Server Node
Control Plane



OS
Nucleus
OS
Applications
Apps
Nucleus
OS
Apps
Nucleus
Apps
Resource monitoring
Parameter estimation
Dynamic provisioning
40+ Linux servers
Gigabit switches
Multi-tier applications




Auction (RUBiS)
Bulletin-board (RUBBoS)
Apache, Tomcat (replicable)
Mysql database
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
18
Only Predictive Provisioning

Auction application RUBiS
 Factor of 4 increase in 30 min
Workload
Response time
160
Resp time (msec)
Arrivals per min
140
120
100
80
60
40
20
0
10
20 30 40
Time (min)
50
60
7000
6000
5000
4000
3000
2000
1000
0
0
10 20 30 40 50 60
Time (min)

Predictor fails during [15, 30] resulting in under-provisioning
 Response time violations occur
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
19
Only Reactive Provisioning

Auction application RUBiS
 Factor of 4 increase in 30 min
Response time
7000
140
6000
Resp time (msec)
Arrivals per min
Workload
160
120
100
80
60
40
20
0

10
20 30 40
Time (min)
50
60
5000
4000
3000
2000
1000
0
0
10
20
30
40
50
60
Time (min)
Response time shows oscillatory behavior
 Several response time violations occur
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
20
Predictive + Reactive Provisioning

Auction application RUBiS
 Factor of 4 increase in 30 min
120
100
80
60
40


10
20 30 40
Time (min)
50
60
10
7000
Web servers
App servers
Resp time (msec)
140
20
0
Response time
12
Number of servers
Arrivals per min
Server allocations
Workload
160
8
6
4
2
0
0
10
20 30 40
Time (min)
50
60
6000
5000
4000
3000
2000
1000
0
0
10
20 30 40
Time (min)
50
60
Server allocations increased to match increased workload
Response time kept below 2 seconds
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
21
Summary

Dynamic provisioning for multi-tier applications
 Flexible queuing theoretic model
o
Captures all tiers in the application
 Predictive provisioning
 Reactive provisioning

Implementation and evaluation on a Linux
cluster
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
22
Thank you!
More information at:
http://www.cs.umass.edu/~bhuvan
UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Computer Science
23