Hardness of Approximation and Greedy Algorithms for the Adaptation Problem in Virtual Environments Ananth I. Sundararaj, Manan Sanghi, John R. Lange and Peter A. Dinda {ais,manan,jarusl,pdinda}@cs.northwestern.edu Prescience Lab Department of Electrical Engineering and Computer Science Northwestern University Summary • Virtual execution environments provide opportunities for dynamic adaptation • Important components are – Resource monitoring and inference – Application independent adaptation mechanisms – Efficient adaptation algorithms • In this work – – – – Formalize the adaptation problem Show that it is NP-hard Prove that it is NP-hard to approximate Evaluate greedy heuristics 2 Virtual Machine Grid Computing 1 arbitrary amounts of AimDeliver computational power to perform distributed and parallel computations Traditional Paradigm New Paradigm 2 Resource multiplexing using Grid OS level mechanism Computing 3b 5 Grid Computing using virtual machines 4 3a 6a Problem1: 6b Complexity from resource Solution user’s perspective Problem2: Complexity from resource owner’s perspective Virtual Machines What are they? How to leverage them? 3 Virtual Machines Virtual machine monitors (VMMs) •Raw machine is the abstraction •VM represented by a single image •VMware GSX Server 4 The Simplified Virtuoso Model User’s LAN Virtual networking ties the machine back to user’s home network Orders a raw machine VM Specific hardware and performance Basic software installation available Virtuoso continuously monitors and adapts User 5 Virtual Networks VM traffic going out on foreign LAN Foreign hostile LAN User’s friendly LAN X IP network Host Proxy Virtual Machine 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? VNET: A bridge with long wires 6 Measurement and Inference Underlying network Host and VM • Topology • Size and compute capacities • Bandwidth • Size and compute demands • Latency [Gupta et al. IPDPS 06] Application (VTTIF) • Topology • Traffic load [Gupta et al. LNCS 05] Application layer VM layer Virtual network layer VNET daemons Underlying network layer 7 Physical hosts Adaptation Mechanisms VM Migration Topology changes • Third party migration schemes • Overlay links • Overlay forwarding rules Resource reservation [Sundararaj et al. LCR 04, HPDC 05] • Network [Lange et al. HPDC 05] • CPU X [Lin et al. GRID 2004] VM Migration VM layer X X Topology changes VNET daemons Resource reservation8 Physical hosts Adaptation in Virtuoso Any Adaptation Scheme Infer application’s resource demands input by driving Adaptation such that Defined objective Algorithm matches demands to resources mechanisms function is optimized Measure physically available resources input Adaptation in Virtuoso VTTIF Infers application’s demands input by driving Algorithm matches demands to resources Wren measures available resources input VM Migration, that Topology, routing, Resource reservation Maximizes sum of residual bottleneck bandwidths 9 Optimization Problem • Given the – – – – network traffic load matrix of the application computational intensity in each VM topology of the network load on its links, routers and hosts • What is the – – – – mapping of VMs to hosts overlay topology connecting the hosts forwarding rules on that topology required CPU and network reservations • That – maximizes the application performance? 10 Problem Formulation (MARPVEE) Mapping and Routing Problem in Virtual Execution Environments Measured data Application demands VM to host mapping Constraints Objective function 11 Results • Theorem 1: MARPVEED (decision version) is NP-complete. • • The NP-hardness is established by reduction from the Edge Disjoint Path Problem (EDPP) A simpler problem with only the routing component (RPVEED) is shown to be NP-complete • Theorem 2: For any δ> 0, it is NP-hard to approximate MARPVEE within m1/2- δ unless P=NP. • • EDPP is used to investigate the approximability of MARPVEE. m is the number of edges in the virtual overlay graph 12 Greedy Adaptation Algorithms • Devised two greedy algorithms for mapping VMs to hosts 1. Finds all mappings in a single pass (GreedyMapOne) 2. Other takes two passes over input data (GreedyMapTwo) • Adapted Dijkstra’s shortest path algorithm • • Finds widest path for an unsplittable network flow (GreedyRouting) MARPVEE involves both, mapping and routing network flows • • First apply the mapping algorithm (either one) followed by the routing algorithm Alternatively we can interleave the two 13 Physical Topology 0.89 Virginia, USA 100 Mbit backplane internal bandwidth 10 MB/sec 1.76 IP network 1.58 Illinois, USA 100 Mbit backplane internal bandwidth 11 MB/sec Numbers indicate end-to-end available bandwidth (MB/sec) between the different locations Pittsburgh, USA Application Topology vm1 0.75 vm6 vm2 0.98 Mapping an application topology onto a physical topology 0.56 1.3 vm3 0.56 0.56 0.7 0.98 0.56 0.33 vm5 0.59 vm4 vm7 0.7 vm8 14 An application consisting of two disjoint pieces executing inside of the virtual machines (VMs). The numbers indicate the bandwidth (MB/sec) demand among the communicating pairs Evaluation • Implemented an evaluator to calculate the residual bandwidth for multiple test cases • We evaluated the four algorithm variations in three different settings – randomly generated topologies using BRITE – smaller topologies created by hand – a real world scenario • All the algorithms were found to perform well in most scenarios. • For randomly generated topologies we do not see any differences between the different variations. • However for the topology created by hand and for the real world scenario that result in a clustered setting, the one-pass variation outperforms the two-pass algorithm. • Further, we did not notice in difference between the interleaved and non-interleaved variations. 15 For More Information • Please visit – Virtuoso: Resource Management and Prediction for Distributed Computing using Virtual Machines • http://virtuoso.cs.northwestern.edu – Prescience Lab (Northwestern University) • http://plab.cs.northwestern.edu 16