210 likes | 384 Views
Predictive VM Consolidation on Multiple Resources: Beyond Load Balancing. Lei Lu a , Hui Zhang b , Evgenia Smirnia a , Guofei Jiang b , Kenji Yoshihira b a College of William and Mary, USA. b NEC Laboratories America, USA. Motivation: VM Placement Decision Problem (1).
E N D
Predictive VM Consolidation on Multiple Resources: Beyond Load Balancing • Lei Lua, HuiZhangb, EvgeniaSmirniaa, GuofeiJiangb, Kenji Yoshihirab • aCollege of William and Mary, USA. • bNEC Laboratories America, USA.
Motivation: VM Placement Decision Problem (1) • Placing 4 SPEC CPU2006 instances on 2 machines. • 2 gromacs instances (CPU intensive [CPU: 100%, MEM:15.8% ]) • 2 libquantum instances (CPU, memory intensive [CPU:100%, MEM:81.5%]) Job completion time (seconds) 2335 2195 2445 2445 gromacs libquantum gromacs gromacs 2195 2335 gromacs libquantum 1615 1615 libquantum libquantum Placement option 1. Placement option 2. Placement option 2 leads to more balanced load distribution on (CPU, memory) 2 placement options, which gives the best application performance?
Motivation: VM Placement Decision Problem (2) • Hosting a three-tier web service on 2 machines with virtualization Placement option 1. Median load web server+ App server DB server Placement option 2. web server App server +DB server Placement option 3. Avg response time = 0.175 second web server+ DB server App server Before consolidation (one tier per machine) 3 placement options, which gives the best application performance?
Problem Statement • Virtualized data center user problem: • performance degradation in VM consolidation: • A VM's performance is worse in a consolidated server than it in a dedicated server. • three root causes [Lee et al. 2011] • virtualization overhead [Lu et al. 2011] • resource over-subscription [Chen et al. 2011] • VM cross-interference (the focus of this paper) • resource contentions on multiple types. • Virtualized data center management problem • how to best match multiple resources with specific VMs?
Related Work • VM consolidation on multiple resource types • constrained server minimization, often modeled as a vector bin packing problem. • dimension-aware heuristics [MS Virtual Machine Manager] • keeping resource allocation across dimensions as balanced as possible. • Data center fair job scheduling on multiple resource types • dominant resource fairness [Ghodsi et al. 2011] • generalizes max-min fairness to the field of multiple users making heterogeneous demands on multiple resource types.
Challenges • Load normalization across multiple resource types • 80% CPU utilization ≠ 80% IO utilization on performance impact. • In consolidation, VM performance degradation behaviors depend on bottleneck resource and workload types. • "VMs are unable to share storage and cache resources as aggressively as network and computation resources" [Lee et al. 2011] • VM cross-dependence • 3-VM service system, how to make performance tradeoff among the VMs?
Our contribution • Predictive virtual machine consolidation (PREMATCH) • focuses on how to best co-locate different VMs within different servers such that performance interference between co-located VMs is minimized. • Two-stage method: • For each resource type, we apply load balancing algorithm to find placement options. • Use queuing model to predict the performance of each option and choose the one with best performance. Recommended consolidation scheme PREMATCH architecture
Load Balancing Algorithm • Key Idea: • a min-max load balancing algorithm extended from [chenkuri et al.1999]. • For each resource type, using a primary-dual approach to find the optimal max load, then taking it as a constraint to balance the other resource types. • Please refer to the paper for further details. DISK CPU MEM NET A D C C C Host 1 D F F E B C B D D A Host 2 F A A A D E C F B B Host 3 F E B E E
Predictive Queuing Model • RUBiS benchmark • An example multi-tiered application modeled after eBay.com • Build closed queuing network model for RUBiS Users Web server App server Database
Application profiling (1) • Record per-tier service time (T) • Starts when the server sees “request” packet • Until the server sends “response” packet • Tshark utility • Network demand (Sn) • /proc filesystem in VMM • Avg. demand = • Disk demand (Sd) • Libvirt virtualization APIs or /proc filesystem in VMM • I/O demand = VM VM • CPU demand (Sc) • Implicitly include the demands of memory and cache VMM Tshark CPU sensor NET sensor DISK sensor Hardware packets
Application profiling (2) • RUBiS Profiling result • Accuracy
Result • RUBiS browsing mix with 800 clients • Demands profiling • Load balancing • Queueing model prediction CPU NET/MEM/DISK DB1 DB2 Web1 App2 App1 Web2 Web2 App1 App2 DB2 DB1 Web1 DB1 App1 Queuing model: Web1 DB2 1: App2 2: Web2 option 1 option 2
Result (1) • Accuracy of queuing model • 2 browsing mix workload
Result (1) • Accuracy of queuing model • PLB, random, and worst consolidation comparison
Result (2) • Accuracy of queuing model • browsing and bidding mix workload
Result (2) • Accuracy of queuing model • PLB, random, and worst consolidation comparison
Summary • We address fair load balancing on multiple resources in VM-server association. • Our new predictive load balancing technology • integrates a fast approximation algorithm with closed queueing network modeling, • achieves performance-aware multi-dimensional min-max load balancing.
Motivation: VM Placement Decision Problem (2) • Placement option 2 leads to much better libqunatum application performance. • Libquantum’s job completion time is 36% more in placement option 1. • Gromacs’s job completion time is merely impacted (<5%) Job completion time (seconds) 2335 2195 2445 2445 gromacs libquantum gromacs gromacs 2195 2335 1615 1615 gromacs libquantum libquantum libquantum Placement option 1. Placement option 2. Placement option 2 leads to more balanced load distribution on (CPU, memory)
Motivation: VM Placement Decision Problem (3) • Actual resource demand for the different consolidation options Avg RT = 0.56 second Avg RT = 0.24 second Avg RT = 0.39 second
Results • Browsing mix with 800 clients • Measuring multi-dimensional resource demands • Running load balancing algorithm for each resource • Computing queueing model prediction
Prematch algorithm • Two stages method: • For each resource, we apply load balancing algorithm to generate one candidate placement so that the loads placed on all machines are as “balanced ” as possible. So, at least, 4 candidates placements are generated from this step. • We propose to use queuing network analytic model to the placement option candidates from step 1. It will calculate the performance estimation for each candidate option and output the best one for final solution.