Resource monitoring and inference. â Application independent ... Resource multiplexing using. OS level mechanism ... by a single image. â¢VMware GSX Server ...
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
2
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 3
Virtual Machine Grid Computing 1
arbitrary amounts of AimDeliver computational power to perform distributed and parallel computations
Traditional Paradigm
New Paradigm
2
Grid Computing
Resource multiplexing using OS level mechanism
3b
5
Grid Computing using virtual machines
4
3a
Problem1:
6a
Complexity from resource Solution user’s perspective
Problem2:
Complexity from resource owner’s perspective
6b
Virtual Machines What are they?
How to leverage them?
4
Virtual Machines Virtual machine monitors (VMMs)
•Raw machine is the abstraction •VM represented by a single image •VMware GSX Server
5
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
6
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 7
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
8
Measurement and Inference Underlying network
Host and VM
• Size and compute capacities
• Topology
• Bandwidth • Latency
[Gupta et al. In submission]
• Size and compute demands
Application (VTTIF) • Topology
• Traffic load
[Gupta et al. LNCS 05]
Application layer VM layer
Virtual network layer VNET daemons
Underlying network layer 9 Physical hosts
Adaptation Mechanisms VM Migration
• Third party migration schemes
Topology changes
• 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 reservation10 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 11
Generic Adaptation Problem In Virtual Execution Environments (GAPVEE) compute2 size2 Input: H2 1. lat12 bw24 bw12
compute1 size1
lat24 bw14
H1
lat14
H4
size4
bw13
lat34 lat13
bw34
H3 compute3
2. VM1 VM2 VM3
compute4
vm_compute1 vm_size1 vm_compute2 vm_size2 vm_compute3 vm_size3
size3
3.
si
di
bi
li
A1
VM1
VM2
b1
l1
A2 A3 A4
VM1
VM3
b2
l2
VM2
VM3
b3
l3
VM3
VM1
b4
l4 12
A set of ordered 4-tuples, “A”
Generic Adaptation Problem In Virtual Execution Environments Output: compute4 size4 Host constraints H2
H4
H1
ma pp ed
A mapping from VMs to Hosts
• Size and compute demands of VMs must be met within host constraints
m ap pe d
d pe ap m
vm_compute1 VM1 vm_size 1
H3
vm_compute2 VM1 vm_size 2
vm_compute3 VM1 vm_size 3
VM demands
13
Generic Adaptation Problem In Virtual Execution Environments Output: compute4 size4 Host constraints H2
H4
H1
VM1
bw13 lat13
A mapping from 4-tuples to Paths
H3 si
di
bi
li
A1
VM1
VM2
b1
l1
A2 A3 A4
VM1
VM3
b2
l2
VM2
VM3
b3
l3
VM3
VM1
b4
l4
A set of ordered 4-tuples, “A”
VM2
VM3
• Bandwidth and latency demands of 4tuples must be met within constraints
Hence
b1 + b2 = lat13
14
Generic Adaptation Problem In Virtual Execution Environments Output: compute4 size4 Host constraints H2
H4
H1
VM1
bw13 lat13 H3 si
di
bi
li
A1
VM1
VM2
b1
l1
A2 A3 A4
VM1
VM3
b2
l2
VM2
VM3
b3
l3
VM3
VM1
b4
l4
A set of ordered 4-tuples, “A”
VM2
H1 VM3
bw13 H3
A1 (b1) A2 (b2)
bw13 – (b1+b2) is the residual capacity of the edge Bottleneck bandwidth: min residual 15 capacity along a path
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 16
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
17
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 18
Special Case of GAPVEE: Routing Problem In Virtual Execution Environments (RPVEE) Input: H2 1. bw24 bw12
bw14
H1
H4
bw13 bw34
H3
2.
si
di
bi
A1
H1
H3
b1
A2 A3 A4
H1
H3
b2
H2
H3
b3
H3
H4
b4
A set of ordered 3-tuples, “A”
19
Special Case of GAPVEE: Routing Problem In Virtual Execution Environments (RPVEE) Output: H2
H4
H1 bw13
H3 si
di
bi
A1
H1
H3
b1
A2 A3 A4
H1
H3
b2
H2
H3
b3
H3
H4
b4
A set of ordered 3-tuples, “A”
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 20 path
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 21
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 22
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 23
Given an arbitrary instance of EDPP si
H2
H4
H1
di
H1
H2
H1
H4
H2
H4
H1
H3
A set of ordered 2-tuples A directed graph G = (H,E)
H3
Converted to a particular instance of RPVEED 1
si
H2
1 1+ ε
1+ε 1 1+ ε
H1 1+ ε
1
1
1+ ε
1
H4
di
bi
H1
H2
1
H1
H4
1
H2
H4
1
H1
H3
1
A set of ordered 3-tuples A complete directed graph G = (H,E)
H3
24
1
A function bw : E -> R
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 25
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) 26
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
27
• 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
28