• Keine Ergebnisse gefunden

VNMP-S isN P-complete. Quite obviously, it cannot be harder thanN P since we can guess a solution and check if it satisfies all constraints in polynomial time. To show that it isN P-hard, there are different possibilities for reducing otherN P-hard problems to VNMP-S. One way is shown in [5], but there are also simpler reductions, for which we will present the general ideas.

Bin-packing can be reduced to VNMP-S by using virtual nodes with their CPU requirements as items to pack, substrate nodes as bins and allowing every mapping from virtual nodes to substrate nodes (i.e., every item can be packed in every bin).

V1

2 1

3

V2

5 4

6

V3

8 7

9

V4

11 10

12

Figure 3.2: VNMP-S when just considering mapping and delay constraints.

A similar reduction can be performed by using the bandwidth requirements of virtual arcs as items to pack. Every item is a virtual network with two nodes and a virtual arc between those nodes. The bandwidth requirement of the virtual arc is the size of the item. The substrate contains one main source and one main target node. The source nodes of all virtual arcs are only allowed to be mapped to the main source node and the target nodes of the virtual arcs only to the main target node in the substrate. In addition, the substrate contains a node for every bin (the bin-nodes). Arcs from the main source node to all bin-nodes and from the bin-nodes to the main target node have the bandwidth capacity of the bin that is represented by the bin-node.

We have seen that by considering only CPU or bandwidth resources,N P-hard problems can be reduced to VNMP-S. The same is possible for the delay constraint. Consider a relaxed version of the VNMP-S where only the delay and mapping restrictions are relevant. By calculating the shortest possible delay of paths between all pairs of substrate nodes, we know for each virtual arcf which mapping combinations ofs(f)andt(f)are allowed. Those are the combinations for which the delay betweenm(s(f))andm(t(f))is≤df. Once we have identified the allowed combinations, we need not consider the delay constraint any further.

Figure 3.2 shows how the remaining problem looks like. In this example, we have to implement a virtual network containing four nodes (V1–V4). Each of those nodes can be mapped to three substrate nodes, for exampleV1 can be mapped to substrate nodes 1–3. The edges present in the figure denote substrate connections that are feasible with respect to the delay constraint. For example, ifm(V1) = 1andm(V2) = 4, then there exists a delay feasible path for virtual arcs betweenV1andV2. Note the use of the plural here as there might be a virtual arc fromV1toV2, fromV2 toV1, or both. An edge is only present if a delay feasible path exists for all virtual arcs.

What we need to do now is to choose a substrate node for each virtual node, such that edges for all virtual arcs can be chosen. MappingV1 to node 1 and V2 to node 6 would not be valid for

example, since there is no edge between those nodes. We have chosenm(V1) = 2,m(V2) = 5, m(V3) = 9, andm(V4) = 12. The selected edges are colored and also show the structure of the virtual network (i.e., which virtual nodes have to be connected).

Given a clustered graph (V1–V4are clusters) as shown in Figure 3.2, it is straight forward to con-struct a VNMP instance corresponding to it. The VNMP instance contains one virtual network, with one node for each cluster. If the graph contains at least one edge between clusters, then there is a corresponding arc between the virtual nodes. The orientation of the arc is arbitrary.

The substrate network is given by the nodes within the clusters and the connections between them. The orientation of the substrate arcs has to be compatible to the corresponding virtual arc. For example, the VNMP instance derived from the graph shown in Figure 3.2 contains a virtual node forV1and a virtual node forV2. Since there are edges between those clusters, there is also a virtual arc between the virtual nodes. We orient it arbitrarily fromV1 (more precisely the virtual node representingV1) toV2. In the substrate network we have nodes 1 and 4 (among others) and an arc between them. They represent a connection betweenV1 andV2. Since we chose an orientation fromV1 toV2, also the substrate arc has to go from node 1 to node 4 in order to be compatible. The mapping constraint we set according to the clusters. All virtual arcs have a delay requirement of 1 and all substrate arcs have a delay of 1.

There is a transformation of theN P-hard graph coloring problem [60] to a clustered graph as shown in Figure 3.2. This transformation was presented in [83, 114], we will just give the main idea here. For the graph coloring problem [60], we are given an undirected graph and a set of colors. To each node, we need to assign a color such that no pair of adjacent nodes is colored the same. For each node in the input graph, we create a cluster of nodes, one node representing a color the original node is allowed to have. For every arc in the input graph, we connect all nodes from the cluster of its source node to all compatible nodes of the cluster of its target node. Nodes are compatible if the colors they represent are different. This creates a structure as shown in Figure 3.2, which in turn can be transformed to a VNMP-S instance (only considering mapping and delay constraints). Thus VNMP-S is N P-hard and the N P-completeness of VNMP-O follows accordingly.

TheN P-completeness of VNMP-O is another reason why we defined additional resource costs Ca. We cannot expect that heuristic methods will always be able to find a valid solution to a VNMP instance if such a solution exists. Therefore, we need a way to guide the search process towards valid solutions, which is achieved by trying to minimizeCa. Another complication with respect to the delay constraints concerns the creation of a (not necessarily valid) solution to a VNMP instance. Previously, we have stated that just adding CPU and bandwidth resources is enough to ensure the existence of a feasible solution to a VNMP instanceif there is a mapping of the virtual nodes such that the delay constraint of all virtual arcs can be satisfied. If we want to construct a feasible solution, we need to check if such a mapping exists and then use it to define the solution. Now we have shown that finding the mapping isN P-complete, so we actually missed our goal that by allowing to buy additional resources, finding a feasible solution to an arbitrary VNMP instance will be easy (i.e., polynomially solvable). We circumvent this prob-lem by using VNMP instances that allow delay feasible impprob-lementing paths for every mapping configuration (see Chapter 5). Chapter 12 contains techniques for dealing with delay changes, so that we do not need to restrict the structure of VNMP instances. Also note that using VNMP

instances that guarantee delay feasible paths for any mapping does not mean that the graph col-oring aspect of VNMP can be ignored. It is very much relevant for VNMP-S and VNMP-O, since we want to find a solution withCa = 0, which means that some delay feasible paths may not be allowed anymore due to bandwidth or CPU constraints.

There is one further problem caused by delay constraints, which occurs when trying to find implementing paths. When trying to find implementing paths for virtual arcs, it is easy to find a path that is valid with respect to the delay constraint by just using a shortest path calculation (with the delay used as distance). However, we are usually not interested in the shortest path, we want to find a good path that satisfies the delay constraint, for some definition of “good”. If we want to find implementing paths such that the final VNMP solution is valid, one approach could be to use arcs where only few bandwidth resources have been used. Trying to find a path with the least amount of used resources on the arcs that satisfies the delay constraint is a Resource Constrained Shortest Path Problem, which is N P-complete [125]. So even when we apply heuristics for finding solutions to a VNMP instance, we have to solveN P-complete problems.

Luckily, the Resource Constrained Shortest Path Problem can be solved in pseudo-polynomial time by Dynamic Programming approaches, for example the one presented in [69], if the arc costs are non-negative.