Online Auctions in IaaS Clouds: Welfare and Profit Maximization with Server Costs Xiaoxi Zhang 1,...

Preview:

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

Recommended