Eidesstattliche Erklärung
Hiermit erkläre ich, dass ich die vorliegende Arbeit selbstständig und
eigenhändig sowie ohne
unerlaubte fremde Hilfe und ausschließlich unter
Verwendung der aufgeführten Quellen und
Hilfsmittel angefertigt habe.
1 Introduction
Cloud computing deals with the allocation of remote services over the Internet in data centers. This term includes three different service models, each of them being applied for certain scenarios. These are Infrastructure, Platform and SoftwareasaService (IaaS, PaaS and SaaS) [16]. A tenant can lease a software (SaaS), an environment for developing software (PaaS) or computing power and memory (IaaS) as a remote service on demand. These resources are offered by a service provider which is maintaining them in her substrate network. The advantage of such a network is that the resources can be provisioned over the Internet and can be freed again if they are not needed anymore.
Considering a tenant who does not have enough local resources for executing a certain software, she can allocate remote resource of the cloud if the cloud has enough available resources to serve the request. After the execution of the software, the resources are freed again and the provider earns money based on a payperuse business model [16]. This is beneficial for the tenant because instead of buying new hardware for her local network, the tenant could execute her software without additional local resources by using remote resources on demand.
The compute units (including RAM and HDD) that are served by the provider are guaranteed. However, there are in general no such guarantees on the network connecting the allocated elements. This becomes an issue as soon as the allocated virtual machines of a certain tenant need to communicate to each other since the performance of the network becomes unpredictable as soon as its links are congested. Thus, network resources inside the cloud network are not guaranteed.
This problem was a hot topic in the past and therefore models incorporating guaranteed bandwidth demands were studied. One of the most prominent is the virtual cluster model. The virtual cluster (VC) was introduced in 2012 by [2] and describes a simple way to model a tenant’s request and is depicted in Figure 1.
This paper also introduced the virtual cluster embedding (VCE) problem in which the request in terms of a constructed virtual cluster has to be embedded into the substrate network of the provider ensuring guaranteed compute and network resources. The VCE problem is an optimization problem with the objective to minimize the resource footprint when embedding a VC request.
Based on this model, Rost et al. developed in [1] the VCACE algorithm which finds an optimal solution for the VCE problem in polynomial time. Many works have extended the initial model by additional parameters like survivability [10], a heterogeneous bandwidth demand model [11] and an elastic resource reservation property [12]. All these extensions have in common that their algorithms are solving the virtual cluster embedding problem with respect to some additional parameters.
As already indicated before, a tenant’s request arrives in realtime in an online fashion and shall be served as fast as possible. This means that based on the current state of the substrate network, the provider has to find an allocation for the requested amount VMs if enough resources are available since previous requests have already reserved resources. Furthermore, preemption is generally not considered, meaning the embedding algorithm cannot interrupt a current job, such that previously embedded requests cannot be undone. Hence, the virtual cluster embedding problem is an online problem. Such an online scenario is shown in the following example, depicted in the Figures 2 and 3. Figure 4 shows the corresponding offline version.
As seen in Figure 1, a virtual cluster has a starshaped structure, there is a logical switch in the center serving for connecting the virtual machines (VMs) which are attached to it. Each of the VMs of the virtual cluster request ( being the sequence of requests) asks for a certain amount of compute units . The logical switch itself does not consume any resources, it only connects the VMs. Each virtual link connecting a VM to the logical switch demands a bandwidth . These links are undirected. Lastly, a request pays a benefit to the provider when the provider embeds the request. The profit is then the sum of all benefits over the sequence of requests.
Figure 2 shows the initial situation of the online algorithm. The substrate network, here a fattree [7], consisting of switches and physical machines (PMs), is empty. No reservations are performed yet and the sequence of requests , with , arrives in an online fashion, each paying the provider a certain benefit . In this example, we assume that one VM of a VC request consumes a whole PM of the substrate network. The goal of the online algorithm is to minimize the amount of resources (PMs and physical links) consumed by a virtual cluster request, if it can be embedded. By minimizing the resource footprint per request, more resources are left to accept even more requests. The latter results in a higher profit, so that there is a correlation between minimizing the resource footprint and maximizing the profit.
Upon the arrival of request 1 (redmarked), the online algorithm decides that there is enough space for the VC in the substrate network and therefore embeds the request. The online algorithm processed the request in realtime, directly after its arrival. Since request 1 is accepted, the profit of the provider increases by the benefit of this request.
The same procedure is executed for the next two requests. However, at the arrival of request 4 in Figure 3, the algorithm decides to reject the request because there are not enough PM resources left. The VC request demands five VMs but the substrate network has only four free PMs left. Though, it would have been beneficial for the provider to embed this request since its benefit of 50 is higher than the benefit of all previous requests. Thus, accepting any request, that can be embedded, does not provide the highest overall profit for the provider in this example.
In contrast to this, if the provider would have known the sequence of requests over the whole time axes, which is the case in the offline setting of this problem, she could have chosen a subset of requests which maximizes her profit. An example embedding in which requests are also rejected is depicted in Figure 4. The optimal offline algorithm now chooses the best subset of that sequence that maximizes the profit for the provider and embeds it, resulting in a profit of 57 in comparison to a profit of 8 for the online algorithm.
Generally speaking, the optimal offline algorithm finds the best solution for the provider.
In the online version of this problem, the online algorithm cannot select the best subset of the sequence of requests, because it does not know the whole sequence of requests in advance, but has to decide in realtime upon the arrival of a request whether to embed it or not. Thus, it is not guaranteed that the online algorithm’s solution is equal to the optimal offline solution. Since all the previously referenced embedding algorithms are online VCE algorithms they do not guarantee to reach the optimal offline solution.
On the one side, these online algorithms do not ensure that the resource footprint over the whole sequence of requests is minimized, but only the resource footprint per request. They accept any request that arrives online and can be feasibly embedded, which means there are enough resources to serve the request. These algorithms do not include a rejection functionality.
On the other side, minimizing the resource footprint per request also does not yield the maximum profit as seen in the example. These algorithm do not guarantee that a certain fraction of the optimal offline profit is achieved since any feasibly embedable request is accepted. An accepted request may have the worst possible benefit, as seen with . More formally, let be the profit earned by the online algorithm and be the profit earned by the optimal offline algorithm. Then, the online embedding algorithm of the example does not guarantee that holds for any request sequence, which means that the online algorithm does not ensure in general a fraction of the optimal offline profit. An online algorithm which fulfills this inequality for any input sequence and a fixed is called competitive, i.e. it provides a competitive ratio on the profit. Thus, the online embedding algorithm of the example is not competitive. In addition, the referenced online virtual cluster embedding algorithms also do not provide a competitive ratio since they accept any feasibly embedable request. However, a competitive online VCE algorithm may be beneficial for practical applications since it provides a guarantee on the profit although future requests are unknown.
To develop such an algorithm, we apply the primaldual approach for online problems developed in [3]
. They present a framework for developing competitive online algorithms via the primaldual approach for linear programs. They show for certain problems that there is a tradeoff between the competitiveness on the objective function and finding a feasible solution. In the case of the VCE problem, the validity of the capacity constraints of the nodes and edges in the provider’s networks is affected. So, a competitive online VCE algorithm also involves a competitiveness on the violation of the capacity constraints. Hence, they introduce
competitiveness where is the competitive ratio on the objective function and the one on the capacity constraints.The contribution of this thesis are two competitive online virtual cluster embedding algorithms and two heuristic algorithms. The first competitive online algorithm is the General allornothing VNet Packing Online Packing (GVOP) algorithm based on [5] and the second one is the Competitive Online Virtual Cluster Embedding (COVCE) algorithm which is a novel contribution of this thesis. Both algorithms provide a competitive ratio on the profit and the capacity constraints. The difference between them is that each focuses on one of the parameters. The GVOP algorithm is (2, )competitive, where is the sum of the allocations made by embedding for request . The COVCE algorithm is (competitive, where is the size of the substrate graph, is the maximum capacity of any node and edge and being the maximum benefit over the sequence of requests. Additionally, the Greedy VCACE algorithm is implemented which receives a sequence of requests in an online fashion and greedily accepts any requests applying the VCACE algorithm with respect to residual capacities. Furthermore, the COVCEload algorithm is presented which is a combination of the Greedy VCACE algorithm and the COVCE algorithm.
Besides the worstcase guarantees of the competitive online algorithms, we study their performance in several experiments in order to analyze which competitive ratiotuple is more applicable in realistic scenarios. In addition, the heuristic algorithms are also compared to the competitive online algorithms in order to find out whether a noncompetitive online algorithm can compete with the competitive online algorithms. The main questions of this thesis are the following:

How big are the capacity violations of the GVOP and the COVCE algorithm?

How big are the rejection ratios of the GVOP and the COVCE algorithm?

Which approach yields a higher profit per resource violation ratio?

Is there a sweet spot between competitive and noncompetitive algorithms?

When are (non)competitive VCE algorithms better than (non)competitive VCE algorithms?
The thesis is divided into 7 sections. At first some background knowledge is discussed in order to become familiar with the VC model and the VCE in Section 2 and the primaldual approach in Section 3. Afterwards related work is discussed in Section 4 to get an overview of the state of the art. Next, the theoretical contribution of this thesis is described in Section 5. After that, in the evaluation in Section 6, the competitive and noncompetitive online algorithms are tested and compared to each other in several scenarios in order to find out, which algorithm shows advantages or disadvantages in certain scenarios. Lastly, some ideas for future work are presented in Section 7 and the results of this thesis are summarized in the conclusion Section 8.
2 Model
In the following, the virtual cluster model together with the virtual cluster embedding problem are described in order to introduce the setting and the notation. The linear program, the GVOP algorithm [5] and the Competitive Online Virtual Cluster Embedding (COVCE) algorithm are working based on this model.
2.1 Virtual Cluster
The sequence describes the VC requests. The request contains information on the th VC that shall be embedded, . A virtual cluster () [2] has a starshaped topology and is formally described as an undirected graph with virtual machines being connected to a logical switch which form the set of nodes of . Each node in has a capacity of which can be interpreted as compute units, i.e. CPU or memory units of a computer/server. Lastly, the parameter describes the benefit obtained by the provider for embedding . The logical switch only serves as a connector between the VMs to build the virtual cluster and does not consume any resources. The nodes are connected over the undirected virtual links = , where each link has the bandwidth . The virtual machines, except the , of the virtual cluster will be referred to as virtual nodes or VMs and its links as virtual links.
The virtual cluster model is simple because the tenant only has to determine how many VMs she needs, how many compute units to assign to each VM and how much bandwidth is needed between the VMs on this starshaped structure. This is enough information to construct the virtual cluster and to start the virtual cluster embedding algorithm.
The disadvantages of this model are that the VC is a starshaped topology, so that the tenant cannot choose an arbitrary topology when applying VCE algorithms. In addition, the compute units are the same for each VM and the bandwidth is the same on each link, too. In a real world scenario, the bandwidth requirements between each pair of VMs may be different, so that the fixed bandwidth for the VC model can be derived by maximizing over the bandwidths of all virtual links. This can be wasteful because some links receive more resources than they actually need. Thus, there is a tradeoff between the simplicity of the model and therefore easily constructing requests and optimally embedding them, and the fact that this model might consume a redundant amount of resources.
2.2 Substrate Network
The substrate network is the physical network of a service provider who offers its available resources to the tenants. It is the undirected graph with node and link capacities . Additionally, a cost parameter is considered which describes how much the costs for the provider are for using a unit of a certain resource, formally . More precisely, this cost parameter can be interpreted in different ways. For instance, costs can be seen as a load balancing parameter. To this end, the link costs are set inversely proportional to the available (residual) capacity causing a load distribution onto several links. In addition, high costs on a link mitigate link oversubscription because the algorithm prefers links with lower costs. This is used in the COVCE and the GVOP algorithm to limit the oversubscription of nodes and edges in the substrate network. In general, high costs show that not much available capacity is left or that the node or the edge is already oversubscribed.
2.3 Virtual Cluster Embedding
After having introduced the virtual cluster and the substrate network, the virtual cluster embedding (VCE) now connects both these components. It describes a mapping of the virtual cluster’s VMs and the logical switch onto the nodes of the substrate network and a mapping of the corresponding virtual links onto paths of physical links within the substrate network. The virtual link of the VC request is embedded as a path leading from the mapping location of to the mapping location of . The path consists of either a set of physical edges connecting these two physical nodes or is empty, in case that and are mapped onto the same physical node. A valid VCE does not violate any capacities of substrate nodes and links. In the general case, there are several ways to embed the VC of a given request into substrate graph . Formally speaking, denotes the set of all valid VCEs for request . Let be the power set of the set of physical edges. An embedding is the tuple containing the mappings of the virtual nodes and links onto the physical nodes and links, and . As already indicated, the virtual cluster embedding problem deals with finding a valid VCE with minimum cost for a given request . Formally:
(1) 
Thus, solving the VCE problem outputs an optimal embedding that minimizes the summed costs of the allocated node and link resources. To ensure no violations of the resource capacities, the following constraints need to hold:
(2) 
Before dealing with approaches to solve this problem, some fundamental and essential background knowledge to linear programming, which is a method to deal with certain types of optimization problems, is briefly explained.
3 Background
In this section, the necessary background knowledge will be discussed. Our competitive algorithms, presented in Section 5, are inspired by the survey [3]. For this reason, their approach of how to design competitive online algorithms is explained in the following. At first linear programming is briefly introduced because it is the basis for the duality theorem and the consequential primaldual approach for online problems of [3].
3.1 Linear Programming and Duality
To begin with, the most fundamental term linear program (LP) is briefly explained. Linear programming deals with optimization problems in which a linear objective function shall be either minimized or maximized with respect to a set of linear constraints over a set of continuous variables. On the one hand, if the objective function shall be maximized, the final value of the objective function can be interpreted as a maximized profit or benefit. On the other hand, if it shall be minimized, one can interpret it as a minimized cost. The difference between an integer linear program (ILP) and an LP is that the domain of the variables is restricted to integral numbers, so that the variables are discrete and not continuous anymore.
To bring the terms linear programming and duality together, consider the following Example 5 inspired by [4].
maximize the value  
satisfying the constraints  (3)  
(4)  
(5)  
A vector that satisfies the constraints (3)(5) is a feasible solution to the linear program . and define the domain of the variables. To illustrate the previously mentioned definitions, consider Figure 6.
It visualizes the polyhedron that is created by intersecting the five inequalities which are drawn and the intersection of the half planes is marked blue. In other words, all vectors in the marked area are an element of all five half planes and therefore satisfy all inequalities/constraints. Thus, each of these vectors is a feasible solution to the linear program . This marked area is called the feasible region. In general, the latter can be either the empty set, bounded or unbounded. The first case occurs when there exists no assignment to the linear variables that satisfies all linear constraints. In other words, no feasible solution exists, the LP is then said to be infeasible. The second case is depicted by Figure 6 showing that there are feasible solutions in the feasible region and that it is closed, which means that the domains of the linear variables are restricted by the linear constraints. It is though sufficient that the linear variables are restricted in direction of the objective function to state that the linear program is bounded. This implies that there is a vector in this feasible region which maximizes the value of the objective function. This vector is called the optimal solution for this linear program. In the last case, the linear program is said to be unbounded if the domain of some linear variable is not restricted in the direction of the objective function. For example if constraints (3)(5) in do not exist, there does not exist an optimal solution because the value of the objective function is unbounded in the direction of the objective. Thus, the LP is unbounded. After seeing that the feasible region for is closed, the task is to find a certain vector in the feasible region that maximizes the function .
However, this is not the only way to calculate the maximum value of the objective function. There exists the dual linear program to the linear program which describes a minimization problem and its optimal solution results in the same value as the one of , if an optimal solution for exists. Accordingly, the linear program is called the primal linear program.
Primal linear program  Dual linear program  

Variables  
Matrix  
Righthand side  b  c  
Objective Function  max  min  
Constraints  th constraint has  
=  
th constraints has  
= 
In the following, the dualization recipe is shown in Table 1 taken from [4]. This recipe summarizes all the transformations that are needed to construct the dual linear program to a certain primal linear program. If the reader is not familiar with the several steps of this transformation, the reader is recommended to read Chapter 6 of [4].
After discussing a certain linear program , linear programs are now reviewed in a more general form according to the dualzation recipe. The primal linear program is now expressed by
The bold variables stand for vectors. x is the vector of the continuous variables of the primal linear program and is the vector containing the constants by which the variables are multiplied in the objective function. represents the lefthand side of the constraint matrix, each row pertaining to a constraint. The values in the rows and columns are the constants by which the are multiplied in the constraints. b is the vector with the RHS of the constraints, restricting the domain of the linear variables and therefore limiting the maximum value of the objective function. As already mentioned, there exists a dual linear program to describing a minimization problem which yields the same value of the objective function, if an optimal solution exists.
On the one side, in the maximization LP the linear variables on the LHS are increased with the aim to maximize the objective function, being restricted by the linear constraints. Accordingly, some linear constraints may become tight during the execution when increasing the linear variables. When a linear constraints becomes tight, the variables occurring in this constraints cannot be further increased. So, when no further increasing of any variable is possible anymore, the optimal solution is found. In this way, the optimal solution is approached from below. On the other side, in the minimization problem the RHS of the constraints is considered. Instead of increasing the linear variables, the vector shall be minimized in order to restrict the domain of the linear variables as much as possible. In this way, the optimal solution is approached from above. So, minimizing is the objective of the dual linear program. Accordingly, the dual linear program looks like:
Besides, the minimization of is restricted by . In other words, the LHS of the dual minimization linear program’s constraints have to be greater than in order to keep the inequalities valid. The mapping of the operators in Table 1 shows how to dualize the linear program in both directions and that the minimization/maximization problem can be expressed as the primal/dual linear program.
After transforming to , the result is that the value of the objective function of , corresponding to the found dual solution, is an upper bound for maximum value of the objective function of . This bound can be generalized over all feasible primal and dual solutions as the weak duality theorem [4]. Simply said, for each dual feasible solution y of D, the value provides an upper bound on the maximum of the objective function for any feasible solution of the primal linear program P. Formally:
(6) 
It is called the weak duality theorem because it only provides the upper bound of the minimization to the maximization problem. Its proof can be read in [3]. The difference between the values of the primal and dual solution is called the duality gap. It is always greater or equal to zero due to the weak duality theorem. The closer it gets to zero, the closer the primal and dual feasible solutions are to the optimal solution. Other important consequences of this theorem are that if D is bounded, P cannot be unbounded because D has an optimal solution which is then an upper bound for P. Furthermore, if P is bounded, D cannot be unbounded because P then has an optimal solution which lower bounds D. On top of that, P and D cannot be simultaneously unbounded because one of them always bounds the other with a feasible solution. Concluding, the weak duality theorem rules out three out of nine cases between P and D being bounded, unbounded or infeasible. The (strong) duality theorem [4] provides statements to the other six cases.
To sum up, the duality recipe is an algorithmic way to transform a primal to a dual linear program and vise versa. Note that there is no rule that the minimization linear program is always called the dual and the maximization being called the primal, both can be the primal/dual linear program.
3.2 Duality and Online Problems
When analyzing an algorithm, it is the conventional way to ask how high the complexity is in terms of running time. Upon determining the worst case complexity, one can predict how much time is needed to execute the algorithm given the technical details of the computer and the input size for the algorithm.
However, when dealing with algorithms whose input is not completely known before executing it, the focus of interests changes. In an online problem the input is partly unknown to the algorithm and provided in parts during its execution. Upon the arrival of a new input, the online algorithm has to process this input in realtime. Furthermore, in some scenarios (as in this thesis) the online algorithm is not allowed to undo previous decisions. Hence, the challenge is to accomplish as much “profit” as possible under the condition of uncertainty about the input. In other words, the future is unknown to the online algorithm and the algorithm still has to achieve good results. In contrast to this, the offline algorithm knows the sequence of arriving inputs in advance and can therefore select the subset of the best fitting inputs for optimizing the result.
The competitive ratio can be used to measure the performance of an online algorithm. More precisely, it compares the solution of the online algorithm to the solution of the corresponding offline algorithm which optimally solves the problem. Thus, one achieves a relative comparison between an online solution and the best offline solution. Therefore, the competitive ratio works as a metric for measuring how well an online algorithm relatively performs to the optimal offline algorithm. So, the competitive ratio is of most interest besides the run time complexity when dealing with online problems.
More formally, the definition of the competitive ratio is as follows. Consider a maximization optimization problem and a certain instance of this problem. Instance includes a sequence of requests that arrive in an online fashion as described above, such that the online algorithm has to process these requests in realtime. Furthermore, the outcome of such an algorithm solving this problem is interpreted as a profit. Therefore, there is a set of feasible solutions for and each results in a certain profit value . Let be the solution with the maximum profit upon all solutions in . In other words, is the optimal solution for which is computed by an optimal offline algorithm knowing in advance. An online algorithm is called ccompetitive if it achieves, under any instance , at least a profit of of the maximum profit solution . The definition of competitiveness of minimization optimization problems is analogous. Accordingly, the results of the algorithm solving the minimization problem are interpreted as a cost. Therefore, a competitive online algorithm will produce a solution of at most for any instance , being now the optimal solution minimizing the cost.
Having such a guarantee on the performance can be significant in practical applications, especially when dealing with a certain level of uncertainty in online problems. In order to obtain a competitive online algorithm one can apply the primaldual approach for online problems, developed in [3]. The primaldual approach is an algorithmic technique to design approximation algorithms for NPhard problems and is introduced in [3] to develop approximation algorithms for online problems (competitive online algorithms). In the following, an abstract explanation on how to construct such an algorithm with the primaldual approach is explained followed by a sample algorithm in the next section.
To begin with, the precondition is that the online problem can be transformed to a linear optimization problem because it is essential that the offline version of this problem is formulated as a LP and the survey [3] only considers the duality theorem for linear programs. Afterwards, the LP is dualized. Then, an online approximation algorithm is constructed based on the primal and dual LP of the offline problem. More precisely, the algorithm aims to simultaneously approximate the maximum profit and the minimum cost with respect to the linear constraints. However, some competitive online algorithms may only approximate feasible solutions, meaning that the constraints are violated up to a certain factor.
As the algorithm runs in an online scenario, it has to decide whether the current input (request) is accepted or rejected because not every request provides a high profit together with a low cost. This decision is influenced by the current state of the constraints of the corresponding primal and dual LPs. Accordingly, it may happen that the online algorithm accepts a request that the optimal offline algorithm would not have selected. Thus, if the online algorithm accepts a request which is not part of the optimal offline solution, the cost and profit of the online algorithm may diverge from each other, so that the duality gap is not zero anymore.
As mentioned before, it may be the case that the competitive online algorithm does not only approximate the value of the objective function but also approximates the feasibility, meaning it violates the linear constraints. In [3], Buchbinder et al. show for certain problems that when trying to optimize the competitive ratio on the objective function, there is always a violation by a logarithmic factor of the constraints of the maximization LP. On the opposite, they provide algorithms that achieve primal and dual feasible solutions but a logarithmic competitive ratio on the objective function. Hence, they introduce competitiveness where is the competitive ratio on the objective function and is the competitive ratio on the feasibility. More precisely, a solution may violate the constraints by a factor of at most .
The competitive ratio is determined with the help of the weak duality theorem. The latter is only applicable if the primal and dual solutions are feasible. Assuming that the primal and dual solutions are feasible, let be the cost of a dual feasible solution and be the profit of a primal feasible solution. The weak duality theorem now states that the value of the dual minimization solution upper bounds the value of the primal maximization solution . In fact, both solutions bound each other by that inequality, so that the optimal solution lies in the duality gap. Therefore, both solutions are at most by factor away from the optimal solution. As a result, the online algorithm is competitive.
If the primal solution is not feasible, another approach can be applied. The competitive ratio describes the factor by which the profit of the optimal offline solution is greater than the one of the online solution in the worst case. The optimal offline solution is unknown but it is known that it is feasible. Thus, the value of the dual feasible solution is an upper bound for due to weak duality. Formally:
(7) 
Thus, by Equation 7, the competitive ratio is upper bounded by the quotient .
In the survey [3], the authors have designed a framework for designing competitive online algorithms using the primaldual approach. Based on this framework, they present several generic primaldual algorithms, which are based on the primal and its dual linear program, for solving the online problem. In addition, they derive for each of these generic algorithms how to systematically proof their competitive ratios with the help of the weak duality theorem as shown previously. This opens a wide field of opportunities for designing competitive online algorithms. They showed the application of the primaldual approach for many online problems as the weighted caching problem, the setcover problem, several graph optimization problems, routing and load balancing.
The idea is that one of these generic algorithms should be applicable to the specific online problem of the user, so that she can design her specific competitive online algorithm based on the primaldual framework. One of these generic algorithms is also applied in this thesis and therefore a similar online problem, which is discussed in the survey [3], is presented in the following as an introduction into the primaldual approach for online problems. Note that in the following, the minimization linear program is referred to as the primal and the maximization linear program as the dual linear program.
3.3 The Online Routing Problem
In this section, an example of the design of an competitive online algorithm via the primaldual approach is given. This example is given in [3]. It deals with an online routing problem. The setting consists of the substrate network with edge capacities , for and a sequence of requests with requests that arrive in an online fashion. When processing , the algorithm has to find a path from to with an available bandwidth of 1. If there exists no path that can serve , is rejected. Furthermore, as soon as a request is accepted and bandwidth has been allocated for this request, this decision cannot be reversed. In addition, an accepted request never leaves the substrate network, so that completed allocations are maintained forever.
The corresponding optimization problem asks to maximize the throughput in the substrate network by accepting as many requests as possible which is restricted by the capacities of the edges. The throughput and the utilization of the edges’ capacities increase linear with the addition of a request. Furthermore, the bandwidth being allocated for a request is either 0 or 1, hence it is a discrete integer value. So, this optimization problem can be formulated as an ILP, as shown in Figure 7.
subject to  
(8)  
(9)  
There exists a discrete variable for every request and possible path that can serve with a bandwidth of 1 from to . In the objective function, the are summed up over all requests and their corresponding possible paths. In other words, the objective is to maximize the amount of requests being served. This maximization is restricted by the constraints in (8) and (9). In (8), the sum over all possible paths for a certain shall be less or equal to 1. Since is defined to be either 0 or 1, only one can be set 1 for a certain . Thus, per request , only one path serves a bandwidth of 1 from to . The second set of constraints in (9) sums up the over all requests and paths for which a certain edge occurs in . So, this sum represents the sum of allocations done on which shall be smaller than its capacity. Thus, this set of constraints prevents the edges from being oversubscribed.
This ILP is now relaxed in order to apply the primaldual approach on its corresponding LP. To this end, all discrete variables (in this case () are changed to continuous variables. So, the only change in the ILP is the domain of . Next, this LP is dualized. The primal and dual LP are shown in Table 2. Consider at first the dual LP. The domain of changed to be between 0 and 1. Due to the first set of constraints no can be greater than 1 because the sum of all for a certain is at most 1. Thus, it is sufficient to define the domain of to be . Since is between 0 and 1, multiple paths can serve by distributing the bandwidth over several paths. In addition, a request does not need to be fully served with a bandwidth of 1 because the first set of constraints only states that the sum of the has to be smaller than 1. In other words, fractional solutions are allowed.
Primal (P)  Dual (D)  

Minimize:  Maximize:  
subject to  subject to  
:  
On the other side, in the primal LP there exists a set of primal variables for each set of constraints in the dual LP. Thus, there are two sets of variables and corresponding to the first and second set of dual constraints. These primal variables are multiplied to the vector on the RHS of the dual constraints which is recognizable in the primal objective function. If a request is served, the corresponding is increased and for all edges which are involved in the path , the corresponding variables are increased too. The cost of the primal objective function then increases too. Thus, one can interpret as the cost for utilizing ’s capacity. By asking to minimize the costs for the provider, the resource footprint is reduced to a minimum per request.
The problem that is induced with this LP formulation is that there exists an exponential amount of possible paths to serve the request because a trivial online algorithm would try all possible paths in order to find the one minimizing the costs. This leads to an exponential amount of dual variables that are created for every request which is inefficient in memory consumption and running time. As shown in the following Algorithm 1, this problem is easily mitigated. Let be the amount of edges in the graph.
By only asking for the existence of a path , it is enough to calculate one path. This can be for example the shortest path between and . If the shortest path does not have a length smaller than 1, then no other path will have a length smaller than 1, so that will be rejected. Line 4 in Algorithm 1 says that “any” path with length smaller than 1 can be taken because the competitive ratio does not change if the minimumcost path or any other path of length smaller than 1 is taken. This keeps the path selection generalized and does not restrict the algorithm to use a shortest path algorithm. If a path exists, a bandwidth of value 1 is allocated on each edge for . Since , the primal constraint, that corresponds to , is not feasible yet but has to become feasible in order to not violate the competitiveness of the algorithm. Therefore, is set to 1 which will set the corresponding primal constraint of satisfied since the inequality demands the LHS to be greater than 1. Next, the values of all involved edges are increased according to the shown function in line 8 of Algorithm 1. This function is of most interest in this algorithm because it directly influences its competitive ratio. To become more familiar with the structure of this function, consider the following Theorem 1. The corresponding proof in [3] is outlined.
Theorem 1.
The algorithm is competitive and produces a primal and dual feasible solution [3].
Proof.
At first, observe that the function in line 8 of Algorithm 1 is monotonically increasing. Consequently, the value is never decreased on further request iterations in order to hold a primal feasible solution. Accordingly to the previous section, the competitive ratio is computed by looking at the quotient between the primal and dual solution in the worst case since both are feasible. It is equivalent to compute the quotient between the changes of the values of the objective functions in the worst case because both objective function are increased by their worst case changes for every accepted request and therefore add up to their final value. When a request is accepted, the change in the dual profit is exactly 1 because the additional variable is added to the objective function. The latter describes the reserved bandwidths for which is exactly 1 on each edge of the path . The change in the primal cost is at most
(10)  
(11)  
(12)  
(13)  
(14)  
(15) 
The change of the primal variable is at most its value since its set from 0 to 1 upon the acceptance of . The change of the variables that are involved in is described by the difference between the new and old value . This difference is shown in (10) where the primal objective function is given with the difference between the new and old value. In (11) is substituted by its definition. In (12), is excluded. Inequality (13) upper bounds the change by using that and . Inequality (15) uses the fact that the function is monotonically decreasing with respect to . Thus, the change in the primal cost is upper bounded by . Now, the weak duality theorem is applied stating that the value of any feasible solution of the minimization problem upper bounds the value of any feasible dual solution of the maximization problem. Since the theorem states that both solutions are feasible, consider the weak duality theorem for the maximum changes in the primal cost and dual profit:
(16) 
According to the weak duality theorem, the value of the dual solution is in every iteration at most by the factor smaller from the maximum possible change in the profit. In other words, the algorithm is
competitive.
Next, the theorem states that the capacity constraints are not violated. Observe that the function in line 8 of Algorithm 1 is a geometric sequence with initial value and the multiplier . Since each request that involves edge in its path allocates a bandwidth of value 1 on , maximally allocations can be done on . So, after allocations on , the value of is
(17)  
(18) 
Note that the algorithm only accepts a request if its length is smaller than 1. So, if the length is already 1. Thus, with will never occur in any further path, such that it will never be oversubscribed. ∎
One can see that the costfunction determines the competitive ratio on the objective function and on the constraints. Thus, it is of most interest to develop such a function according to the desired competitive ratios.
The competitive ratio on the objective function is a logarithmic factor, but Algorithm 1 is therefore 1competitive on the constraints. The survey shows throughout several examples that there is the previously mentioned tradeoff between the competitiveness on the objective function and the capacity constraints for the online routing problem, as they developed a (1, log )competitive online algorithm. More precisely, this algorithm is 1competitive on the objective function and log competitive on the capacity constraints. In the contribution of this thesis, one competitive online algorithm is developed and another is designed, based on [5], for the virtual cluster embedding problem where one of them focuses on the competitiveness of the objective function and the other on the competitiveness of the capacity constraints.
After introducing the linear programming duality and its application, in the following section the related work is presented.
4 Related Work
There has been a lot of work done in the past years based on the virtual cluster model [2]. An example for an extension of the VC model is presented in [10] in which a survavibility parameter is added to the VCE problem. A system that recovers a virtual cluster embedding in case of singlePM failure was investigated by deploying so called “primary” and “backup” embeddings.
Another researched parameter was the running time of VCE embedding algorithms. As in the previously mentioned paper [10], they used a heuristic to compute VCE embeddings since solving the VCE problem was thought to be NPhard. So, most papers related to VCE embedding problems suggested heuristic algorithms to find VCE solutions. However, Rost et al. developed in [1] an algorithm that finds an optimal solution to the VCE problem in polynomial time, showing that the problem is not NPhard.
The results in [1] have been used in [12] to develop an algorithm that allows an elastic resource reservation. This means that the tenant is allowed to update its demands during the running time of its request.
However, all the mentioned algorithms have in common that they are online algorithms. The execution of these noncompetitive online algorithms can lead to a poor profit for the provider. Thus, the objective of this thesis is develop a competitive online VCE algorithm in order to guarantee a fraction of the maximum possible profit.
In [15], the authors present competitive online algorithms, based on [3], for the joint allocation of different resources (e.g., CPU, memory, disk, etc.) in a geodistributed cloud. Particularly, they do not apply the VC model but propose a generalized resource placement methodology that considers the parameters: resource type, VM class, location of the resource, capacity of a resource dependent on the resource type, the location and timestamp. In contrast to the VC model, they do not model guaranteed bandwidths. Nevertheless, weighted edges can be incorporated by replacing the weighted edge with a weighted node and two incident edges, so that weighted edges are modeled as weighted nodes. Thus, edges with a bandwidth capacity can be represented by a resource type. However, in one of their proofs they assume that the minimum consumption of any resource type is at least 1 per request, which prohibits virtual cluster requests from being embedded onto a single PM since at least one unit of bandwidth has to be used according to their definitions.
In [5], the authors present a framework for general network embedding problems. Their framework is based on the primaldual approach for online problems [3]. It is applicable to the VCE problem because it also considers a substrate graph with edge capacities and a sequence of requests arriving in an online fashion. A request has to be either rejected or accepted upon its arrival dependent on whether an acceptable embedding exists. They developed a generic competitive online algorithm whose competitive ratio is constant on the objective function but logarithmic on the capacity constraints. Based on this algorithm, the GVOP algorithm of this thesis is designed. In [5], the authors mention in Corollary 2 that the algorithm’s competitive ratio can be transformed into a constant competitiveness on the capacity constraints by downscaling the capacities. However, with this transformation a restriction is induced, namely that no request is allowed to allocate more bandwidth on an edge than the minimum edge capacity in the substrate network divided by the logarithmic term of the competitive ratio. This is a hard restriction when considering that the minimum capacity can be 1. In contrast to this, the COVCE algorithm of this thesis does not have such a restriction.
5 Theory
This section consists of a short introduction into the online VCE problem by revisiting the example of the introduction Section 1 and then we present two competitive online algorithms, where each of them focuses on a different competitive ratio of the competitiveness. The first one is the General allornothing VNet Packing Online Packing (GVOP) algorithm based on [5] and the second one is the Competitive Online Virtual Cluster Embedding (COVCE) algorithm which is a novel contribution of this thesis.
To begin with, in the last paragraph of Section 2, in which the VC model and the VCE problem are explained, an approach for an optimization problem has been formulated in which the costs of serving several requests shall be minimized. This approach is the basis for designing the VCACE algorithm [1] which finds a minimalcost embedding in polynomial time solving an integral minimumcost singlecommodity flow problem. It minimizes the resource consumption per request considering the initial capacities for every request it processes.
Consider the VCACE algorithm in which residual capacities are used for embedding a request and therefore respecting the load on the substrate nodes and edges. The load on a node or an edge is the sum over all allocations on this node/edge done by the previous requests. Thus, this version is called the Greedy VCACE algorithm and will embed any request with minimal resource consumption that has a valid embedding. However, by applying this procedure, it is not ensured that the profit for the provider is maximized. Consider the Figures 2  4 (page 24) again in which multiple arriving requests are embedded with the least amount of needed resources. After filling the substrate, there is request 4 with a higher benefit than any other previous request. Since the network is fully utilized, request 4 has to be rejected.
More formally, these requests arrive over time and the algorithm only knows the current state of the network at the arrival of a request. So, the algorithm has to make a decision upon its current situation. Hence, this variant of the virtual cluster embedding problem is an online problem.
By this observation, one can follow that accepting any request, under the assumption that there exists a valid embedding for this request, does not ensure that the profit for the provider is maximized. Greedily minimizing the resource consumption per request does not guarantee a globally maximization of the profit. To achieve a guarantee on the profit, one has at first to consider the maximum profit which is possible for a certain sequence of requests and a certain substrate network. The maximum profit which is achievable is computed by the optimal offline algorithm. By solving the ILP of that problem, assuming the profit increases linear and the capacity constraints are linear too, the optimal offline solution with its profit is calculated. The latter is also a solution of the corresponding LP that is the relaxed version of this ILP. Furthermore, the profit of this LP is greater or equals than . Now, the primaldual approach for online problems of [3] can be applied in order to upper bound with the cost of the minimization LP due to weak duality. In this way, a competitive online algorithm is developed that guarantees a fraction of for any request sequence. In other words, the competitiveness of the online algorithms, that are designed upon this primaldual approach, is with respect to an optimal fractional solution. Thus, the optimal offline solution of the ILP is included is in this solution space, so that this competitive ratio is also valid for the optimal offline solution of the ILP (describing the original problem).
However, the Greedy VCACE algorithm, which solves the problem in an online fashion, lacks competitiveness and therefore has no worst case guarantee of an fraction of the optimal offline solution.
To define a competitive online algorithm, the offline dual and primal linear programs of this optimization problem are shown in the next section and then the main contribution of this thesis, the COVCE algorithm will be explained. Before showing the corresponding LP, some additional variables are defined which are used for describing the primal and dual LPs.
The load on a node or edge describes how many resources of that element are consumed by embedding of request . Note that a physical edge or node can be used multiple times in an embedding if enough resources are available. In this case, describes the sum of the allocations on node/edge by embedding of request . In a valid embedding of request , the inequality holds .
Next, a dual variable is described. is assigned with 1 if the embedding of request shall be fully served by the algorithm. Accordingly, is between 0 and 1 if is partly served. In other words, fractional solution are allowed in the offline linear program since the competitive ratio of the online algorithm is with respect to the optimal fractional solution.
The primal variables and describe the cost for using edge and node in an embedding. Formally, .
5.1 Linear Program
In this section, the offline LP and its dual LP are discussed. At first the dual LP is shown. As already mentioned, the objective is to maximize the profit, so that the objective function of the LP is a sum of benefits over all requests . The benefit is multiplied with the dual variable working as a decision variable. has two arguments: is the argument iterating over all requests and over all valid embedding of a certain request . So, for each request and each valid embedding there exists a variable .
The first constraints in Equation 19 describe a sum of over all valid embeddings for a certain request . This sum shall be less or equal than 1. Since , fractional solutions are allowed as described before in the background Section 3. The consequence for the online routing problem was that multiple paths were allowed to serve the request. In this case, multiple embeddings are allowed to serve the request with the restriction that the sum of all , that represents all used valid embeddings for , has to be smaller than 1. Next, the second constraints in Equation 20 describes the capacity constraints for each edge and each node. For each , there is a sum of over all requests and all embeddings for a request . By iterating over all valid embeddings and evaluating , only the summands for which is not 0 are considered, meaning the loads of the chosen embedding inducing an allocation on are summed up. So, when , the load will be added to the sum. Thus, this sum describes the sum of the loads of all accepted embeddings that use . By forcing this sum to be smaller or equal to ’s capacity, resource violation is prohibited. Hence, this set of constraints describes the capacity constraints of the edges and nodes in the substrate network.
Dual
(19)  
(20)  
(21) 
Primal
(22)  
(23) 
Consider that the load is not a dual variable but has to be computed during the execution of the algorithm. Finally, the last line of the dual LP describes the domain for the dual variable . After describing the dual packing LP, the primal covering LP is designed with the dualization recipe in Table 1. As described in the background Section 3, one can alternately solve the primal problem to calculate the value of the optimal solution of the dual LP. For each constraint in the dual LP, a primal variable is created and for each dual variable a constraint is created. There are three sets of new variables, the and variables. Each set of variables is respectively multiplied with the right side of their corresponding dual constraints as shown in the objective function of the primal LP. It consists of a sum of three sums where the sums and summarize the analogous dual constraints in Equation 20 and lastly is the analog to the set of constraints in Equation 19.
There is only one set of constraints in this primal LP because there is only one set of dual variables. This set is shown in Equation 22. It connects the resource consumption of embedding for request with its benefit and does not have a deeper interpretation. As in the duality recipe, the right side of the constraints contains the factor of the dual objective function and the left side of the constraints includes the left side of the dual constraints.
Considering the domain of the primal variables in Equation 23, their functionality describes some kind of costs for embedding requests because the more requests are being embedded, the more resources are utilized, and accordingly, the corresponding primal variables are increased in order to fulfill the primal constraint. Furthermore, the products between the primal variables and the capacities increase too, reflecting the increasing usage of the resources. Thus, this increasing resource consumption can be interpreted as a cost for the provider because she has less resources left for further requests.
5.2 Competitive Online VCE Algorithms
After describing the primaldual LP for the offline case, the competitive online algorithms are now presented. Both of them are based on the online setting of the previously shown offline problem. In the online problem, previously set dual variables are not allowed to be changed, referencing to the characteristic of online algorithms that previously made decisions cannot be reversed. In addition, it is assumed that an accepted request stays forever in the substrate network. Thus, primal variables are only allowed to increase during the execution of the algorithm. Furthermore, the dual variables are only allowed to be set during the iteration in which the request is being served because a request shall be either fully served or rejected. In other words, the algorithm shall be an allornothing algorithm. Moreover, a single embedding shall be selected because the original VCE problem, which is nonrelaxed, asks to find a single VCE for fully embedding ’s virtual cluster. Therefore, no fractional solutions are allowed. The last two conditions (allornothing and nonfractional) induce that there is only one summand per request contributing to the load per node and edge in the set of constraints in Equation 20 and that .
At first, the main contribution of this thesis, the COVCE algorithm is explained and afterwards the GVOP algorithm of [5]. Both are competitive online VCE algorithms where the COVCE algorithm has a constant competitiveness on the capacity constraints but a logarithmic competitiveness on the objective function and the GVOP algorithm vise versa.
5.2.1 COVCE Algorithm
In this section, the main contribution of this thesis is presented. For simplicity, it is called the Competitive Online Virtual Cluster Embedding algorithm (COVCE). The ideas of it are based on the competitive online Algorithm 2 in chapter 4 of [3]. The algorithm is an allornothing algorithm, meaning that it either accepts or rejects a requests completely. In addition, no fractional solutions are allowed, meaning that a single embedding serves the demanded virtual cluster.
Before going through the algorithm, consider the following definitions. Let be the single set containing the image of an embedding’s edge mapping and analogously be the single set containing the image of ’s node mapping. Moreover, let
(24) 
be the cost of the embedding . In this formula, the cost gets higher with higher loads on the edges or nodes and when the primal variables and get higher too, which is the case when there is already a high load on the edge or node. Consequently, a high cost() value reflects an embedding which consumes a lot of resources and/or a substrate network which is close to be fully utilized. Note that and are now the cost functions for the nodes and edges being set in the competitive algorithm and are not being set by the LP.
Let denote the optimal embedding for request at the time of the arrival, where optimal means that it provides the least amount of costs due to Equation 24. While the dual program only considers the capacity constraints, it is also important to respect the costs induced for the provider, where costs means how big the resource footprint of the embedding is. To this end, the minimumcost embedding shall be determined to serve . In addition, cost() shall help with the decision whether it is worth to embed . Thus, the primaldual combination is important to aim a profit maximization and simultaneously a cost minimization while respecting whether the embedding costs are worth the benefit of . This achieves an admission control behavior, so that not any request is accepted since embedding costs might get too high. How this characteristic is included into the algorithm, is shown later.
Let be the maximum edge capacity and analogously be the maximum node capacity in the substrate network. Additionally, let be the size of the substrate graph. Lastly, be the maximum benefit that has been seen yet by the algorithm until request . As one can see, the value of increases during the running time of the algorithm.
In the following, the Algorithm 2 is explained. When a new request arrives, the first task is to check whether the benefit is greater than the current . In that case is updated and all and too. This ifclause is further explained in details when considering the cost functions.
After that, the algorithm receives an embedding from an oracle that provides a minimalcost embedding for which is assigned to . For the competitive online algorithm, it is not relevant how this minimalcost embedding is found but the decision whether to accept and embed the minimal embedding is important because this ”admission control” functionality contributes to the competitiveness of the algorithm. For this reason, the problem of finding a minimal embedding is given over to an oracle procedure. For the implementation of the competitive algorithm, the VCACE algorithm [1] is applied as the oracle procedure for finding a minimalcost embedding because it optimally solves the VCE problem in polynomial time.
The VCACE algorithm takes as input the virtual cluster request , the substrate network with the original node and edge capacities, meaning it assumes that no requests are embedded, and the and as cost functions for the nodes and edges. It outputs a costminimal embedding applying the successive shortest path algorithm for solving a minimum costflow problem. To recapitulate, the and primal variables increase upon including edge and node in an accepted embedding. So, the more accepted embeddings are including and , the higher their and increase. This behavior can be interpreted as a higher node or edge capacity consumption. If the and
variables are applied as costs on nodes and edges for the minimumcost flow problem, then a higher cost will provide a lesser probability of including this node or edge in an embedding again. Thus, the application of the primal variables as cost functions for the VCACE algorithm can protect the node or edge from being oversubscribed and creates load balancing between the nodes and edges of the substrate network. Note that all primal and dual variables are assumed to be initially zero (using lazy initialization).
1 Initially all and are set 0; 2 Upon the arrival of a new request , the corresponding primal constraint in Equation 22 and the dual variable are introduced: 3 if then 4 ; 5 recalculate the costs and with respect to the new ; 6 7 end if 8if there exists an embedding with then 9 10 // accept 11 ; 12 for all other valid embeddings ; 13  cost(; 14 for do 15
A costminimal embedding can only be found if the request’s demand of VMs, compute units and bandwidth would not violate the initial capacities. In other words, a costminimal embedding can only exist if there exists at least one valid embedding.
In the next line 7, the algorithm decides in the ifcondition whether to accept the request or not by a comparison of its incurred costs to its benefit. If the costs are greater than its benefit, the request is rejected. By this property of not accepting any request, the competitiveness is created. The rejection of a request can be influenced by different factors. The request might not provide as much benefit relatively to its embedding costs as previous requests did. Additionally, the request might need to use resources which already have high costs, meaning the algorithm will reject any request whose minimalcost embedding includes this certain node or edge. On top of that, the algorithm’s limits might be already tight for all nodes and edges and therefore it will reject any request because it maintains its competitiveness.
If is accepted, the corresponding dual variable is set to 1 (line 9) to indicate in the objective function of the dual LP that is accepted and to add to the result of the objective function.
In line 11 the primal variable is set to the difference between and cost( in order to satisfy the corresponding primal constraint with the least needed value. Furthermore, holds because cost( holds since line 11 is only reached if cost( in line 7 holds. For these reasons, the primal solution is feasible.
Finally, the and of the nodes and edges which are involved in are increased by the shown formulas in the forloops. As already mentioned in the background Section 3, the cost function of the competitive online algorithm determines its competitive ratios of the objective function and the capacity constraints. With this cost function, the COVCE algorithm is (competitive, meaning a constant factor competitiveness on the capacity constraints and a logarithmic factor competitiveness on the objective function. In the next sections, the cost functions are analyzed in more details and the competitive ratios are proven.
Cost Functions
In this section, the functions that describe the increase of the and primal variables are deeper explained and motivated. Since, they are used as costs for nodes and edges in the minimumcost flow problem, these functions are called cost functions. The most important property of a cost function is that it is monotonically increasing for because the primal variables are not allowed to decrease during the execution of the algorithm since in an online problem, previous decision cannot be reverted. In this case that means that a previous allocation cannot be undone. This characteristic is captured by nondecreasing primal variables and by the dual variables which can only be increased during the processing of their certain request. The cost of a node or edge represents how many allocations are already done on this node or edge. Since allocations are maintained forever, a monotonically increasing cost function is necessary to represent this online behavior because the allocation on a node or edge is also only monotonically increasing over time.
Consider now the structure of the cost function in Equation 25 to further analyze the monotonicity. It is mainly built of constant factors as , , and an exponential function. As these factors are constant, they cannot cause a decrease of during the execution of the algorithm. The exponential function only increases for positive exponents. Since the constant factors describe sizes and capacities, they are all nonnegative. The same holds for because it describes the maximum benefit and the benefit is always nonnegative. Moreover, the dual variable and the load are defined to be nonnegative too. To sum up, the exponent is nonnegative. Before concluding that the exponential function is monotonically increasing, consider the terms inside the exponent.
At first, the term only occurs in the numerator of the exponential function and only increases during the execution since its value increases upon a maximization of its current value and the benefit of the current request. Hence, the variable cannot cause a decrease of . Next, consider the term
for a certain edge . The first sum iterates over all requests that have been observed yet by the algorithm. The second sum iterates over all valid embeddings for a certain . In addition, the product is greater than 0 if the th embedding of the request has been accepted and if is included in (because then would hold). Since only holds for exactly one embedding per request, the second sum only consists of one summand. In other words, filters the embedding that has been accepted by the algorithm for . So, the first sum describes the load on by . Summing over all the requests that have been observed yet, the whole term describes the sum of the loads on of all requests, giving the total load on edge . As the total load on cannot decrease during the execution (because an accepted request stays forever in the substrate) this term cannot cause a decrease of because it is also contained in the numerator of the exponential function. In conclusion, the cost function is growing monotonously and is therefore valid to be used for changing the primal variable during the execution. Analogously, the cost function is built where and
Comments
There are no comments yet.