# A Parallel Particle Swarm Optimisation for Selecting Optimal Virtual Machine on Cloud Environment
## 5 The Proposed Intelligent Model  
This section shows the experimental results of our proposed model on the cloud environment by using the two proposed algorithms (GA and PPSO). These two algorithms are executed using two different tools which are the MATLAB [38] tool and the CloudSim package. After comparing these algorithms, the optimal algorithm is selected in terms of implementation time, speed of processing live data, and system efficiency to apply it to cloud computing. The experiments are conducted based on the performance metrics, which consists of speedup and efficiency. The speedup is utilised to compute the attribution of the average execution time on one processor A [1] and the average execution times on several processors A [tk]. The speedup is shown in Equation (9):  
\[S_{K}=A\left[t_{1}\right]/A\left[t_{k}\right] \tag{9}\]  
Assume the k parameter is 8. The execution times of GA and PPSO are clarified in Tables 3 and 4. Thus, the speedup of PPSO is 3.02 times faster than GA. The efficiency is shown as the proportion of speedup by k processors. It is shown in Equation (10):  
\[E_{k}=(S_{K}/K)\times 100\% \tag{10}\]  
The required inputs to execute GA are shown in Table 3.  
By executing GA using the values of the parameters reported in Table 3, the outputs in Table 4 are obtained. The values of the parameters were obtained through a preliminary tuning phase, in which \begin{table}
\begin{tabular}{c c c} \hline \hline
**Number of Trials** & **Populations** & **Execution Time** \\ \hline  
\hline \hline \end{tabular}
\end{table} 
Table 4: GA outputs. \begin{table}
\begin{tabular}{c c c} \hline \hline
**No** & **Inputs** & **Values** \\ \hline
1 & Population Size & 100–1000 \\
2 & Crossover Probability & 0.5 \\
3 & Crossover type & Two-Points \\
4 & Mutation Probability & 0.6 \\
5 & Mutation type & BitFlip \\
6 & Number of Iterations & 100 \\ \hline \hline \end{tabular}
\end{table} 
Table 3: GA inputs. different combinations of the parameters were tested. From this tuning phase, we concluded that 100 iterations guarantee the convergence of the algorithm also for a population size of 100. Concerning the crossover and mutation probability, the selected configuration is the one that produced the best performance across the different combinations considered. We highlight the importance of having a high value of the mutation probability because values that are commonly used in the GA literature (i.e., with a mutation rate usually smaller than 0.1) would result in poor performance. Table 4 displays several trials, populations, and final implementation time in each trial with a different population. The implementation time is correlated with the increasing population volumes due to the need to search in a great amount of potential solution. That is why the value of implementation time has risen with the increasing number of trials. Figure 11, see Appendix A, displays the positive relation between the set of populations and the final execution time of each trial. Also, the mutation operation causes a random hop in the location of the produced solutions that can depict the cause of the curved decreasing in trials number 11, 14, and 18. The quality of PSO can be enhanced by using parallel processors. Dependently, the PPSO will define the set of processors needed for the cost function to be executed. Our model can be utilised in environments with big-scale resources and requests. Therefore, Gustafson law is used in this study to deal with some parallel processing requests. The efficiency of the PPSO can be evaluated by using [PERSON]'s Law in Equation (11):  
\[\mathrm{SP}\leq\mathrm{P}-\alpha\times(\mathrm{P}-1) \tag{11}\]  
where:  
* \(\mathrm{SP}=\mathrm{speed}\) up. * \(\alpha=\mathrm{the}\) portion of non-parallelised tasks, where the parallel work per processor is fixed. * \(\mathrm{P}=\mathrm{set}\) of processors. Assume \(\alpha=0.5\) and set of processors: 2, 5, 10, 20, 40, 80, 160, 320, 640, and 1280. Table 5 shows the number of processors and their corresponding value of speedup.