Background: The field of cloud computing has been evolving for over a decade now. Load balancing is an important component of cloud computing. Load balancing implies scheduling of cloudlets (tasks) on virtual machines. Since this is an NP-hard problem, various heuristics for load balancing have been proposed in the research literature. The heuristics have been categorized, simulated and benchmarked in various ways; however, the information is scattered across many review articles. Objective: This review aims to bring a broad range of load balancing heuristics found in the research literature under one umbrella. It includes a comprehensive list of heuristics, a holistic set of criteria for their classification, and some key performance metrics and simulation tools used for their benchmarking. An illustration of a fair and comprehensive comparison of heuristics is provided using CloudSim Plus, a recent and advanced simulation tool. Method: The simulations performed with CloudSim Plus employ a generic model of task and machine heterogeneity with Poisson arrival of cloudlets and exponential distribution of cloudlet length to emulate actual cloud-computing scenarios. The simulation results in terms of key performance metrics are used to compare four centralized load balancing heuristics including Join Shortest Queue (JSQ), Join Idle Queue (JIQ), Round Robin and Minimum Completion Time (MCT).
Read full abstract