# A Unified Vendor-Agnostic Solution for Big Data Stream Processing in a Multi-Cloud Environment
## 4 MC-BDP Prototype Evaluation
### Experimental Results
#### 4.1.1 Average Container CPU Utilisation  
Based on the summary results for average CPU utilisation presented in Table 3, the following conclusions were drawn: (i) average container CPU utilisation by velocity for scalability--means of three or six workers (single and multi) are not significantly different from each other. The same conclusion was drawn for all the possible combinations of three workers (single and multiple) compared to six workers (single and multiple); (ii) average container CPU utilisation by velocity for fault tolerance--the same conclusions for all combinations in (i); (iii) average container CPU utilisation by velocity for technology agnosticism--the means for three or six workers (Beam, Flink) x (single, multiple) were found not to be significantly different from each other. The same conclusion was drawn for three workers [(Beam, Flink) and (single, multiple)] x six workers [(Beam, Flink) and (single, multiple)]. In terms of the number of workers (three, six, ten), the means were also not significantly different from each other for the average container CPU utilisation by windowing rate.  
\begin{table}
\begin{tabular}{c c c c c c c} \hline \hline \multicolumn{1}{c}{} & \multicolumn{1}{c}{Scalability Metrics (for Workers)} \\ \hline Velocity & Three Workers (n = 3) & \multicolumn{3}{c}{Six Workers (n = 6)} & \multicolumn{3}{c}{Mann–Whitney U Test Results} \\ \hline
2 & & & & & & \\ records/time & Single \% & Multi \% & Single \% & Multi \% & Three Workers and Three Workers (Single and Multi) \\ \hline
1 min & 3.52 & 3.44 & 2.51 & 3.61 & \(p\)-value = 0.8857, accept Ho \\ \hline
1 sec & 37.94 & 40.21 & 18.22 & 23.17 & Three Workers and Six Workers ([S,S] x [M,M]) \\ \hline
100 ms & 42.25 & 36.39 & 25.46 & 26.24 & \(p\)-value = 0.1905, accept Ho (S,S) \\  & & & & & & \(p\)-value = 0.2857, accept Ho (S,M) \\ \hline
10 ms & 41.58 & 45.46 & 23.02 & 29.27 & \(p\)-value = 0.2857, accept Ho (M,S) \\ \hline
1 ms & NA & NA & 36.26 & 33.02 & Six Workers and Six Workers (Single and Multi) \\ \hline Average CPU Utilisation & Average & 31.32 & 31.38 & 17.30 & 20.57 & \(p\)-value = 0.5476, accept Ho \\ \hline Hypothesis Testing & & & & & & \\ Results, & & & & & & \\ Average & & & & & & \\ Continate CPU & & & & & & \\ Utilisation & & & & & & \\ By Velocity & & & & & & \\ \hline
100 ms & 11.09 & 14.83 & 8.44 & 7.17 & \(p\)-value = 0.3429, accept Ho (S,S) \\  & & & & & & & \(p\)-value = 0.4857, accept Ho (S,M) \\ \hline
10 ms & 22.68 & 8.83 & 16.55 & 16.90 & \(p\)-value = 0.8857, accept Ho (M,M) \\ \hline
Results (in the form of graphs and regression models) for the average CPU utilisation by velocity, windowing rate, and cluster are tabulated in Table 14. The velocity is measured in two records per time, where the time units have been converted to seconds (0.001, 0.01, 0.1, 1.0, 60.0). Due to the inconsistent time interval, a linear trend is not appropriate. Thus, a more appropriate model would either be an exponential (when the initial decrease is gradual, followed by a sharp decrease), logarithmic (when the initial decrease is sharp, followed by a gradual decrease), power, or polynomial regression model. Notably, the type of regression model was chosen based on the highest R-squared value. Graphical displays for all the regression models cannot be included in this paper due to space constraints.