• Keine Ergebnisse gefunden

6.5 The M-TOP Approach

6.5.4 Graph Assembly

After completing the list of candidate nodes for each operator (virtual or original), Graph Assembly assembles a network of candidate nodes for the subsequent steps. The candidate node lists are aligned intoS-labeled slices as illustrated in Figure 6.5. Two S-labeled slices are defined being adjacent if the related operators are interconnected. Each S-labeled slice rep-resents a list of candidate nodes which relate to a certain operator, e. g. S2 is the candidate node slice related to operatorO1. It is important to note that in our sample scenario depicted in Figure 6.5, the slices S0 andS1 contain the source operators (which are pinned to the cor-responding source nodes) and the slice S6 contains the sink operator (representing the client application). Analogously,E-labeledslices represent a list of candidate links connecting candi-date nodes. E-labeled slices contain the candicandi-date links between the candicandi-date nodes of two adjacent S-labeled slices.

Graph Assembly filters the candidate node and candidate links and removes candidates whose statistical values do not satisfy the bottleneck conditions. Therefore the average

sta-6.5 The M-TOP Approach 183

Figure 6.5:M-TOP approach — Graph Assembly and Ranking.

tistical values are used, as candidates are supposed to continue to show the same behavior as they have done in the past on an average. Thereby, for candidate nodes the operator–node statistics are considered. For candidate links thenode–nodestatistics are taken.

In the example depicted in Figure 6.5, 300ms is a bottleneck condition of the QoS latency.

In this regard, the NexusDS node N4 is eliminated (shown as dashed box) from S3 as this node does not meet the bottleneck condition specified. The interpretation of the bottleneck condition depends on the rank scheme provided. If the rank scheme is to minimize the QoS target, i. e.,Min, the bottleneck condition constitutes an upper bound. The statistical value of a candidate node or candidate link must not exceed this value, otherwise it is removed from the respective slice. If the rank scheme is Max, the statistical value must not fall below this value. The relative importance factors are relevant for the next M-TOP step, i. e. Ranking.

The result ofGraph Assembly is a candidate network that consists of candidate nodes and candidate links matching the specified bottleneck conditions and rank schemes. Like Early Prune, Graph Assembly also reduces the search space by removing candidate nodes and

can-didate links that do not match the specific QoS targets. Both steps reduce the number of candidates for each operator thatMappinghas to analyze.

6.5.5 Ranking

After creating slices containing candidate nodes and candidate links the respective candi-dates are ranked, i. e. evaluated. The statistical values of the candidate nodes and candidate links retrieved for the Graph Assembly step are reused at this stage. The statistical values are normalized by considering the absolute maximum for a specific QoS target3. The average values are evaluated as shown in Equation 6.1:

si(ck) =

avgi(ck)

maxi iffri=M ax,

1avgmaxi(cik)

iffri=M in

(6.1)

Thescoring function si(ck)calculates the normalized score for a specific candidate node or candidate linkck w.r.t. a QoS target i. Therebyavgi(ck)returns the average value of the QoS target i for candidate ck. maxi represents the absolute maximum for QoS target i. Finally, ri provides the rank scheme for QoS target i. The evaluation of the scoring function si is performed for each candidate node and candidate link in every slice. The scoring values are displayed in the lower right part of the Ranking shown in Figure 6.5. The common ranking semantics adopted by M-TOP maximizes values resulting from the scoring function. Thus, to allow minimization rank schemes, the normalized value is inverted by subtracting it from1. In the scenario depicted in Figure 6.5, for the QoS targetlatencythe normalized scoring values are inverted to get the same ordering as the QoS targetbandwidthand make them comparable.

Once all scoring values are determined, the target score w.r.t. the overall QoS target must be determined. The target function is displayed in Equation 6.2:

t(ck) = Xn i=1

si(ck)·wi (6.2)

The target function t(ck)realizes a weighted sum by summing up all scoring values si for candidateck determined beforehand (see Equation 6.1), multiplied by the relative importance factorswifor the respective QoS targeti. The result is a singletarget valuefor each candidate node and candidate link in every slice. The target values represent the overall performance of a specific candidate relative to the QoS targets defined.

However, two different QoS target classes must be considered: additive QoS targets and absoluteQoS targets. The latter class must match each candidate, i. e. must match all candidate

3The maximum for a specific QoS target can be retrieved by a lookup operation from the runtime statistics.

6.5 The M-TOP Approach 185

Figure 6.6:M-TOP approach — Ranking-Result and Mapping.

nodes and candidate links. An example for this class is bandwidth, there must be enough for each candidate to satisfy the requirement. Early Prune has already discarded candidate nodes that do not fulfill these requirements. The former class must match the whole candidate solution, i. e. must match all candidate nodes and candidate links. An example for this class is latency, since latency depends on all candidates along the critical path of a candidate solution.

Thus, the candidate solution in our case must also satisfy additive QoS targets to adhere to the concrete QoS specifications. This is checked by Mapping. It allows to prune candidate solutions that do not match the QoS specifications.

The result is a candidate graph QG with target values t(ck) and additive QoS target values tadd(ck)attached to each candidate link and candidate node as shown in Figure 6.6.

Rankingbrings to front candidates, depending on their scoring value, and establishes a natu-ral ordering of the candidates w.r.t. the QoS targets specified. In this sense, ranked candidates are directly comparable to each other.

6.5.6 Mapping

Mappinguses the candidate graph to compute the placement solution from all source oper-ators (in our exampleS1 andS2) to the sink operator (here T1). A potential mapping for the operators is marked by the black candidate nodes displayed in Figure 6.6 on the right side. The utility function displayed in Equation 6.3 must be satisfied.

o(CG) = max (" n

X

i=1

t(ci)

#

·oadd(CG) )

with oadd(CG)∈ {0.5,1} (6.3a)

oadd(CG) =

0.5

(iffk :rk =M inandPni=1taddk(ci)> bck or iffk :rk =M axandPni=1taddk(ci)< bck 1

(iffk :rk =M inandPni=1taddk(ci)bck or iffk :rk =M axandPni=1taddk(ci)bck

(6.3b)

The objective function o(CG) for a candidate networkCG, displayed in Equation 6.3a, rep-resents the placement solution with the maximal sum of target values t(ci) for all candidates ci (candidate nodes and candidate links) connecting all source operators to the sink operator w.r.t the candidate network. Additionally, oadd(CG)must be fulfilled, i. e. returning1 iff each additive QoS target k is within boundaries defined by the respective bottleneck condition bck (see Equation 6.3b). Without loss of generality, if oadd(CG) returns 0.5, additive constraints are not satisfied and penalize the resulting objective value. This penalty value is a parameter to adjust the actual objective value. This penalty value might differ depending on the problem to solve.