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 Machines What are they? 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
VNET: A bridge with long wires 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 VM1 VM2 b1 l1 VM3 b2 l2 b3 l3 b4 l4 vm_compute1 VM1 vm_size1 A2 A3 vm_compute2 VM2 A4 vm_size2 vm_compute3 VM3 A set of ordered 4-tuples, “A” 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 VM1 mapped 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 VM1 VM2 b1 l1 VM3 b2 l2 b3 l3 b4 l4 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 si di bi li A1 (b1) A1 VM1 VM2 b1 l1 VM3 b2 l2 b3 l3 b4 l4 A2 (b2) 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 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 H1 H3 b1 b2 H2 b3 H4 b4 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 H1 H3 b1 b2 H2 b3 H4 b4 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 H1 H2 H4 H3 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 H1 H2 1 H4 H3 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
VNET is publicly available from 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