# Agent-Based Virtual Machine Migration for Load Balancing and Co-Resident Attack in Cloud Computing
## 6 Evaluation and Empirical Results
### Agent-Based VM Migration (ALBA) versus Centralized VM Migration
#### 6.1.2 Experimental Settings  
To validate the empirical results, we created a centralized VM migration strategy, which is commonly used in the literature [61; 62; 63; 64]. The central manager was equipped with the same four load-balancing strategies as frequently employed in Bas (see Section 5.5). Notably, the commonly used benchmark heuristics do not utilize live migration of VMs. The experiment included three sets of parameters: (i) cloud computing parameters, (ii) load-related parameters (Table 2), and (iii) the agent-based testbed settings (Table 3). \begin{table}
\begin{tabular}{c c} \hline \hline
**Parameter** & **Alternative Values** \\ \hline Number of VMs & 300 \\ \hline Specifications of VMs & \\ \hline Number of cores & [1, 2, 4, 6, 8] \\ \hline Memory sizes & [4, 8, 12, 16, 20] GBs \\ \hline User number & [1, 2, 3, \(\ldots\), 28, 29, 30] \\ \hline Initial low-security users & [1, 2] \\ \hline Low-security user detected in operation & [3] \\ \hline User security level & [Low, High] \\ \hline Mean inter-arrival time of VMs & 5 ticks \\ \hline Mean inter-departure time of VMs & 100 ticks \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Load-related parameter for experiments. \begin{table}
\begin{tabular}{l l l} \hline \hline
**Parameter** & **Experiment 6.1** & **Experiment 6.2** \\ \hline BA’s VM migration heuristics & [Round-robin, greedy, first-fit, best-fit] heuristics & \{Round-robin, greedy, first-fit, best-fit] heuristics \\ SAs’ proposal selection mechanism & Greedy selection & Greedy selection \\ SAs’ CPU-based acceptance policy & Above threshold & Above threshold \\ SAs’ memory-based acceptance policy & Above threshold & Above threshold \\ SAs’ security-based acceptance policy & Level Matching & \\ SAs’ CPU acceptance threshold & 0\% & 0\% \\ SAs’ memory acceptance threshold & 0\% & 0\% \\ SAs’ CPU-based migration threshold & 50\% & 50\% \\ SAs’ memory-based migration threshold & 50\% & 50\% \\ SAMs’ activation threshold & 10 ticks & 10 ticks \\ SMAs’ monitoring frequency & 1 tick & 1 tick \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Agent-based testbed parameters for experiments. Cloud Computing Parameter  
The simulated cloud computing environment consisted of 20 hosts, with 6 hosts having 20 cores and 48 GB memory, 8 hosts having 40 cores and 96 GB memory, and 6 hosts having 60 cores and 144 GB memory. This resulted in a heterogeneous computing environment with an arbitrary distribution of relatively weak hosts, regular hosts, and relatively powerful hosts. The host requirements were derived from [66]. Furthermore, 3 hosts (1 for each type of host) were assigned a low security level to host VMs requested by users with a low security level. To accommodate the load specifications provided in Table 2, the number of hosts simulated by Sas was set to 20. The load-related parameters in Table 2 include various parameters, such as the number of VMs, VM specifications, user security levels, and the mean inter-arrival and mean inter-departure times of VMs. To investigate the efficiency of ALBA with a larger number of VMs than what can be instantiated simultaneously using existing open-source frameworks for cloud computing, such as OpenNebula (which can instantiate up to 148 VMs simultaneously, as reported in [67]), we set the number of VMs to 300. To generate a heterogeneous load, we arbitrarily selected the number of logical cores and memory capacity from the possible values presented in Table 1.  
To mitigate co-resident attacks via VM migration, we added a security-level attribute to each user requesting a VM. If an SA identifies a VM performing anomalous tasks during host operation, the user who applied for the VM may be identified as the attacker, and all VMs requested by the same user may be considered attack tools. Consequently, the security level of all VMs requested by this user should be reduced.