Upload
kristin-morton
View
221
Download
0
Tags:
Embed Size (px)
Citation preview
Online Auctions in IaaS Clouds: Welfare and
Profit Maximization with Server Costs
Xiaoxi Zhang 1, Zhiyi Huang 1, Chuan Wu 1,
Zongpeng Li 2, Francis C.M. Lau 1
1 The University of Hong Kong2 University of Calgary
Outline
Background Problem settings Difficulties Mechanism design Performance evaluations Summary
Amazon EC2
Computing resources are packed into VMs by virtualization technology
Users demand for Cloud resources
Why auction
Users can determine their own VM types
Providers can price according to the current demand and supply relationship
Computing resources are limited
Amazon EC2 Spot Instances
Demand: a VM instance
Amazon EC2 Spot Instances
Demand: a VM instance
Our work
Our workTime-variant resource demands—— a customized VM
Start time
End time
• S servers• R types of resources, with known capacities• T time slots• I users• For each user i: • Demands of user i:
Problem settings
• Power consumption of each server can be formulated
Problem settings
Horizontal coordinate: resource(e.g., CPU) utilizationVertical coordinate: power consumption
When Dynamic Voltage Frequency Scaling (DVFS)
server mode is enabled, .
Problem settings
Problem settings
Dynamic Voltage Frequency Scaling (DVFS) server mode is disabled.
Problem settings
Server cost is not considered.
bid serv
erbid i on s ✔ =1 ✗ =0
time slot
resource
VM allocation model
resource allocation constraint
server cost
VM allocation model
1. y = allocated resource amount
2. No resource is over-provisioned
VM allocation model
VM auction: NP-hardSever cost considerationResource reusability
Payment: For welfare maximization: it should be a threshold to filer out low-value bids For profit maximization: it should be as close to bidding price as possible
Challenges with online auction
Upon the arrival of bid i: 1. Use the current price to
calculate the payment on each server: payment(s)= 2. Choose the smallest payment and
the corresponding server . 3. If : Accept bid i. Serve bid i on
. Update . Update . Otherwise: Reject bid i .
Online auction for welfare maximization
Our online auction achieves:
How to update ?
Online auction for welfare maximization
Our online auction achieves: Truthfulness Polynomial time complexity High social welfare ---- competitive
ratio
How to update ?
Online auction for welfare maximization
Our online auction achieves: Truthfulness Polynomial time complexity High social welfare ---- competitive
ratio
How to update ?
Online auction for welfare maximization
Our online auction achieves: Truthfulness Polynomial time complexity High social welfare ---- competitive
ratio
How to update ? Using an online primal-dual framework
Online auction for welfare maximization
An online primal-dual framework
Primal:
Dual:
Lagrange relaxation
An online primal-dual framework
Primal:
Dual:
Lagrange relaxation
Resource
priceUtility of i
An online primal-dual framework
Primal (P): Maximization problem Dual (D): Minimization problem P(or D): Primal(or Dual) objective
value under a feasible primal(or dual) solution
Weak duality: P<=P* <= D*<=D
An online primal-dual framework
Primal (P): Maximization problem Dual (D): Minimization problem P(or D): Primal(or Dual) objective
value under a feasible primal(or dual) solution
Weak duality: P<=P* <= D*<=D
Competitive analysis: P>= (1/α)D
Tight the gap
An online primal-dual framework
Competitive analysis: P>= (1/α)D Pi: The primal objective value after
dealing with bid i Di: The dual objective value after
dealing with bid i In order to get P>= (1/α)D, we
resort to satisfying Pi - Pi-1 >= (1/α) (Di – Di-1), given P0=D0=0.
An online primal-dual framework
In order to guarantee Pi - Pi-1 >= (1/α) (Di – Di-1), we
have:
Solve for each i, r, s, t to minimize α.
What are the goals of our online auction ?
Truthfulness Polynomial time complexity High social welfare ---- competitive ratio
How to update ? Using an online primal-dual framework, we solve , a function of .
Online auction for welfare maximization
How to intuitively understand
Evaluation setup
Google Cluster Data contains information including resource demands (CPU, RAM, Disk), job arrival times and durations.
We translate each job into a VM bid, requesting R = 3 types of resources at the demands extracted from the traces (demand here is not much smaller than Crs ).
Default Parameters: Each time slot is 10 seconds, and a bid arrives every [1, 10]
time slot(s). The duration of each VM is between 10 and 3600 time slots.
Ur =50, Lr =1. hrs~[0.4, 0.6] for CPU, hrs~[0.005, 0.02] for RAM and disk. βrs~[1.7, 2.2] for CPU, βrs~[0.5, 1] for RAM and disk.
The capacity of each type of resource and the number of servers are roughly according to the total amount of demand from all bids multiplying a random number in [0.4, 0.8].
Performance evaluation of welfare maximization
Bar colors: difference with average # of time slots between the bid arrival time to its specified VM start time over all the bids.
Performance evaluation of welfare maximization
Performance evaluation of profit maximization
Bar colors: difference with the ratio between the upper and lower bound of bidding price per unit of resource demand
Summary
We design an online auction to do Cloud resource provisioning for users with time-variant demands.
We consider heterogeneous resources dynamically allocated, released, and reused.
We maximize social welfare with server cost which achieves a good competitive ratio.
We also apply an approach to maximize provider profit which achieves a good competitive ratio.
Thank you
Q&A
Backup Slides
Upon the arrival of bid i: 1. Using the current price of each type of resource
at each time slot within the resource execution duration to calculate the payment on each server:
payment(s)= 2. Choose the smallest payment among all s,
denoted by . The corresponding s is . 3. If : Accept bid i. Allocate resources on
to server bid i. Update . Update . Otherwise: Reject bid i.
Online auction for welfare maximization
uiPrs(t)
relaxation Lagrange
Relaxation
Online primal-dual framework
uiPrs(t)
relaxation
Online primal-dual framework
uiPrs(t)
relaxation
utilitymarginal payment
Online primal-dual framework
uiPrs(t)
relaxation
utilitymarginal payment
payment of bid i
Online primal-dual framework
utilitymarginal payment
payment of bid i
Online primal-dual framework
utilitymarginal payment
payment of bid i
1. Dual Feasibility P >= 1/α D
P*<=D*<=D P >= 1/α P*2. Complementary Slackness of KKT Optimality Condition:For any user i,
Main idea:
Online primal-dual framework
Intuitively, prs(yrs(t)) is a function of marginal cost under some predicted allocated amount.
Why ?Upon Bi’s arrival, for any t, r, s, prs(t)dir(t) > frs(yrs(t)+dir(t)) – frs(yrs(t))
≈ f ’rs(yrs(t))dir(t)
if
How to design prs(t)
Intuitively, prs(yrs(t)) is a function of marginal cost under some predicted allocated amount.
Why ?
Exponential function is growing fast!
if
How to design prs(t)
Pi – Pi-1 >= 1/α ( Di – Di-1 ), given P0 = D0 =0 PI >= 1/α DI α is the competitive ratio
How to design prs(t)
Pi – Pi-1 >= 1/α ( Di – Di-1 ), given P0 = D0 =0 PI >= 1/α DI α is the competitive ratio
How to design prs(t)
Pi – Pi-1 >= 1/α ( Di – Di-1 ), given P0 = D0 =0 PI >= 1/α DI α is the competitive ratio
How to design prs(t)
Show the idea by drawing a picture on the whiteboard
How to design prs(t)
>= bmax
Profit maximization