# Secure Partitioning of Cloud Applications, with Cost Look-Ahead
## 7 Experimental Assessment
### Discussion of the Results  
We discuss now the question  
**Q1:**_How much does K impact the creation time of the probabilistic model?_  
We have to consider that the number of labellings with at most \(K\) different labels from the starting labelling grows exponentially as \(K\) grows, as discussed in Section 6.1. This behaviour is confirmed by the data shown in Figure 6: the time needed to calculate the probability of each labelling grows exponentially as \(K\) grows. With a probabilistic model that is not parameterised with \(K\) it could be difficult for ProbSKnife to determine the probabilistic model in a reasonable amount of time. An application with a large number of data types and characteristics has difficulties calculating all the possible labellings, making it hard to calculate the future cost of the initial partitionings. As aforementioned, choosing a low value of \(K\) in advance is reasonable given that, in general, the number of labels that change simultaneously is low. We can conclude that having \(K\) as a parameter in our methodology can reduce drastically the complexity of the search space for all possible labellings, thus reducing the execution time to create the probabilistic model. To summarise, _the average execution time to create the probabilistic model is exponential with \(K\) for the number of labels that can change (\(11\) in our motivating example), with a minimum of \(0.055\) seconds with \(K\) equal to one and about \(195\) seconds with \(K\) equal to \(13\)._  
To answer the question  
**Q2:**_How much do K and DLimit impact the execution time of ProbSKnife?_  
We should add a consideration to the previous one. The maximum number of domains admitted \(DLimit\) reduces the number of ways to partition an application and, thus, the number of safe partitionings that satisfy a labelling. Indeed, only one partitioning with \(DLimit\) equal to four satisfies the starting labelling (Figure 8). There are four partitionings when \(DLimit\) is equal to five (Figure 9) and there are five partitioning when \(DLimit\) is equal to six (Figure 10). The number of initial partitionings is the reason behind the difference in the execution times of ProbSKnife, as for different values of \(DLimit\) there are different numbers of future costs to calculate. The behaviour of the three lines is the same and they have about the same distance for every point of the plot. This distance is given by the number of partitionings. In particular, the orange line (\(DLimit\) equal to five) and the green line (\(DLimit\) equal to six) show the time to calculate the future cost of one partitioning, given that they have only one partitioning of difference. Concerning the behaviour of the execution time, we reach the same conclusion as for the previous question: the value of \(K\) increases exponentially the space of possible labellings  
Figure 11: Probability of non-safely partitionable application with varying \(K\) and number of domains. and ProbSKnife looks for the partitioning with the minimum cost for every labelling, thus increasing the execution time. To summarise, we conclude that increasing \(K\) increases the execution time exponentially and increasing \(DLimit\) increases the execution time by the number of partitionings that satisfy the starting labelling. This number depends on the application; in the worst-case scenario it is also exponential, as discussed in Section 6.1. Thus, choosing a low value for \(DLimit\) exponentially reduces the execution time of ProbSKnife and also decreases the impact on the performance of the separation kernel technology. To summarise: _the average execution time to calculate the initial partitionings and their future costs is exponential with \(K\) for the number of labels that can change (\(11\) in our motivating example) and linear with the number of initial partitionings (in the worst case, exponential with \(DLimit\)).