280 likes | 433 Views
An Optimization Problem in Adaptive Virtual Environments. Ananth I. Sundararaj Manan Sanghi Jack R. Lange Peter A. Dinda Prescience Lab Department of Computer Science Northwestern University http://virtuoso.cs.northwestern.edu. Summary.
E N D
An Optimization Problem in Adaptive Virtual Environments Ananth I. Sundararaj Manan Sanghi Jack R. Lange Peter A. Dinda Prescience Lab Department of Computer Science Northwestern University http://virtuoso.cs.northwestern.edu
Summary • Virtual execution environments provide opportunities for dynamic adaptation • Important components are • Resource monitoring and inference • Application independent adaptation mechanisms • Efficient adaptation algorithms • Previously proposed simple heuristics • Significant scope for improvement • In this work • Formalize the adaptation problem • Show that it is NP-hard • Propose future research directions
Outline • Virtual execution environments – An example • Virtuoso system – Introduction • Virtual networks • Measurement and inference (VTTIF) • Adaptation mechanisms (VNET) • Problem formalization • A special case of the adaptation problem • Analysis • Status • Summary
Virtual Machine Grid Computing Deliver arbitrary amounts of computational power to perform distributed and parallel computations Aim 1 Traditional Paradigm New Paradigm 2 5 Grid Computing using virtual machines Resource multiplexing using OS level mechanism Grid Computing 4 3a 3b 6a Problem1: 6b Virtual Machines What are they? Complexity from resource user’s perspective Solution Problem2: How to leverage them? Complexity from resource owner’s perspective
Virtual Machines Virtual machine monitors (VMMs) • Raw machine is the abstraction • VM represented by a single • image • VMware GSX Server
The Simplified Virtuoso Model Virtual networking ties the machine back to user’s home network User’s LAN Specific hardware and performance VM Basic software installation available Orders a raw machine Virtuoso continuously monitors and adapts User
Outline • Virtual execution environments – An example • Virtuoso system – Introduction • Virtual networks • Measurement and inference • Adaptation mechanisms • Problem formalization • A special case of the adaptation problem • Analysis • Status • Summary
Virtual Networks VM traffic going out on foreign LAN Foreign hostile LAN X User’s friendly LAN IP network Virtual Machine Host • A machine is suddenly plugged into a foreign network. What happens? • Does it get an IP address? • Is it a routeable address? • Does firewall let its traffic • through? To any port? Proxy VNET: A bridge with long wires
Measurement and Inference Underlying network Host and VM • Size and compute capacities • Size and compute demands • Topology • Bandwidth • Latency Application (VTTIF) [Gupta et al. In submission] • Topology • Traffic load [Gupta et al. LNCS 05] Application layer VM layer Virtual network layer VNET daemons Underlying network layer Physical hosts
Adaptation Mechanisms VM Migration Topology changes • Overlay links • Overlay forwarding rules • Third party migration schemes [Sundararaj et al. LCR 04, HPDC 05] Resource reservation • Network • CPU [Lange et al. HPDC 05] [Lin et al. GRID 2004] X VM Migration VM layer X Topology changes X VNET daemons Resource reservation Physical hosts
Outline • Virtual execution environments – An example • Virtuoso system – Introduction • Virtual networks • Measurement and inference (VTTIF) • Adaptation mechanisms (VNET) • Problem formalization • A special case of the adaptation problem • Analysis • Status • Summary
Generic Adaptation Problem In Virtual Execution Environments (GAPVEE) Input: compute2 size2 1. H2 lat12 bw24 bw12 lat24 compute1 compute4 bw14 lat14 H4 H1 size1 size4 bw13 lat34 lat13 bw34 H3 compute3 size3 si di bi li 2. 3. A1 vm_compute1 VM1 vm_size1 A2 A3 vm_compute2 VM2 A4 vm_size2 vm_compute3 A set of ordered 4-tuples, “A” VM3 vm_size3
Generic Adaptation Problem In Virtual Execution Environments Output: compute4 size4 Host constraints H2 H4 H1 • A mapping from VMs to Hosts • Size and compute demands of VMs must be met within host constraints mapped H3 mapped vm_compute1 mapped VM1 vm_size1 vm_compute2 vm_compute3 VM1 VM1 vm_size2 vm_size3 VM demands
Generic Adaptation Problem In Virtual Execution Environments Output: compute4 size4 Host constraints H2 H4 VM1 H1 bw13 lat13 • A mapping from 4-tuples to Paths • Bandwidth and latency demands of 4-tuples must be met within constraints H3 VM2 VM3 si di bi li A1 Hence b1 + b2 <= bw13 l1 , l2 >= lat13 A2 A3 A4 A set of ordered 4-tuples, “A”
Generic Adaptation Problem In Virtual Execution Environments Output: compute4 size4 Host constraints H2 H4 VM1 H1 bw13 lat13 H3 H1 bw13 VM2 VM3 H3 A1 (b1) si di bi li A2 (b2) A1 A2 bw13 – (b1+b2) is the residual capacity of the edge Bottleneck bandwidth: min residual capacity along a path A3 A4 A set of ordered 4-tuples, “A”
Generic Adaptation Problem In Virtual Execution Environments • Goal: • VMs to Hosts mapping • Path to each 4-tuple • Meeting all demands within constraints • Such that • Sum of residual bottleneck bandwidth over each mapped path is maximized
Optimizing Objective functions • Many possibilities • Maximizing sum of residual bottleneck bandwidths over each mapped path • Intuition: • Leave the most room for application to increase performance • Minimizing the residual bottleneck capacity • Intuition: • Increase room for other applications to enter system
Outline • Virtual execution environments – An example • Virtuoso system – Introduction • Virtual networks • Measurement and inference (VTTIF) • Adaptation mechanisms (VNET) • Problem formalization • A special case of the adaptation problem • Analysis • Status • Summary
Special Case of GAPVEE: Routing Problem In Virtual Execution Environments (RPVEE) Input: 1. H2 bw24 bw12 bw14 H4 H1 bw13 bw34 H3 2. si di bi A1 A2 A3 A4 A set of ordered 3-tuples, “A”
Special Case of GAPVEE: Routing Problem In Virtual Execution Environments (RPVEE) Output: H2 H4 H1 bw13 H3 • A mapping from 3-tuples to Paths • Bandwidth demands of 3-tuples must be met within constraints • Sum of residual bottleneck bandwidth is maximized over each path si di bi A1 A2 A3 A4 A set of ordered 3-tuples, “A”
Analysis • Theorem 1: RPVEE is NP-hard • Edge Disjoint Path Problem (EDPP) • Arbitrary instance of EDPP • Convert to an instance of RPVEED • A “Yes” solution for RPVEED implies a “Yes” solution for EDPP • A “No” solution for RPVEED implies a “No” solution for EDPP
Edge Disjoint Path Problem (EDPP) • A well known NP-complete problem • Input • A graph G = (H,E) • A set of ordered 2-tuples S = {(si,di), where si, di in H} • Output • “Yes” if for all (si,di) in S, there exist edge disjoint paths from si to di in G = (H,E) • “No” otherwise
Decision version of RPVEE (RPVEED) • Input • A graph G = (H,E) • A function bw: E -> R • A set of ordered 3-tuples S = {(si,di,bi), where si, di in H, bi in R, i = 1,…k} • Output • “Yes” if for all (si,di,bi) in S, there exist paths from si to di in G = (H,E), such that sum of bottleneck bandwidth = k*ε • “No” otherwise
Given an arbitrary instance of EDPP si di H2 H4 H1 A set of ordered 2-tuples A directed graph G = (H,E) H3 Converted to a particular instance of RPVEED si di bi H2 1 1 1+ε 1+ ε 1 1+ ε H4 H1 1 1 1+ ε 1+ ε A set of ordered 3-tuples 1 A complete directed graph G = (H,E) A function bw : E -> R H3 1
Outline • Virtual execution environments – An example • Virtuoso system – Introduction • Virtual networks • Measurement and inference (VTTIF) • Adaptation mechanisms (VNET) • Problem formalization • A special case of the adaptation problem • Analysis • Status • Summary
Status • Previously developed a variety of heuristics (Greedy and Simulated annealing) • Effective in improving performance • Significant scope for improvement • Formalization and analysis, first steps • Generic incarnation hard, focus on special cases • Currently researching the well studied variants of our problem (such as un-splittable flows)
Summary • Virtual execution environments provide opportunities for dynamic adaptation • Important components are • Resource monitoring and inference • Application independent adaptation mechanisms • Efficient adaptation algorithms • Previously proposed simple heuristics • Significant scope for improvement • In this work • Formalize the adaptation problem • Show that it is NP-hard • Propose future research directions
For More Information • Prescience Lab(Northwestern University) • http://plab.cs.northwestern.edu • Virtuoso: Resource Management and Prediction for Distributed Computing using Virtual Machines • http://virtuoso.cs.northwestern.edu • VNET is publicly available from • http://virtuoso.cs.northwestern.edu