# SLoPCloud: An Efficient Solution for Locality Problem in Peer-to-Peer Cloud Systems
## 5 Experimental Results  
We conducted experiments to assess the performance of the proposed solution, i.e., SLoPCloud. The proposed solution was simulated using PlanetSim network simulator [50]. This simulator is an overlay network simulation framework written in Java, and provides an easy transition from simulation code to prototypes by providing wrapper scripts. It is worth noting that PlanetSim includes a trivial P2P simulation framework. It supports static visualizations with GML or Pajek outputs of network topologies. It is an event-based simulator, which uses a time-stepped method, i.e., there is a central clock that controls the events in a simulation. We implemented SLoPCloud solution on GHCC, whereas we considered the Ring, Hypercube, and CCC as the overlay networks. While SLoPCloud can be applied to any overlay network, different overlays are considered by changing the GHCC parameters. The focus of our work was on the network bootstrapping time and control traffic. Network bootstrapping time is the time required for the initialization process and measured by second. The number of control messages was also measured to represent the traffic overhead of the proposed solution. It is worth mentioning that different scenarios with different number of nodes ranging from 10 to \(10^{4}\) nodes were conducted to show the scalability of the proposed solution. Each simulation scenario was run several times and the reported results are the average of the output values. We first simulated a simple Hypercube overlay without considering the locality problem, and then compared it with a Hypercube overlay in which our locality solution is implemented on. We refer to them as simple Hypercube and locality-aware Hypercube, respectively. Figure 5 illustrates the comparison between  
Figure 4: An instance of Generalized Hypercube Connected Cycle with parameters \(l=3\) and \(m=3\), i.e. GHCC (3,3) [46]. the control traffic of the both mentioned scenarios for different number of nodes. The control traffic imposed on the network by the SLoPCloud solution is negligible. This value for the network with \(10^{4}\) nodes is less than \(\frac{1}{10^{4}}\) of the control traffic generated without considering the locality problem. While Figure 5 shows that the imposed control traffic by the SLoPCloud solution is negligible, Figure 6 represents a comparison between different overlay topologies, implementing SLoPCloud solution. The control traffic represented in Figure 6 is measured by the number of sent control packets, for Ring, Hypercube, and CCC topologies. Clearly, the overlay topology does not have an eminent effect on the control traffic. The next investigated parameter was the bootstrapping time, i.e. the time required for the network to start its functionality. Figure 7 represents this time measured in second, for different number of nodes. To investigate the effect of SLoPCloud on this parameter, this figure represents the results for a simple Hypercube and locality-aware Hypercube. Obviously, although the SLoPCloud increases the bootstrapping time, the delay imposed by SLoPCloud seems to be acceptable. For instance, this value for a network with \(10^{4}\) nodes is about \(0.5\%\) of the network bootstrapping time for a network that does not consider the locality problem. The same parameter, i.e., network bootstrapping time, was calculated and compared between Hypercube, Ring, and CCC topologies, all with the presence of SLoPCloud. Figure 8 represents the results for different number of nodes. Clearly, CCC and Ring represent almost close results to each other, however, Hypercube shows an obvious better performance. Figure 5: A comparison between the control traffic of simple Hypercube and locality-aware Hypercube. Figure 6: The comparison of control traffic for different overlay topologies, using SLoPCloud. to the number of neighboring nodes in different overlay topologies. While the neighboring nodes for Ring and CCC are fixed and equal to two and three, respectively, it is equal to the number of dimensions in Hypercube overlay.