Beyond the Stars: Revisiting Virtual Cluster Embeddings



Similar documents
Towards Predictable Datacenter Networks

Xiaoqiao Meng, Vasileios Pappas, Li Zhang IBM T.J. Watson Research Center Presented by: Payman Khani

Traffic Engineering for Multiple Spanning Tree Protocol in Large Data Centers

On Tackling Virtual Data Center Embedding Problem

Approximation Algorithms

Predictable Data Centers

Algorithm Design for Performance Aware VM Consolidation

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

CURTAIL THE EXPENDITURE OF BIG DATA PROCESSING USING MIXED INTEGER NON-LINEAR PROGRAMMING

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Algorithm Design and Analysis

Applied Algorithm Design Lecture 5

Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints

Virtual Data Center Allocation with Dynamic Clustering in Clouds

Advanced Computer Networks. Scheduling

Improving MapReduce Performance in Heterogeneous Environments

5.1 Bipartite Matching

Benchmarking Amazon s EC2 Cloud Platform

MapReduce and Distributed Data Analysis. Sergei Vassilvitskii Google Research

Chatty Tenants and the Cloud Network Sharing Problem

Fairness in Routing and Load Balancing

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Bandwidth Allocation in a Network Virtualization Environment

Distributed Computing over Communication Networks: Maximal Independent Set

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation:

Big Data: Big N. V.C Note. December 2, 2014

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Locality-Sensitive Operators for Parallel Main-Memory Database Clusters

CLOUD NETWORKING THE NEXT CHAPTER FLORIN BALUS

Full and Complete Binary Trees

On Orchestrating Virtual Network Functions

ACANO SOLUTION VIRTUALIZED DEPLOYMENTS. White Paper. Simon Evans, Acano Chief Scientist

Steiner Tree Approximation via IRR. Randomized Rounding

MyCloudLab: An Interactive Web-based Management System for Cloud Computing Administration

Power-efficient Virtual Machine Placement and Migration in Data Centers

Single-Link Failure Detection in All-Optical Networks Using Monitoring Cycles and Paths

Scheduling Shop Scheduling. Tim Nieberg

Guessing Game: NP-Complete?

Network (Tree) Topology Inference Based on Prüfer Sequence

2.3 Convex Constrained Optimization Problems

A Network Flow Approach in Cloud Computing

Towards Predictable Datacenter Networks

Stability of QOS. Avinash Varadarajan, Subhransu Maji

11. APPROXIMATION ALGORITHMS

Modeling and Solving the Capacitated Vehicle Routing Problem on Trees

Load balancing in a heterogeneous computer system by self-organizing Kohonen network

A Game Theoretic Formulation of the Service Provisioning Problem in Cloud Systems

Cost Effective Automated Scaling of Web Applications for Multi Cloud Services

Towards an understanding of oversubscription in cloud

Load Balancing Mechanisms in Data Center Networks

Cloud Monitoring Framework

each college c i C has a capacity q i - the maximum number of students it will admit

Managing Network Reservation for Tenants in Oversubscribed Clouds

Strategic planning in LTL logistics increasing the capacity utilization of trucks

THE PROBLEM WORMS (1) WORMS (2) THE PROBLEM OF WORM PROPAGATION/PREVENTION THE MINIMUM VERTEX COVER PROBLEM

Data Caching in Networks with Reading, Writing and Storage Costs

School Timetabling in Theory and Practice

Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach

Virtualization and SDN Applications

COST MINIMIZATION OF RUNNING MAPREDUCE ACROSS GEOGRAPHICALLY DISTRIBUTED DATA CENTERS

System Interconnect Architectures. Goals and Analysis. Network Properties and Routing. Terminology - 2. Terminology - 1

Amazon EC2 XenApp Scalability Analysis

IPOP-TinCan: User-defined IP-over-P2P Virtual Private Networks

Surviving Failures in Bandwidth-Constrained Datacenters

Network Aware Resource Allocation in Distributed Clouds

Installation Guide Avi Networks Cloud Application Delivery Platform Integration with Cisco Application Policy Infrastructure

OVERLAYING VIRTUALIZED LAYER 2 NETWORKS OVER LAYER 3 NETWORKS

Cloud Management: Knowing is Half The Battle

Falloc: Fair Network Bandwidth Allocation in IaaS Datacenters via a Bargaining Game Approach

Monitis Project Proposals for AUA. September 2014, Yerevan, Armenia

2004 Networks UK Publishers. Reprinted with permission.

WORKFLOW ENGINE FOR CLOUDS

Cloud Computing project Report

OpenFlow/SDN for IaaS Providers

Assignment # 1 (Cloud Computing Security)

Building a SQL Server Test Lab. Ted Krueger SQL Server MVP Data Architect

OPTIMAL DESIGN OF DISTRIBUTED SENSOR NETWORKS FOR FIELD RECONSTRUCTION

Transcription:

Beyond the Stars: Revisiting Virtual Cluster Embeddings Matthias Rost Technische Universität Berlin September 7th, 2015, Télécom-ParisTech Joint work with Carlo Fuerst, Stefan Schmid Published in ACM SIGCOMM CCR Volume 45 Issue 3, July 2015 Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 1

Introduction 1 Introduction Problem Space: Running Applications in the Cloud Application Abstractions: The VC Abstraction 2 The classical VC Embedding Problem Overview Definition: VC Embedding Problem VC-ACE Algorithm 3 Hose-Based Virtual Cluster Embeddings Motivation Definition: Hose-Based VC Embedding Problem Computational Complexity of HVC Embeddings Computing (Fractional) HVC Embeddings 4 Computational Evaluation Experimental Setup Results Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 2

Introduction Problem Space: Running Applications in the Cloud Data Center Applications Virtualization has changed our view on complex computations Virtual machines (VMs) can be spawned within minutes and anywhere on the world (Microsoft Azure, Amazon EC2,... ) Complex tasks can quite easily be distributed to tens or hundreds of servers using frameworks like MapReduce Insight: Application performance does depend on bandwidth availability Facebook traces show that network transfers account for 33% of the execution time [4] Data centers exhibit oversubscription factors of upto 1:240 [6] Customer s application execution time can hardly be estimated! Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 3

Introduction Problem Space: Running Applications in the Cloud Data Center Applications Insight Performance does depend on bandwidth availability How to achieve resource isolation? New topologies limiting the oversubscription factor: Fat trees, MDCubes,... Figure: Fat tree topology [1] Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 4

Introduction Problem Space: Running Applications in the Cloud Data Center Applications Insight Performance does depend on bandwidth availability How to achieve resource isolation? New topologies limiting the oversubscription factor: Fat trees, MDCubes,... Figure: Fat tree topology [1] Novel descriptions of applications embedding algorithms Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 4

Introduction Problem Space: Running Applications in the Cloud Application Specification : Case Study Amazon AWS Customers can select from a huge number of instances Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 5

Introduction Problem Space: Running Applications in the Cloud Application Specification : Case Study Amazon AWS Customers can select from a huge number of instances Customers can select enhanced networking or cluster networking : Instances launched into a common cluster placement group are placed into a logical cluster that provides high-bandwidth, low-latency networking between all instances in the cluster. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 5

Introduction Problem Space: Running Applications in the Cloud Application Specification : Case Study Amazon AWS Customers can select from a huge number of instances Customers can select enhanced networking or cluster networking : Instances launched into a common cluster placement group are placed into a logical cluster that provides high-bandwidth, low-latency networking between all instances in the cluster. Resource Isolation? Best-effort! Level of Specification? Grouping of instances! Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 5

Application Abstractions: The VC Abstraction

Introduction Application Abstractions: The VC Abstraction The Right Level of Abstraction Early 2000s: Virtual Network Embedding Problem Requests are specified as graphs Nodes represent VMs Edges represent inter-vm links - CPU - RAM - Disk - latency - bandwidth Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 7

Introduction Application Abstractions: The VC Abstraction The Right Level of Abstraction Early 2000s: Virtual Network Embedding Problem Requests are specified as graphs Nodes represent VMs Edges represent inter-vm links - CPU - RAM - Disk - latency - bandwidth Pro Concise specification Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 7

Introduction Application Abstractions: The VC Abstraction The Right Level of Abstraction Early 2000s: Virtual Network Embedding Problem Requests are specified as graphs Nodes represent VMs Edges represent inter-vm links - CPU - RAM - Disk - latency - bandwidth Pro Concise specification Contra Do customers know their requirements? Generally: Challenging NP-hard problem! Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 7

Introduction Application Abstractions: The VC Abstraction The Right Level of Abstraction 2011: Virtual Cluster (VC) Abstraction [3] Allows only for star -shaped graphs VMs are connected to logical switch logical switch VMs Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 8

Introduction Application Abstractions: The VC Abstraction The Right Level of Abstraction 2011: Virtual Cluster (VC) Abstraction [3] Allows only for star -shaped graphs VMs are connected to logical switch logical switch VMs Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 8

Introduction Application Abstractions: The VC Abstraction The Right Level of Abstraction 2011: Virtual Cluster (VC) Abstraction [3] Allows only for star -shaped graphs VMs are connected to logical switch Requests are specified by three parameters: N N number of virtual machines C N size of virtual machines B R + bandwidth towards logical switch C 1 B B 2 B N C C... C Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 8

Introduction Application Abstractions: The VC Abstraction The Right Level of Abstraction 2011: Virtual Cluster (VC) Abstraction [3] Allows only for star -shaped graphs VMs are connected to logical switch Requests are specified by three parameters: N N number of virtual machines C N size of virtual machines B R + bandwidth towards logical switch C 1 B B 2 B N C C... C Pro Simple specification! Well-performing heuristics for data-center topologies [3, 8] Contra The VM size and the amount of bandwidth are dictated by the maximum wasteful Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 8

Introduction Application Abstractions: The VC Abstraction On Traffic Matrices Graph Abstraction VC Abstraction B {1,2} 1 B {1,3} 2 3 B {2,3} 1 B B 2 B 3 Allows for any traffic matrix M, where the bandwidth for edge {i, j} is less than B {i,j}. Allows for any traffic matrix M, where for any VM the sum of outgoing and incoming traffic is less than B Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 9

The classical VC Embedding Problem Overview Outlook Previous works... only considered (fat) trees only considered heuristics Ballani et al.: Oktopus [3] allocating virtual cluster requests on graphs with bandwidthconstrained edges is NP-hard Xie et al.: Proteus [8] [Our algorithm] picks the first fitting lowest-level subtree out of all such lowest-level subtrees. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 10

The classical VC Embedding Problem Overview Outlook Previous works... only considered (fat) trees only considered heuristics Ballani et al.: Oktopus [3] allocating virtual cluster requests on graphs with bandwidthconstrained edges is NP-hard Xie et al.: Proteus [8] [Our algorithm] picks the first fitting lowest-level subtree out of all such lowest-level subtrees. Main Questions Is the VC embedding problem really NP-hard to solve? Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 10

Formal Definition of the VC Embedding Problem

The classical VC Embedding Problem Definition: VC Embedding Problem VC Embedding Problem Defintion VC request: N, B, C VC = (V VC, E VC ), V VC = {1, 2,..., N, center} E VC = {{i, center} 1 i N } Physical Network (Substrate) S = (V S, E S, cap, cost), cap : V S E S N cost : V S E S R 0 Task: Find a mapping of... VMs onto substrate nodes map V : V VC V S, and VC edges onto paths in the substrate map E : E VC P(E S ) Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 12

The classical VC Embedding Problem Definition: VC Embedding Problem VC Embedding Problem Defintion VC request: N, B, C VC = (V VC, E VC ), V VC = {1, 2,..., N, center} E VC = {{i, center} 1 i N } Physical Network (Substrate) S = (V S, E S, cap, cost), cap : V S E S N cost : V S E S R 0 Task: Find a mapping of... VMs onto substrate nodes map V : V VC V S, and VC edges onto paths in the substrate map E : E VC P(E S ), such that 1 map E ({u, v}) connects map V (u) and map V (v) for {u, v} E VC Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 12

The classical VC Embedding Problem Definition: VC Embedding Problem VC Embedding Problem Defintion VC request: N, B, C VC = (V VC, E VC ), V VC = {1, 2,..., N, center} E VC = {{i, center} 1 i N } Physical Network (Substrate) S = (V S, E S, cap, cost), cap : V S E S N cost : V S E S R 0 Task: Find a mapping of... VMs onto substrate nodes map V : V VC V S, and VC edges onto paths in the substrate map E : E VC P(E S ), such that 1 map E ({i, j}) connects map V (i) and map V (j) for {i.j} E VC 2 v V VC \ {center} v = map V (v ) C cap(v) and e E VC e map E (e ) B cap(e) for v V S, e E S Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 12

The classical VC Embedding Problem Definition: VC Embedding Problem VC Embedding Problem Defintion Task: Find a mapping of... VMs onto substrate nodes map V : V VC V S, and VC edges onto paths in the substrate map E : E VC P(E S ), such that 1 map E ({u, v}) connects map V (u) and map V (v) for {u, v} E VC 2 v V VC \ {center} v = map V (v ) C cap(v) and 3 minimizing the cost C e E VC e map E (e ) v V VC \{center} B cap(e) for v V S, e E S cost(map V (v)) + B e E VC e map E (e ) cost(e). Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 12

VC-ACE Algorithm

The classical VC Embedding Problem VC-ACE Algorithm Key Insights Lemma We can assume B = C = 1. Proof idea. If B 1, C 1, we transform the substrate by scaling capacities and costs: cap S (u) = cap(u)/c for u V S cap S (e) = cap(e)/b for e E S cost S (u) = cost(u) C for u V S cost S (e) = cost(e) B for e E S Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 14

The classical VC Embedding Problem VC-ACE Algorithm Key Insights Lemma We can solve the edge embedding problem if all nodes are placed. Proof. 1 Construct extended graph with additional node s + and (parallel) edges: {(s +, map V (i)) i {1,..., N }} of capacity 1 and cost 0 2 Compute a minimum cost flow of value N from s + to map V (center). 3 Perform a path-decomposition to obtain mapping for edges. 2 a b a b 1 source s + 3 d c d target c Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 15

The classical VC Embedding Problem VC-ACE Algorithm Key Insights Lemma We can solve the embedding problem if the logical switch is placed. Proof. 1 Construct extended graph with additional edges {(s +, u) u V S }, cap(s +, u) = cap(u) and cost(s +, u) = cost(u) for u V S 2 Compute a minimum cost flow of value N from s + to map V (center). 3 Perform path-decomposition to obtain mapping for nodes and edges. 2? cap(a) = 3 cap(b) = 2 a b a b 1? source s + 3? d c cap(d) = 1 cap(c) = 1 d target c Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 16

The classical VC Embedding Problem VC-ACE Algorithm Key Insights Lemma We can solve the embedding problem if the logical switch is placed. Proof. 1 Construct extended graph with additional edges {(s +, u) u V S }, cap(s +, u) = cap(u) and cost(s +, u) = cost(u) for u V S 2 Compute a minimum cost flow of value N from s + to map V (center). 3 Perform path-decomposition to obtain mapping for nodes and edges. flow = 2 a b 2 a b source s + flow = 2 1 flow = 1 d target c 3 d c Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 16

The classical VC Embedding Problem VC-ACE Algorithm VC-ACE Algorithm Idea Simply iterate over possible locations for the center. Algorithm 1: The VC-ACE Algorithm Input: Substrate S = (V S, E S ), request (N, B, C) Output: Optimal VC mapping map V, map E if feasible (ˆf, ˆv) (null, null) for v V S do V S = V S {s + } and E S = E S {(s +, u) u V S } cap { S (e) = cap(e)/b, if e E S cap(u)/c, if e = (s +, u) E { S cost(e) B, if e E S cost S (e) = cost(u) C, if e = (s +, u) E S f MinCostFlow(s +, v, N, V S, E S, cap S, cost S ) if f is feasible and cost(f ) < cost(ˆf ) then (ˆf, ˆv) (f, v) if ˆf = null then return null return DecomposeFlowIntoMapping(ˆf, ˆv) Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 17

The classical VC Embedding Problem VC-ACE Algorithm VC-ACE Algorithm Idea Simply iterate over possible locations for the center. Theorem Correctness follows from the lemma on the previous slide. Algorithm 2: The VC-ACE Algorithm Input: Substrate S = (V S, E S ), request (N, B, C) Output: Optimal VC mapping map V, map E if feasible (ˆf, ˆv) (null, null) for v V S do V S = V S {s + } and E S = E S {(s +, u) u V S } cap { S (e) = cap(e)/b, if e E S cap(u)/c, if e = (s +, u) E { S cost(e) B, if e E S cost S (e) = cost(u) C, if e = (s +, u) E S f MinCostFlow(s +, v, N, V S, E S, cap S, cost S ) if f is feasible and cost(f ) < cost(ˆf ) then (ˆf, ˆv) (f, v) if ˆf = null then return null return DecomposeFlowIntoMapping(ˆf, ˆv) Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 17

The classical VC Embedding Problem VC-ACE Algorithm VC-ACE Algorithm Theorem The runtime is O ( N (n 2 log n + n m) ) with n = V S and m = E S, when using the successive-shortest path for the flow computation. Corollary. The VC Embedding Problem is not NP-hard. Algorithm 3: The VC-ACE Algorithm Input: Substrate S = (V S, E S ), request (N, B, C) Output: Optimal VC mapping map V, map E if feasible (ˆf, ˆv) (null, null) for v V S do V S = V S {s + } and E S = E S {(s +, u) u V S } cap { S (e) = cap(e)/b, if e E S cap(u)/c, if e = (s +, u) E { S cost(e) B, if e E S cost S (e) = cost(u) C, if e = (s +, u) E S f MinCostFlow(s +, v, N, V S, E S, cap S, cost S ) if f is feasible and cost(f ) < cost(ˆf ) then (ˆf, ˆv) (f, v) if ˆf = null then return null return DecomposeFlowIntoMapping(ˆf, ˆv) Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 17

We can compute optimal solutions in polynomial-time.

We can compute optimal solutions in polynomial-time. Can we do even better?

Can we do even better? Yes,...

Hose-Based Virtual Cluster Embeddings

Hose-Based Virtual Cluster Embeddings Motivation Starting from Scratch VC Abstraction 1 B B 2 B 3 Allows for any traffic matrix M, where for any VM the sum of outgoing and incoming traffic is less than B Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 20

Hose-Based Virtual Cluster Embeddings Motivation Starting from Scratch VC Abstraction 1 B B 2 B 3 Question: What is the purpose of the switch? Allows for any traffic matrix M, where for any VM the sum of outgoing and incoming traffic is less than B Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 20

Hose-Based Virtual Cluster Embeddings Motivation Starting from Scratch VC Abstraction 1 B B 2 B Allows for any traffic matrix M, where for any VM the sum of outgoing and incoming traffic is less than B 3 Question: What is the purpose of the switch? Ballani et al. Oktopus [3] Oktopus allocation algorithms assume that the traffic between a tenant s VMs is routed along a tree. Answer: To route the traffic along a tree. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 20

Hose-Based Virtual Cluster Embeddings Motivation Starting from Scratch VC Abstraction 1 B B 2 B 3 Question: Can we do without the switch? Allows for any traffic matrix M, where for any VM the sum of outgoing and incoming traffic is less than B Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 20

Hose-Based Virtual Cluster Embeddings Motivation Starting from Scratch VC Abstraction Question: Can we do without the switch? 1 B B 2 B 3 Ballani et al. Oktopus [3] Alternatively, the NM [Network Manager] can control datacenter routing to actively build routes between tenant VMs [..] Allows for any traffic matrix M, where for any VM the sum of outgoing and incoming traffic is less than B We defer a detailed study of the relative merits of these approaches to future work. Answer: Yes! Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 20

Hose-Based Virtual Cluster Embeddings Motivation Starting from Scratch VC Abstraction Hose-Based VC Abstraction 1 B 2 B B 1 2 B B 3 B 3 Allows for any traffic matrix M, where for any VM the sum of outgoing and incoming traffic is less than B Allows for any traffic matrix M, where for any VM the sum of outgoing and incoming traffic is less than B Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 21

Hose-Based Virtual Cluster Embeddings Motivation Motivating Example 2 3 1 4 cap = 1 cap = 2 6 5 N = 6, B = C = 1 ring substrate Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 22

Hose-Based Virtual Cluster Embeddings Motivation Motivating Example 2 3 1 4 cap = 1 cap = 2 6 5 N = 6, B = C = 1 ring substrate There exists no solution...... in the classic VC embedding model. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 22

Hose-Based Virtual Cluster Embeddings Motivation Motivating Example 2 3 2 3 1 4 1 allocation = 2 4 6 5 N = 6, B = C = 1 6 Embedding on the same substrate 5 Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 23

Hose-Based Virtual Cluster Embeddings Motivation Motivating Example 2 3 2 3 1 4 1 allocation = 2 4 6 5 6 5 N = 6, B = C = 1 Embedding on the same substrate There exists a solution...... in the hose-based VC model! Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 23

Hose-Based Virtual Cluster Embeddings Motivation Motivating Example 1 2 3 6 allocation = 2 5 Embedding on the same substrate 4 Why allocations of 2 are sufficient: Consider edge e between VMs 6 and 5. The edge is used by routes R(e) = {(1, 5), (2, 5), (3, 6), (4, 6), (5, 6)}. Any valid traffic matrix M will respect: M 1,5 + M 2,5 1 M 3,6 + M 4,6 + M 5,6 1 Hence (i,j) R(e) M i,j 2 holds. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 24

Hose-Based Virtual Cluster Embeddings Motivation Motivating Example II 2 3 1 4 cap = 0 cap = 1 cap = 2 cap = cost = 6 5 N = 6, B = C = 1 extended ring topology Solution costs...... can be arbitrarily higher under the classic star-interpretation! Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 25

Hose-Based Virtual Cluster Embedding Problem

Hose-Based Virtual Cluster Embeddings Definition: Hose-Based VC Embedding Problem Hose-Based VC Embedding Problem (HVCEP) Definition (Clique Graph) V C = {1,..., N }, E C = {(i, j) i, j V C, i < j} Task: Find a mapping of... VC nodes onto substrate nodes map V : V C V S, and VC routes onto paths in the substrate map E : E C P(E S ), such that 1 route (i, j) E C connects map V (i) and map V (j), 2 the mapping of VMs must not violate node capacities (cf. slide 12), Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 27

Hose-Based Virtual Cluster Embeddings Definition: Hose-Based VC Embedding Problem Hose-Based VC Embedding Problem (HVCEP) Definition (Clique Graph) V C = {1,..., N }, E C = {(i, j) i, j V C, i < j} Task: Find a mapping of... VC nodes onto substrate nodes map V : V C V S, and VC routes onto paths in the substrate map E : E C P(E S ), and integral bandwidth reservations l u,v cap(u, v) for {u, v} E S, s.t. 1 route (i, j) E C connects map V (i) and map V (j), 2 the mapping of VMs must not violate node capacities (cf. slide 12), 3 for all valid traffic matrices M ij i.e. (j,i) E C M ji + M ij B holds the bandwidth reservation is not exceeded on any edge {u, v} E S : {i,j} E C :{u,v} map E ({i,j}) M ij l u,v, Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 27

Hose-Based Virtual Cluster Embeddings Definition: Hose-Based VC Embedding Problem Hose-Based VC Embedding Problem (HVCEP) Definition (Clique Graph) V C = {1,..., N }, E C = {(i, j) i, j V C, i < j} Task: Find a mapping of... VC nodes onto substrate nodes map V : V C V S, and VC routes onto paths in the substrate map E : E C P(E S ), and integral bandwidth reservations l u,v cap(u, v) for {u, v} E S, such that 1 route (i, j) E C connects map V (i) and map V (j), 2 the mapping of VMs must not violate node capacities (cf. slide 12), 3 for all valid traffic matrices M i.e. (j,i) E C M ji + M ij B holds the bandwidth reservation is not exceeded on any edge {u, v} E S : {i,j} E C :{u,v} map E ({i,j}) M ij l u,v, 4 minimizing C cost(map V (i)) + B l u,v cost(e). i V C e E S Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 27

Computational Complexity of HVC Embeddings

Hose-Based Virtual Cluster Embeddings Computational Complexity of HVC Embeddings Excursion: VPN Embeddings and the VPN Conjecture Definition (VPN Embedding Problem (VPNEP) [7]) Given: Substrate network G = (V, E) with edge costs cost : E R + 0 Set of terminals W V with demands b(i) R + for i W Task: Find paths P {i,j} for all pairs i, j W, i j, and bandwidth allocations x e R + 0 on edges e E, s.t. i,j W :i j,p {i,j} M {i,j} x e holds for traffic matrices M, minimizing the cost e E cost(e) x e. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 29

Hose-Based Virtual Cluster Embeddings Computational Complexity of HVC Embeddings Excursion: VPN Embeddings and the VPN Conjecture Definition (VPN Embedding Problem (VPNEP) [7]) Given: Substrate network G = (V, E) with edge costs cost : E R + 0 Set of terminals W V with demands b(i) R + for i W Task: Find paths P {i,j} for all pairs i, j W, i j, and Theorem bandwidth allocations x e R + 0 on edges e E, s.t. i,j W :i j,p {i,j} M {i,j} x e holds for traffic matrices M, minimizing the cost e E cost(e) x e. Finding a feasible solution for the capacitated VPNEP is NP-hard [7]. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 29

Hose-Based Virtual Cluster Embeddings Computational Complexity of HVC Embeddings Excursion: VPN Embeddings and the VPN Conjecture Definition (VPN Embedding Problem (VPNEP) [7]) Given: Substrate network G = (V, E) with edge costs cost : E R + 0 Set of terminals W V with demands b(i) R + for i W Task: Find paths P {i,j} for all pairs i, j W, i j, and Theorem bandwidth allocations x e R + 0 on edges e E, s.t. i,j W :i j,p {i,j} M {i,j} x e holds for traffic matrices M, minimizing the cost e E cost(e) x e. Finding a feasible solution for the capacitated VPNEP is NP-hard [7]. Theorem (By reduction from the VPNEP) Finding a feasible solution for the HVCEP is NP-hard. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 29

Hose-Based Virtual Cluster Embeddings Computational Complexity of HVC Embeddings Excursion: VPN Embeddings and the VPN Conjecture Definition (VPN Embedding Problem (VPNEP) [7]) Given: Substrate network G = (V, E) with edge costs cost : E R + 0 Set of terminals W V with demands b(i) R + for i W Task: Find paths P {i,j} for all pairs i, j W, i j, and bandwidth allocations x e R + 0 on edges e E, s.t. i,j W :i j,p {i,j} M {i,j} x e holds for traffic matrices M, minimizing the cost e E cost(e) x e. Theorem (VPN Conjecture) Tree routing and arbitrary routing solutions coincide for the VPNEP on uncapacitated graphs. [5]. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 29

Hose-Based Virtual Cluster Embeddings Computational Complexity of HVC Embeddings Excursion: VPN Embeddings and the VPN Conjecture Definition (VPN Embedding Problem (VPNEP) [7]) Given: Substrate network G = (V, E) with edge costs cost : E R + 0 Set of terminals W V with demands b(i) R + for i W Task: Find paths P {i,j} for all pairs i, j W, i j, and bandwidth allocations x e R + 0 on edges e E, s.t. i,j W :i j,p {i,j} M {i,j} x e holds for traffic matrices M, minimizing the cost e E cost(e) x e. Theorem (VPN Conjecture) Tree routing and arbitrary routing solutions coincide for the VPNEP on uncapacitated graphs. [5]. Theorem (Via the VPN Conjecture) Algorithm VC-ACE solves the HVCEP when capacities are sufficiently large! Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 29

Computing (Fractional) HVC Embeddings

Hose-Based Virtual Cluster Embeddings Computing (Fractional) HVC Embeddings A Mixed-Integer Programming Formulation for the HVCEP Variables x i u y i,j u.v l u.v mapping of VM i onto node u mapping of link (i, j) V C onto (directed) substrate edge (u, v) load on substrate edge {u, v} ω i uv dual variable for allocation of communications of VM i on edge {u, v} Mixed-Integer Program 1: HVC-OSPE min cost u xu i + cost u,v l uv (1) i V C,u V S {u,v} E S xu= i 1 i V C. (2) u V S σ u (xu i xu i+1 ) 0 i V C \ {N }. (3) u V S C xu i cap u u V S. (4) i V C (u,v) δ + u y ij uv (v,u) δ u l uv cap uv {u, v} E S. (5) y ij vu = x i u x j u (i, j) E C, (6) u V S. i V C B ω i uv l uv {u, v} E S. (7) y ij uv + y ij vu ωi uv + ω j uv (i, j) E C, (8) {u, v} E S. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 31

Hose-Based Virtual Cluster Embeddings Computing (Fractional) HVC Embeddings A Mixed-Integer Programming Formulation for the HVCEP Explanation (2) - (4) control the VM embedding (5) - (8) is adapted from Altin et al. [2] for computing the optimal hose allocations on edges Mixed-Integer Program 2: HVC-OSPE min cost u xu i + cost u,v l uv (1) i V C,u V S {u,v} E S xu= i 1 i V C. (2) u V S σ u (xu i xu i+1 ) 0 i V C \ {N }. (3) u V S C xu i cap u u V S. (4) i V C (u,v) δ + u y ij uv (v,u) δ u l uv cap uv {u, v} E S. (5) y ij vu = x i u x j u (i, j) E C, (6) u V S. i V C B ω i uv l uv {u, v} E S. (7) y ij uv + y ij vu ωi uv + ω j uv (i, j) E C, (8) {u, v} E S. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 31

Hose-Based Virtual Cluster Embeddings Computing (Fractional) HVC Embeddings A Mixed-Integer Programming Formulation for the HVCEP Explanation (2) - (4) control the VM embedding (5) - (8) is adapted from Altin et al. [2] for computing the optimal hose allocations on edges Observation There are O(N 2 E S ) binary variables for computing paths. Mixed-Integer Program 3: HVC-OSPE min cost u xu i + cost u,v l uv (1) i V C,u V S {u,v} E S xu= i 1 i V C. (2) u V S σ u (xu i xu i+1 ) 0 i V C \ {N }. (3) u V S C xu i cap u u V S. (4) i V C (u,v) δ + u y ij uv (v,u) δ u l uv cap uv {u, v} E S. (5) y ij vu = x i u x j u (i, j) E C, (6) u V S. i V C B ω i uv l uv {u, v} E S. (7) y ij uv + y ij vu ωi uv + ω j uv (i, j) E C, (8) {u, v} E S. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 31

Hose-Based Virtual Cluster Embeddings Computing (Fractional) HVC Embeddings A Mixed-Integer Programming Formulation for the HVCEP Observation There are O(N 2 E S ) binary variables for computing paths. Initial Computational Results Solving this formulation may take up to 1800 seconds for embedding a 10-VM VC onto a 20 node substrate. Mixed-Integer Program 4: HVC-OSPE min cost u xu i + cost u,v l uv (1) i V C,u V S {u,v} E S xu= i 1 i V C. (2) u V S σ u (xu i xu i+1 ) 0 i V C \ {N }. (3) u V S C xu i cap u u V S. (4) i V C (u,v) δ + u y ij uv (v,u) δ u l uv cap uv {u, v} E S. (5) y ij vu = x i u x j u (i, j) E C, (6) u V S. i V C B ω i uv l uv {u, v} E S. (7) y ij uv + y ij vu ωi uv + ω j uv (i, j) E C, (8) {u, v} E S. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 31

Hose-Based Virtual Cluster Embeddings Computing (Fractional) HVC Embeddings A Mixed-Integer Programming Formulation for the HVCEP Further Observations The hardness result has shown that the problem is hard even if the VMs are fixed. The large number of variables necessary for computing each end-to-end path between VMs renders solving even the linear relaxation i.e. dropping integrality constraints computationally hard. Assumptions for obtaining a solvable formulation Assume that the VMs are already mapped. Assume that the hose-paths are splittable, i.e. each VMs are connected by a set of (weighted) paths. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 32

Hose-Based Virtual Cluster Embeddings Computing (Fractional) HVC Embeddings Computing Splittable HVC Embeddings Assumptions Assume that the VMs are already mapped. Assume that the hose-paths are splittable. arbitrarily many paths. map V (i) map V (j) y ij e = 0.5 Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 33

Hose-Based Virtual Cluster Embeddings Computing (Fractional) HVC Embeddings Computing Splittable HVC Embeddings (u,v) δ + u y ij uv (v,u) δ u l uv cap uv {u, v} E S. (5) y ij vu = x i u x j u (i, j) E C, (6) u V S. i V C B ω i uv l uv {u, v} E S. (7) y ij uv + y ij vu ωi uv + ω j uv (i, j) E C, (8) {u, v} E S. map V (i) map V (j) W e δ + (W ) y ij e = 1 This type of constraint is equivalent to (6). Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 33

Hose-Based Virtual Cluster Embeddings Computing (Fractional) HVC Embeddings Computing Splittable HVC Embeddings l uv cap uv {u, v} E S. (5) yuv ij yvu ij = x u i x j (i, j) E u C, (6) (u,v) δ u + (v,u) δu u V S. B ωuv i l uv {u, v} E S. (7) i VC y ij uv + y ij vu ωi uv + ω j uv (u,v) δ + (W ) y ij uv 1 Derivation of a new constraint (i, j) E C, (8) {u, v} E S. (i, j) E C. W V S : map V (i) W, (6 ) map V (j) / W Across a cut W, the amount of flow must be greater than 1 (6 ). By summing up Constraints (8) accordingly, we obtain for (i, j) E C and across any node set W V S with map V (i) W and map V (j) / W that (ωuv i + ωuv) j 1 holds. (u,v) δ + (W ) Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 33

Hose-Based Virtual Cluster Embeddings Computing (Fractional) HVC Embeddings Computing Splittable HVC Embeddings Remarks l uv cap uv {u, v} E S. (5) yuv ij yvu ij = x u i x j (i, j) E u C, (6) (u,v) δ u + (v,u) δu u V S. B ωuv i l uv {u, v} E S. (7) (u,v) δ + (W ) i VC y ij uv + y ij vu ωi uv + ω j uv (u,v) δ + (W ) y ij uv 1 (ω i uv + ω j uv) 1 (i, j) E C, (8) {u, v} E S. (i, j) E C. W V S : map V (i) W, (6 ) map V (j) / W (i, j) E C. W V S : map V (i) W, (9) map V (j) / W Given (9), we can always (re-)construct the flow variables y ij uv afterwards by breadth-first searches. Furthermore, this property does not depend on (6 ). Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 34

Hose-Based Virtual Cluster Embeddings Computing (Fractional) HVC Embeddings Computing Splittable HVC Embeddings l uv cap uv {u, v} E S. (5) yuv ij yvu ij = x u i x j (i, j) E u C, (6) (u,v) δ u + (v,u) δu u V S. B ωuv i l uv {u, v} E S. (7) (u,v) δ + (W ) i VC y ij uv + y ij vu ωi uv + ω j uv (u,v) δ + (W ) y ij uv 1 (ω i uv + ω j uv) 1 (i, j) E C, (8) {u, v} E S. (i, j) E C. W V S : map V (i) W, (6 ) map V (j) / W (i, j) E C. W V S : map V (i) W, (9) map V (j) / W Remarks Therfore Constraints (6), (8), and (6 ) are not needed anymore! Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 34

Hose-Based Virtual Cluster Embeddings Computing (Fractional) HVC Embeddings Computing Splittable HVC Embeddings (u,v) δ + u y ij uv (v,u) δ u l uv cap uv {u, v} E S. (6) y ij vu = x i u x j u (i, j) E C, (7) u V S. i V C B ω i uv l uv {u, v} E S. (8) y ij uv + y ij vu ωi uv + ω j uv (i, j) E C, (9) {u, v} E S. Algorithm 5: HMPR min cost u,v l uv (10) {u,v} E S l uv cap uv {u, v} E S. (11) B ωuv i l uv {u, v} E S. (12) i V C (ωuv i + ωuv) j (i, j) E C. W V S : 1 map V (i) W, (13) map V (j) / W (u,v) δ + (W ) Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 35

Hose-Based Virtual Cluster Embeddings Computing (Fractional) HVC Embeddings Computing Splittable HVC Embeddings Algorithm 6: HMPR min cost u,v l uv (10) {u,v} E S l uv cap uv {u, v} E S. (11) B ωuv i l uv {u, v} E S. (12) i V C (ωuv i + ωuv) j (i, j) E C. W V S : 1 map V (i) W, (13) map V (j) / W (u,v) δ + (W ) Exponential number of constraints,...... which can be separated in polynomial time. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 35

Hose-Based Virtual Cluster Embeddings Computing (Fractional) HVC Embeddings Computing Splittable HVC Embeddings Algorithm 7: HMPR min cost u,v l uv (10) {u,v} E S l uv cap uv {u, v} E S. (11) B ωuv i l uv {u, v} E S. (12) i V C (ωuv i + ωuv) j (i, j) E C. W V S : 1 map V (i) W, (13) map V (j) / W (u,v) δ + (W ) Exponential number of constraints,...... which can be separated in polynomial time. Number of variables,...... in the order of O(N E S ) instead of O(N 2 E S ). Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 35

Hose-Based Virtual Cluster Embeddings Computing (Fractional) HVC Embeddings Computing Splittable HVC Embeddings We can compute fractional edge embeddings,...... but how to find node locations? Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 36

Hose-Based Virtual Cluster Embeddings Computing (Fractional) HVC Embeddings Computing Splittable HVC Embeddings Heuristic Idea without capacities: VC = HVC reuse VC-ACE algorithm, but allow violation of capacities w.r.t. VC model violating capacities induces k times the cost of the original edge Algorithm 5: The HVC-ACE Embedding Heuristic Input: Substrate S = (V S, E S ), request VC(N, B, C), cost factor k 1 Output: Splittable HVC-Embedding map V, map E E S for e E S do E S = E S {e, e } cap S (e) = cap(e) and cap S (e ) = cost S (e) = cost(e) and cost S (e ) = cost(e) k map V, map E VC-ACE(V S, E S, VC(N, B, C)) if map V null then map E HMPR(VC(N, B, C), map V ) if map E null then return map V, map E return null Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 36

Computational Evaluation What do we get by using HVC-ACE?

Computational Evaluation Experimental Setup Setup Topologies Fat trees with 12 port switches and 432 server overall MDCubes consisting of 4 BCubes with 12 port switches and k = 1, such that the topology contains 576 server Figure: Fat tree (n=4) Figure: MDCube (n=2,k=1) Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 38

Computational Evaluation Experimental Setup Setup Generation of Requests N is chosen uniformly at random from the interval {10,..., 30}. B is uniformly distributed in the interval of {20%,..., 100%} w.r.t. to the available capacity of an unused link. C = 1 and the capacity of servers are 2. Generation of Scenarios Requests are embedded over time using the VC-ACE algorithm. After system stabilization, a single data point is generated by considering the performance of both algorithms on the same substrate state and the same request. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 39

Computational Evaluation Experimental Setup Metrics Acceptance Ratio How many requests can VC-ACE embed compared to HVC-ACE? Footprint Change Assuming that both algorithms have found a solution, how much resources do we save by using HVC-ACE (compared to VC-ACE using 100%). Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 40

Results

Computational Evaluation Results Results on Fat Tree Topology Acceptance Ratio [%] 0 20 40 60 80 100 10 15 20 25 30 Request Size VC ACE HVC ACE HVC-ACE can improve acceptance ratio dramatically. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 42

Computational Evaluation Results Results on Fat Tree Topology ECDF(Requests) 0.0 0.2 0.4 0.6 0.8 1.0 60 70 80 90 100 Footprint Change [%] HVC-ACE saves > 10% of resources for more than 20% of the requeusts. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 43

Computational Evaluation Results Results on MDCube Acceptance Ratio [%] 0 20 40 60 80 100 10 15 20 25 30 Request Size VC ACE HVC ACE HVC-ACE can improve acceptance by around 20% on average. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 44

Computational Evaluation Results Results on MDCube ECDF(Requests) 0.0 0.2 0.4 0.6 0.8 1.0 60 80 100 120 140 Footprint Change [%] HVC-ACE saves no resources. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 45

Computational Evaluation Results Conclusion Contributions Showed how to solve the classic VC embedding problem optimally. Defined formally the hose-based VC embedding problem and considered its computational complexity. Derived a compact formulation for the splittable hose edge embedding and the HVC-ACE heuristic for the respective embedding problem. Showed that by using HVC-ACE one may indeed save a substantial amount of resources and increase the acceptance ratio (on fat trees). Bottomline Complexity of specification can often be traded-off with the complexity of the respective embedding algorithms. We need to understand this trade-off better and explore the boundaries of specifications that we can efficiently embed. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 46

Computational Evaluation Results References I [1] M. Al-Fares, A. Loukissas, and A. Vahdat. A scalable, commodity data center network architecture. In ACM SIGCOMM Computer Communication Review, volume 38, pages 63 74. ACM, 2008. [2] A. Altin, E. Amaldi, P. Belotti, and M. c. Pinar. Provisioning virtual private networks under traffic uncertainty. Networks, 49(1):100 115, Jan. 2007. [3] H. Ballani, P. Costa, T. Karagiannis, and A. Rowstron. Towards predictable datacenter networks. In Proc. ACM SIGCOMM, 2011. [4] M. Chowdhury, M. Zaharia, J. Ma, M. I. Jordan, and I. Stoica. Managing Data Transfers in Computer Clusters with Orchestra. In ACM SIGCOMM, 2011. [5] N. Goyal, N. Olver, and F. B. Shepherd. The VPN conjecture is true. Proc. ACM STOC, 2008. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 47

Computational Evaluation Results References II [6] A. Greenberg, J. R. Hamilton, N. Jain, S. Kandula, C. Kim, P. Lahiri, D. A. Maltz, P. Patel, and S. Sengupta. VL2: a scalable and flexible data center network. In ACM SIGCOMM Computer Communication Review, volume 39 of SIGCOMM 09, pages 51 62. ACM, Acm, 2009. [7] A. Gupta, J. Kleinberg, A. Kumar, R. Rastogi, and B. Yener. Provisioning a virtual private network. In Proc. ACM STOC, 2001. [8] D. Xie, N. Ding, Y. C. Hu, and R. Kompella. The only constant is change: Incorporating time-varying network reservations in data centers. In Proc. ACM SIGCOMM, pages 199 210, 2012. Matthias Rost (TU Berlin) Revisiting Virtual Cluster Embeddings Paris, September 2015 48