Graph partitioning algorithms for optimizing software deployment in mobile cloud computing - Verbelen, Tim; Stevens, Tim; De Turck, Filip; Dhoedt, Bart (Future generation computer systems, 2013)
As cloud computing is gaining popularity, an important question is how to optimally deploy software applications on the offered infrastructure in the cloud. Especially in the context of mobile computing where software components could be offloaded from the mobile device to the cloud, it is important to optimize the deployment, by minimizing the network usage. Therefore we have designed and evaluated graph partitioning algorithms that allocate software components to machines in the cloud while minimizing the required bandwidth. Contrary to the traditional graph partitioning problem our algorithms are not restricted to balanced partitions and take into account infrastructure heterogenity. To benchmark our algorithms we evaluated their performance and found they produce 10%–40% smaller graph cut sizes than METIS 4.0 for typical mobile computing scenarios. ► Algorithms for partitioning software on the cloud are presented. ► KL-based algorithm allows fast partitioning for realtime use. ► Simulated annealing improves solution quality at the cost of computation capacity. ► Hybrid approach combines both. ► Comparison to METIS shows our algorithms find 10%–40% better graph cuts.