Shanjiang Tang, Bu-Sung Lee, Bingsheng He, Haikun Liu School of Computer Engineering Nanyang Technological University Long-Term Resource Fairness Towards Economic Fairness on Pay-as-you-use Computing Systems
Pay-As-You-Use is Pervasive Charge users based on the amount of resources used over time (e.g., Hourly). Advantages – Elasticity – Flexibility – Cost efficiency Pay-as-you-use is becoming common and popular. – Supercomputing, Cloud Computing 2
Twitter’s Cluster One week data from Twitter production cluster [Delimitrou et. Al. ASPLOS’14] Resource Utilization = User resource demands are heterogeneous. – Users have different demands. – A user’s demand is changing over time. Static provisioning/partitioning causes underutilization. Resource utilization is a critical problem in such pay-as-you-use environments. – Providers waste resources ( waste investment and lose profit). – Users waste money. 3
Resource Sharing can improve resource utilization. – Allow underloaded users to release resources to other users. – Allow overloaded users to temporarily use more resources (from others). Reduce the idle resources at runtime. Resolve resource contention across users. What about fairness? – If the fairness is not solved, resource sharing is unlikely to achieve in pay-as-you-use environments. To Share or Not To Share? 4
Pay-as-you-use Fairness: Resource-as-you-pay The total resources a user gained should be proportional to her payment. This is a Service-Level Agreement (SLA). 60 $ 40 $ A: B: 60% 40% Resource Service A A B B Resource Service = Resources-per-time X service time 5
Example: Amazon EC2 Reserved Instance – Pay one-time fee for a long time in advance – Get discount on the hourly charge over on-demand one. E.g., m3.xlarge: on-demand($0.28/h), reserved instance (0.06/h) Annual UtilizationMedium Utilization RIHeavy Utilization RI 20%-8%-99% 40%30%1% 60%43%34% 80%50% 100%54%60% Table: 3-year RI Percentage Saving Over on-Demand Comparison [data from aws] 6
Desirable Properties in Pay-as- you-use Computing Resource-as-you-pay Fairness Guarantee Non-Trivial Workload Incentive – User should submit non-trivial workload – Be willing to yield to others when no need. – Improve cost-efficiency. Truthfulness – Users cannot get benefits by cheating. – Be honest and friendly to each other. 7
Fair Policy in Existing Systems State-of-the-art: Max-min fairness – Select the user with the minimum allocation/share ratio every time. – Consider the present requirement only (memoryless). Memoryless fairness has severe problems in pay-as-you-use environments, violating the following properties: – Resource-as-you-pay fairness guarantee. – Non-Trivial workload incentive and sharing incentive. – Truthfulness (Users may get benefits by cheating). 8
Problems with MemoryLess Fairness Resource-as-you-pay Fairness Problem – E.g., A, B equally pay for total resource of 100 units. Time New Demand AB t A A B B Accumulate Resource Usage: Accumulate Resource Usage: Unsatisfied Demand A A B B Current Allocation at t1:
Problems with MemoryLess Fairness Resource-as-you-pay Fairness Problem – E.g., A, B equally pay for total resource of 100 units. Time New Demand AB t t A A B B Accumulate Resource Usage: Accumulate Resource Usage: A A B B Unsatisfied Demand Current Allocation at t2:
Problems with MemoryLess Fairness Resource-as-you-pay Fairness Problem – E.g., A, B equally pay for total resource of 100 units. Time New Demand AB t t t A A B B Accumulated resource usage: A A B B Unsatisfied Demand Current Allocation at t3:
Problems with MemoryLess Fairness Resource-as-you-pay Fairness Problem – E.g., A, B equally pay for total resource of 100 units. Time New Demand AB t t t t A A B B Accumulated resource usage: A A B B Unsatisfied Demand Existing Fair Policy fails to satisfy Resource-as-you-pay fairness!!! 12 Current Allocation at t4:
MemoryLess Fairness Violates Sharing Incentives Non-trivial workload and sharing incentive Problem – Yielding resources to others have no benefits. – Suppose A, B, and C equally pay for total resource of 100 units. A has 13 idle resource units. In that case, A can be selfish, either idle or running trivial workloads. CPU A:A: A:A: B:B: B:B: C:C: C:C: A’s idle resource 13
Cheating User Benefits on MemoryLess Fairness Truthfulness Problem – Suppose A, B, C equally pay for a cluster of 100 units, with true demand to be 33, 21 and 80, respectively. – Case 1: all are honest. – Case 2: User A cheats and claims the demand to be A:A: A:A: B:B: B:B: C:C: C:C: A’s cheating get benefits A:A: A:A: B:B: B:B: C:C: C:C: 12 Case 1: A is honest Case 2: A is cheating
Our Work Challenges: can we find a fair sharing policy that satisfies the following properties? – Resource-as-you-pay fairness – Non-trivial workload and sharing incentives – Truthfulness Our Solution: Long-Term Resource Fairness – Ensure resource fairness over a period of time. – With historical information considered. 15
Long-Term Resource Fairness Basic Concept: Loan agreement (Lending w/o interests) – When resources are not needed, users can lend the resources to others. – When more resources are needed, others should give back. Benefit others and user herself. 16
Long-Term Resource Fairness Satisfy Pay-as-you-use Fairness Time New Demand AB t A A B B Accumulated resource usage: Unsatisfied Demand A A B B Current Allocation at t1: A A B B Lend Resources:
Long-Term Resource Fairness Satisfy Pay-as-you-use Fairness Time New Demand AB t t A A B B Accumulated resource usage: A A B B Unsatisfied Demand Current Allocation at t2: A A B B Lend Resources:
Long-Term Resource Fairness Satisfy Pay-as-you-use Fairness Time New Demand AB t t A A B B Accumulated resource usage: A A B B Unsatisfied Demand Current Allocation at t2: A A B B Lend Resources: t3 8050
Long-Term Resource Fairness Satisfy Pay-as-you-use Fairness Time New Demand AB t t t A A B B Accumulated resource usage: A A B B Unsatisfied Demand Current Allocation at t3: A A B B Lend Resources:
Long-Term Resource Fairness Satisfy Pay-as-you-use Fairness Time New Demand AB t t t A A B B Accumulated resource usage: A A B B Unsatisfied Demand Current Allocation at t3: A A B B Lend Resources: t4 6050
Long-Term Resource Fairness Satisfy Pay-as-you-use Fairness Time New Demand AB t t t t A A B B Accumulated resource usage: A A B B Unsatisfied Demand Long-Term Resource Fairness satisfy Resource-as-you-pay fairness. 22 Current Allocation at t4: A A B B Lend Resources:
Other Properties of Long-Term Resource Fairness Satisfy non-trivial workload and sharing incentives – Running trivial workload can waste money. – Not sharing idle resource can waste money. Users cannot get benefits by lying (strategy proof). 23 Proof sketches are in the paper.
LTYARN Implement Long-Term Resource Fairness in YARN – Extend memoryless max-min fairness to long-term max- min fairness. – Add a few components into resource manager Support full long-term and time window-based requirements. Currently support a single resource type (main memory). 24
LTYARN Design Quantum Updater (QU) – Estimates task execution time. – Updates the resource usage history periodically. Resource Controller (RC) – Manages and updates resource for each queue. Resource Allocator (RA) – Performs long-term resource allocation. – Runs when there are pending tasks and idle resources. 25
Evaluation A Hadoop Cluster – 10 nodes, each with two Intel X5675 CPUs (6 cores per CPU with 3.07 GHz), 24GB DDR3 memory, 56GB hard disks. – YARN-2.2.0, configured with 24GB memory per node. Macro-benchmarks – Synthetic Facebook Workload – Purdue Workload – HIVE/TPC-H – Spark 26 Detailed setups are in the paper.
Metrics Evaluation metrics – Fairness degree for each user (>1 for sharing benefits; <1 for sharing loss) – Resource-as-you-pay fairness – Application performance Benchmark scenario – The four macro benchmarks equally share the cluster. – Each benchmark runs in a separate queue. – Window size =1 day. 27
Sharing Benefit/Loss LTYARN enables sharing benefits. Sharing benefit degree: the degree of benefits under sharing cluster over non-sharing case Sharing loss degree : the degree of losses under sharing cluster over non-sharing case (a). YARN 28 (b). LTYARN
Sharing Benefit/Loss LTYARN enables sharing benefits for all applications. (b). LTYARN 29 (a). YARN
Resource-as-you-pay Fairness Results LTYARN achieves resource-as-you-pay fairness. 30
Performance Results 31 Sharing always achieves a better performance. Long-term fairness is comparable to memory-less fairness (max-min).
Conclusions Max-min resource fairness is memoryless and unsuitable for pay-as-you-use computing. We define long-term resource fairness that can satisfy the desirable properties. We develop LTYARN by integrating long-term resource fairness into YARN – Homepage: 32
Future Work Implement Long-Term Resource Fairness in other systems/schedulers. – Mesos, Quincy, Choosy, etc. Extend Long-Term Resource Fairness for multi- resources: – CPU, memory, Network I/O, etc. 33
We are Hosting IEEE CloudCom 2014 in Singapore Deadline for paper submissions: July 31, 2014 Notification of Paper acceptance: September 2, 2014 Conference: December 15-18,
Thanks! Question? 35