ABACUS: An Auction-Based Approach to Cloud Service Differentiation Zhenjie Zhang, Richard Ma, Jianbing Ding, Yin Yang
Service Differentiation in the Cloud • Private Cloud – Improving the utilization of computational capacity
• Public Cloud – Treat jobs differently, based on price and other characteristics, e.g. memory intensive or CPU intensive
Class-based Priorities • Solution adopted by Facebook – Platinum: time critical analysis – Gold: important analysis – Silver: not-important analysis
What’s the incentive for telling the truth on the priority of your job?
Pricing on virtual machines? • Amazon EC2 Spot Instances
Pricing on virtual machines? • The price may change significantly
• The mechanism is not incentive-compatible – The cloud users could gain benefits by playing price games 5 Small 3 Medium
1 Large 1 Medium + 3 Small
Research Goal: A New Resource Bidding Mechanism • From the user’s perspective – Bidding different resources for each job – Claiming the characteristics of the job
• From the cloud system’s perspective – Understand the priorities and demands – Profit maximization – Stable ecosystem
Agenda • • • •
ABACUS framework Auction Component Utility Function Estimation Experiments
ABACUS Framework • Auction-Scheduling-Assignment Cloud system
Job 1 Job 2 Job 3 Job 4 Job 5
R1
J1 J 2 J3 J4 J5 p11 p12 p13 p14 p15
R2
p21 p22 p23 p24 p25
Job submission Scheduling
R1 Pool
R2 Pool
Resource Allocation
Job Submission to Scheduling • Each bid consists of two parts – Budget of the job – A Non-decreasing and concave utility function, e.g. linear function, logarithm function and logistic function (optional) J1: $100, u1(x,y)=3x+2y
Finding a Nash Equilibrium in scheduling, such that the utility of each job is maximized if and only if you tell us the true budget and utility function
J1
J2: $200, u2(x,y)=3x+2y
Auction Component
J2
J3 R1 0.31 0.43 0.25 R2 0.23 0.34 0.41
J3: $150, u3(x,y)=2x+4y
Scheduling
Agenda • • • •
ABACUS framework Auction Component Utility Function Estimation Experiments
Auction Algorithm Framework • How to schedule the allocation probabilities – Partition a job’s total budget bi into sub-budgets {bij} – The allocation probability of job Ji on resource j is Alpha is a balancing parameter
J1: $100 J2: $200
R1 $64
R2 $36
R1
R2
$125 $75 R1
J3: $150
R2
$42 $108
Auction Component
J1
J2
J3 R1 0.31 0.43 0.25 R2 0.23 0.34 0.41
Auction Algorithm Framework • Best response of a job Ji – The optimal sub-budget partitioning to maximize its utility of Ji J1: $100, u1(x,y)=3x+2y
• The auction algorithm computes: – A configuration optimizing every job’s utility
J1: $100 J2: $200
R1 $64
R2 $36
R1
R2
$125 $75 R1
J3: $150
R2
$42 $108
Auction Component
J1
J2
J3 R1 0.31 0.43 0.25 R2 0.23 0.34 0.41
Auction Algorithm framework
• The impact of 𝛼 – When 𝛼 is large, ABACUS is more biased towards high priority / large budgets – When 𝛼 is small, ABACUS more evenly assigns the probabilities
Iterative Algorithm • The algorithm is called whenever there is update on the jobs, e.g. completion, insertion, deletion • Optimizing each job in round robin manner • Each optimization invokes a binary search procedure – Using the concavity property
Theorems • The algorithm always converges • The users always maximize their utility, by telling the maximal budget and true utility function
Agenda • • • •
ABACUS framework Auction Component Utility Function Estimation Experiments
Why do we need utility function estimation? • Two observations – The user may not know his utility model – Similar jobs are run repeatedly
• ABACUS supports bids without a utility function – If the user only submits budget, the system assigns a default utility function to the bid
How to estimate the utility function? • Collect statistics of similar past jobs – The running time of the jobs – The amount of allocated resource in time segments
How to estimate the utility function? • Regression-based weight optimization – On different types of utility models, e.g. linear model, linear logarithm
Agenda • • • •
ABACUS framework Auction Algorithm Utility Function Estimation Experiments
Hadoop Scheduling • Map and Reduce nodes are two types of resources – Assign available node to the jobs based on the probability – Re-compute the probability when job comes and leaves
Map Pool
Reduce Pool
Assignment
Incentive Compatibility • Three users and their job characteristics
• Experimental Environment – Epic, a cluster with 72 nodes in NUS – Hadoop 0.20
Auction computation time • Varying the number of cloud users – It can be finished in milliseconds
Incentive Compatibility • Varying the utility function – Telling the truth maximizes the performance
System Efficiency • Varying the number of users – The performance is comparable to FIFO
Conclusion: ABACUS meets all • From the user’s perspective – Bidding different resources for each job – better performance with a higher bidding price
• From the cloud system’s perspective – Understand the priorities and demands – Profit maximization – Stable ecosystem
• Thank you for your attention • Questions?