ACROSS Workshop at ITC 27, Ghent 11/9/2015
Resource Pricing and Provisioning
Strategies in Cloud Systems: A
Stackelberg Game Approach
Valeria Cardellini, Valerio di Valerio and Francesco Lo Presti
ACROSS Workshop at ITC 27, Ghent 11/9/2015
Talk Outline
Background and Motivation
Provisioning Model and Assumptions
Pricing schemes
Optimal Pricing as IaaS/SaaS Stackelberg Game
Existence of equilibria Equilibria computation
Numerical Examples
Conclusions
ACROSS Workshop at ITC 27, Ghent 11/9/2015
Backgroung and Motivation
Software as a Service – SaaS
Provider’s applications running on a cloud infrastucture
Infrastucture as a Service – IaaS
Compute, storage and network resources as on-demand
service Virtualization techniques - VMs 2 SaaS SaaS IaaS Acquire VMs
ACROSS Workshop at ITC 27, Ghent 11/9/2015
Backgroung and Motivation
Issues
Dynamic Resource Provisioning Pricing Schemes vs Auction
Reserved, on demand, spot
SaaS provider strategies, IaaS strategy
3
SaaS
SaaS IaaS
ACROSS Workshop at ITC 27, Ghent 11/9/2015
Backgroung and Motivation
Issues
Dynamic Resource Provisioning Pricing Schemes vs Auction
Reserved, on demand, spot
SaaS provider strategies, IaaS strategy
ACROSS Workshop at ITC 27, Ghent 11/9/2015
Related work
Too many to mention…with different settings and
assumptions Auction
Welfare maximization Profit maximization
Game Theory/Mechanism Design
Single round – Equilibria Multiple rounds – Bidding strategies » MDP, Reinforcement Learning …
Closest to our (which inspired this work)
Generalized Nash Equilibria (Ardagna et al, TSC ’13)
ACROSS Workshop at ITC 27, Ghent 11/9/2015
Contributions
Formulate the spot VM pricing and provisioning
problem as a Stackelberg game
Provide proof of existence of game equilibria
under suitable assumptions
Algorithms for computing equilibria
ACROSS Workshop at ITC 27, Ghent 11/9/2015
Problem Setting and Assumptions
SaaS providers offer service to end users
Service are hosted on a IaaS Cloud Assume al VMs are equal
Same CPU, memory, etc.
Revenue/penalty depends on the performance offered to their
customers (SLA)
Performance depends on workload and number of allocated VMs Captured by a suitable Utility Function
Saas Providers want to maximize their utility
SaaS utility strictly concave function of number of VMs and
twice differentiable
Diminishing returns
ACROSS Workshop at ITC 27, Ghent 11/9/2015
Problem Setting and Assumptions
IaaS provider sells VMs to SaaS Providers
Different VMs pricing schemes (~ Amazon EC2 offer) Flat instances
Reserved instances, One time payment + fixed time unit rate f
On Demand instances
Fixed time unit rate d
Spot instances
Variable rate s
Typically d > f >> s
Iaas Provider wants to maximize its revenue
ACROSS Workshop at ITC 27, Ghent 11/9/2015
Provisioning Model
Periodic Provisioning
SaaS provision VMs periodically (e.g., every hour) based
on (expected) workload
Each SaaS has a fixed amount of flat it acquired in the past
At the beginning of each time interval:
1. Each SaaS provider determines:
Number of flat instances (he owns) to use (fixed price f) Number of on demand to buy (fixed price d)
How many spot instances to buy (variable price s)
2. IaaS provider determines:
Spot price s
ACROSS Workshop at ITC 27, Ghent 11/9/2015
Provisioning Model
2 step Provisioning
1° step: SaaS providers decide how many flat VMs to
use and how many on demand VMs to buy As to optimize their utility
Assume IaaS provider has enough resources to satisfy flat
and on demand VMs requests
no competition in this step
2° step: IaaS
IaaS provider sells its unused capacity as spot VMs
Cheap
Finite amount -> competition
We study the game arising in the 2° provisioning step
ACROSS Workshop at ITC 27, Ghent 11/9/2015
Two Spot instances Pricing schemes
SaaS announce maximum price they would accept
~ budget constraint
Same Spot Price Model (SSPM): IaaS sets a
unique spot price for all SaaS providers
Users whose max price is lower than actual price will not
get any spot instances
Multiple Spost Price (MSPM): IaaS can set
different price for different SaaS providers Price will not exceed SaaS max price
ACROSS Workshop at ITC 27, Ghent 11/9/2015
Step 2: Different spot prices
SaaS user u
spot price
max spot price su number of
spot VMs
Θu utility function
12
SaaS PROVIDER 1 PROBLEM
Maxs1 Θ1(s1,σ1)
Subject to: residual cap.
u
s
u
å £
SaaS PROVIDER n PROBLEM
Maxsn Θn(sn,σn)
Subject to: residual cap. su
u å £
. . .
IaaS PROVIDER Max Subject to: u s s u u å min s £su £sumax u s u s umax sACROSS Workshop at ITC 27, Ghent 11/9/2015
Step 2: Same spot prices for all SaaS providers
13
SaaS PROVIDER 1 PROBLEM
Maxs1 Θ1(s1,σ)
Subject to: residual cap. s1=0 if s1>σ1max
u
s
u
å £
SaaS PROVIDER n PROBLEM
Maxsn Θn(sn,σ)
Subject to: residual cap. sn=0 if sn>σnmax u s u å £
. . .
IaaS PROVIDER Max Subject to: u s s u å min s £s sACROSS Workshop at ITC 27, Ghent 11/9/2015
Step 2 as Stackelberg game
14
SaaS PROVIDER 1 PROBLEM
Maxs1 Θ1(s1,σ1)
Subject to: residual cap.
u
s
u
å £
SaaS PROVIDER n PROBLEM
Maxsn Θn(sn,σn)
Subject to: residual cap. su
u å £
. . .
IaaS PROVIDER Max Subject to: u s s u u å min s £su £sumax SaaS subgameSTACKELBERG GAME FOLLOWERS
Play a non-cooperative game to maximize their utility
STACKELBERG GAME LEADER
Maximizes its revenue by adjusting the spot price(s)
IaaS provider sets
the spot price(s) SaaS providers return the equilibrium number of spot VMs
u
ACROSS Workshop at ITC 27, Ghent 11/9/2015
SaaS subgame
Fixed spot price vector , compute SaaS equilibrium
Generalized Nash Game
strategy space depends on other players
Jointly Convex Gen. Nash Game
Equilibrium can be computed solving the associated
Variational Inequality (VI)
Associated VI function is strongly monotone
15
SaaS PROVIDER 1 PROBLEM
Maxs1 Θ1(s1,σ1)
Subject to: residual cap.
u
s
u
å £
SaaS PROVIDER n PROBLEM
Maxsn Θn(sn,σn)
Subject to: residual cap. su u
å £
ACROSS Workshop at ITC 27, Ghent 11/9/2015
SaaS subgame
Theorem: there is exactly one variational equilibrium
of the followers subgame
16
SaaS PROVIDER 1 PROBLEM
Maxs1 Θ1(s1,σ1)
Subject to: residual cap.
u
s
u
å £
SaaS PROVIDER n PROBLEM
Maxsn Θn(sn,σn)
Subject to: residual cap. su u
å £
ACROSS Workshop at ITC 27, Ghent 11/9/2015
IaaS Problem
17
SaaS PROVIDER 1 PROBLEM
Maxs1 Θ1(s1,s-1,σ1)
Subject to: residual cap.
u
s
u
å £
SaaS PROVIDER n PROBLEM
Maxsn Θn(sn,s-n,σn)
Subject to: residual cap. su
u å £
. . .
IaaS PROVIDER Max Subject to: u s s u u å min s £su £sumax SaaS subgameIaaS provider sets
the spot price SaaS providers return the equilibrium number of spots VMs
u
ACROSS Workshop at ITC 27, Ghent 11/9/2015
IaaS Problem
is the solution of the SaaS subgame
Theorem: there is at least one Stackelberg
equilibrium of the IaaS game Under both pricing schemes
18 IaaS PROVIDER Max Subject to: u s s u u å min s £su £sumax u s
ACROSS Workshop at ITC 27, Ghent 11/9/2015
IaaS Problem: MSPM
IaaS Problem is Mathematical Problem with
Equilibrium Constraints Cannot be directly solved
Solution computed by solving a sequence of perturbed
(smooth) problem [Facchinei et al ‘99]
19 IaaS PROVIDER Max Subject to: u s s u u å min s £su £sumax u s
ACROSS Workshop at ITC 27, Ghent 11/9/2015
IaaS Problem: SSPM
Need to resort to a brute force approach
1. Discretize the spot price interval 2. Compute SaaS subgame equilibrium
1. Easy, it turns out to be a potential game
3. Pick up the price that corresponds to the largest IaaS
revenue 20 IaaS PROVIDER Max Subject to: u s s u å min s £s s
ACROSS Workshop at ITC 27, Ghent 11/9/2015
Numerical examples: Homogeneous Scenario
SaaS provider capacity 160 VMs
10 SaaS homogenoeus providers, max price 0.5$
Spot price vs SaaS load
21
Number of available and sold spot VMs
ACROSS Workshop at ITC 27, Ghent 11/9/2015
Numerical examples: Heterogenous Scenario
SaaS provider capacity 160 VMs
10 SaaS heterogenous provider, same utility
function but max price=[0:1; 0:14; 0:18; 0:22; 0:26; 0:30; 0:34; 0:38; 0:42; 0:46]$
Spot price vs SaaS load
22
Number of available and sold spot VMs
ACROSS Workshop at ITC 27, Ghent 11/9/2015
Numerical examples: Heterogenous Scenario
SaaS provider capacity 160 VMs
10 SaaS heterogenous provider, same utility
function but max price=[0:1; 0:14; 0:18; 0:22; 0:26; 0:30; 0:34; 0:38; 0:42; 0:46]$
MSPM vs SSPM optimal spot price
23
ACROSS Workshop at ITC 27, Ghent 11/9/2015
Conclusions
Studied Cloud Resource Provisioning problem
Formulated the spot pricing as a Stackelberg game
IaaS as leader
SaaS providers as followers
Considered two pricing schemes
Provided proof of existence of equilibria
Presented algorithms for equilibria computation
Future work
Study multi IaaS/SaaS problem
Extend the work to other provisioning/pricing schemes
Compare the results with auction based schemes