Article Preview
Top1. Introduction
Cloud Computing includes a big set of virtual resources that are interconnected in a distributed environment. Here, pay-per-use service is used, and the service is given by service providers of cloud e.g. Microsoft, Google, Amazon etc. Cloud Computing provides convenient access to resources such as storage, services, networks etc. The main attributes of cloud computing are elasticity and scalability. Elasticity means to rise or shrink the infrastructure resources as per users’ need. Scalability means the capability to maintain a balance between the demand of the bandwidth and CPU storage etc. It is an appropriate research field accepted in academic as well as in the industrial world.
Load Balancing Techniques: Maintaining the load balance of tasks at virtual resources is the main aim of load balancing techniques. Here, the load is distributed between all the nodes by avoiding the situation of the machine over-loading and under-loading. To increase the resource utility of the whole system, a resource utilization ratio is calculated. There are different types of load balancing approaches i.e. weighted round robin, two stage scheduling, dynamic load balancing etc. Out of these algorithms, min-min, round robin, and max-min have been discussed and then compared with the proposed algorithm.
Round Robin Algorithm: It is the easiest technique for distributing user requests among the virtual resources. Consider there are only two machines on which tasks are executed. As the first request arrives, task is forwarded to the first machine. Similarly, on the second request, the task is allotted to the next machine. Again, when the third request arrives, task is allotted to the first machine and so on. It is a cyclic process. Round Robin approach gives better results for servers with identical weights.
Min-Min Algorithm: Here, the execution time of every task on every machine is calculated first and then for every task, the machine which executes the task in minimum time is selected. In the second case, a task whose completion time is least, is chosen and is given to a machine whose execution time is the least. This procedure is continued till all tasks are allotted to the virtual resources (Etminani & Naghibzadeh, 2007) (Chauhan & Joshi, 2010) (Kokilavani & Amalarethinam, 2011) (Buchheim & Kurtz, 2016).
Max-Min Algorithm: This technique is equivalent to the min-min algorithm, but there is a modification in the second part. In this approach, firstly, the execution time of every cloudlet on all machines is calculated and then every cloudlet allocated to the machine is executed in minimum time. In the second part, between all the cloudlets, cloudlet with maximum execution time is selected and is assigned to the machine. The procedure is followed until all the cloudlets get executed (Elzeki et al., 2012) (Kok Konjaang et al., 2016) (Bansal et al., 2016).