An Energy-Efficient Hybrid Scheduling Algorithm for Task Scheduling in the Cloud Computing Environments

The main intent of the cloud computing to provide utilities to the demands of the users that are booming day by day. To meet the requirements, existing scheduling algorithms focus on the improving the performance and neglecting the energy consumed to fulfill those demands. Hence, we propose a new Hybrid Scheduling Algorithm (HS) which is based on the Genetic Algorithm (GA) and Flower Pollination based Algorithm (FPA) for cloud environments. The proposed scheduling algorithm has surpassed in terms of performance across various parameters, i.e. completion time, resource utilization, cost of computation, and energy consumption for both cloud environments than the existing scheduling algorithms (GA and FPA). The simulation results revealed that HS has demonstrated maximum resource utilization with minimum energy consumption in less completion time for the execution of the tasks as compared to the existing scheduling algorithms in both environments. The simulation results have shown that HS has utilization of the resources, 36% better than GA and 16% better than FPA in homogeneous environment whereas in heterogenous environment, HS has performed 12% better than GA and 3.8% better than FPA. The performance of HS has an improvement of 2.6% from FPA and 6.9% from the GA for completion time in homogeneous environment whereas the completion time of the HS is reduced by 17.8% from FPA and 33.7% from GA in heterogeneous environment. For energy consumption, HS has improved 22% than FPA and 11% from GA in the homogeneous environment and HS is 4% better than FPA and 14% from GA in heterogeneous environment.


I. INTRODUCTION
Cloud computing is the emerging paradigm that renders hardware as well as software as a service, which is commoditised and delivered in a way similar to utilities such as telephony, electricity, gas, and water [1]. It is a simple The associate editor coordinating the review of this manuscript and approving it for publication was Lo'ai A. Tawalbeh . pay-per-use consumer-provider service model. According to National Institute of Standards and Technology (NIST), 'Cloud Computing is a model for enabling convenient, on-demand network access to a shared pool of configurable resources (e.g., networks, servers, storage, applications, and power) that can be rapidly provisioned and released with minimal management effort or service provider interaction'' [2]. For example, Apple iCloud is the service provided by the VOLUME 9, 2021 This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/ enterprise for the ease of clients so that users can access their data stored in the cloud from any device they connect to [3]. The cloud provides a platform for multi-tenant computing which allows the users to share resources. Cloud computing resources are concentrated in a manner to support the varied demands of clients, thus bringing in more opportunities and challenges for Cloud Service Providers [4]. Resource Management is always a significant issue in cloud computing, like any other computing paradigm. Due to the availability of finite shared resources, it is very challenging for cloud providers to fulfil all the requests. Resource Management System deals with the optimum utilisation of shared resources. Manvi and Krishna Shyam [5] stated resource as ''any physical or virtual component of limited availability within a computer system. Every device connected to a computer system is a resource.'' According to Jennings and Stadler [6], the resources can be computing resources, networking resources, storage resources, and power resources. Computing resources are the collection of the physical machines, each comprised of processors, memory, etc. Each physical machine hosts virtual machines that may have different configurations depending on the user requirement. Networking resources consider network topologies, latency, and bandwidth for resource management. Storage resources provide storage services, assuring consistency, and reliability. Power resources focus on energy usage. Various resource management techniques have been proposed in the literature [4], [6], [3] to handle these resources. Resource Management techniques classify as Resource Discovery, Resource Scheduling, Resource Allocation, and Resource Monitoring.
Scheduling algorithm plays a vital role in the resource management system [4]. The scheduling algorithm is responsible for allocating system resources to various tasks submitted by clients/users. While assigning the resources, sometimes the resources are under-utilised or over-utilised, which affects the performance of the scheduling algorithms. According to recent studies by Endo et al. [7], the energy consumed by idle resources is much higher as compared to the resources utilised by the data centres in cloud computing which is in a ratio of 60:20 respectively. Also, server energy consumption is directly proportional to the resources used. All over the years, task schedule is a significant research area in different architectures and environments starting from single processor to cloud computing. Cloud computing is a model for enabling ubiquitous network access to a shared pool of configurable computing resources where available resources must be checked and scheduled using an efficient task scheduling algorithm to be assigned to clients.
Traditional resource management techniques are not adequate for cloud computing as they are on virtualisation technology with distributed nature. Cloud computing introduces new challenges for resource management due to heterogeneity in hardware capabilities, on-demand service model, pay per use model and guarantee to meet QoS [3], [6]- [10].
From the cloud providers perspective, allocation of cloud resources must be fairly and efficiently.
So, it is a vital issue to meet cloud consumers QoS requirements and satisfaction like efficient utilisation of resources, cost reduction from cloud provider's perspective, energy reduction [10]- [13].
In this paper, we propose a new scheduling algorithm named as Hybrid Scheduling Algorithm (HS) based on Flower Pollination based Algorithm (FPA) and Genetic Algorithm (GA). FPA and GA are meta-heuristic scheduling algorithms having the significant ability to imitate the best features in nature which help in improving the performance of the scheduling algorithm. The objective is to design an energy-efficient scheduling algorithm for cloud computing that satisfy user's requirements while offering excellent performance.
Meta-heuristic scheduling algorithms provide better and optimal solutions as they are based on the selection of the fittest for finding an optimal solution. Various research [14], [15] proves that the efficiency of task scheduling can be made better manageable with the help of Flower Pollination based Algorithm (FPA). FPA helps in providing optimal solution due to its convergence nature which results in more utilizing of resources with less energy usage. The main drawback of FPA is the time consumed to execute tasks. Hence, we combine some properties i.e. Crossover and Mutation of Genetic Algorithm (GA) with FPA resulting into Hybrid Scheduling Algorithm (HS) which efficiently handles all the tasks and resources assigned in the cloud computing environments. This hybrid combination is not yet implemented in the cloud computing environment as per best of our knowledge and hence this novel approach is considered for providing better services.
Hence, the main motive of this paper is to propose an energy-efficient scheduling algorithm which assigns all the available resources efficiently for the execution of tasks in cloud computing environments. This paper is divided into 8 Sections. Section II discusses about the related work done in the literature. Section III deliberates about the mechanism of Hybrid Scheduling Algorithm. The simulation environment and performance metrics that are considered is present in Section IV. Furthermore, the results and discussions were analyzed in the next section. The problem of fairness is explained in Section VII and Conclusions were made in the last section with the future scope.

II. RELATED WORK
In this techno-savvy world, the massive demand of the Internet and its services are changing the way we work in our daily routine. Cloud computing is a technology that uses the Internet and unites the world by providing its different services. According to the Berkeley Report [16], ''Cloud computing, the long-held dream of computing as a utility, has the potential to transform a large part of the IT industry, making software even more attractive as a service''. Cloud computing service providers offer infrastructures, platforms as well as software services to the organizations. With the increasing demand of these services, cloud computing service providers like Amazon AWS, Adobe, Google, Microsoft, Accenture, Cisco and IBM are proactively deploying data centres around the world to deliver Cloud computing services [17].
For the effective realization of potential, cloud computing service providers are bringing in a lot of flexibility and diversification to meet requirements of their clients, which does not involve any intervention or disturbance at client's end in context to infrastructure [17]. The pace of research towards cloud computing is growing fast as observed over the last decade, which has further led to worldwide participation in workshops, conferences and an increase in publications on Cloud Computing [6]. Fakhfakh et al. [18] and Zhang et al. [9] have presented an overview of cloud computing and focused on the state-of-the-art research challenges in which resource management system is of great importance in the cloud computing environment. According to the survey done by Jennings and Stadler [6], Resource management is very challenging due to the scale of modern data centres; the heterogeneity of resource types and their inter-dependencies; the variability and unpredictability of the load; as well as the range of objectives of the different actors in a cloud ecosystem.
Due to the multifarious nature of resources and uncertainty in the flow of tasks, the level of difficulty increases in context to scheduling in resource management system [4], [19]. The scheduling algorithm maps numerous distinct tasks to the shared resources in the cloud computing environments. During the mapping, some resources remain idle, whereas some exhaust more. It results in underutilization and over-utilisation of the resources. Thus, the management of the resources is of great concern for the scheduling algorithm.
Recent studies [20], [21], have focused on one parameter for the performance evaluation of the task scheduling algorithm. Khanghahi and Ravanmehr [22] stated that many factors, such as workload, usability, location, etc. affect the performance of the task scheduling algorithm. Thus, the performance evaluation of the scheduling algorithm based on a single parameter is not that effective. Hence, this thesis considers four parameters for assessment of the performance of the proposed algorithm.
Nowadays, the increasing demand of services provided by cloud computing has led to various challenges. The heat generated by data centre servers, for attaining efficiency in cloud computing is on the rise. The electricity required for running and for cooling off the data center servers is very expensive because of a lot of energy consumption.
According to Lee and Zomaya [23], the energy consumption issue has undoubtedly improved to a certain level due to the recent advances in hardware technologies. But, because of the different usage patterns of auxiliary and computing resources affecting the amount of energy consumed, has further led sustainable computing into a serious concern [24], [25]. It means that a higher volume of energy consumption is affected by over-utilisation or underutilization of resources as compared to the situation in which resources are effectively utilized. It calls for the development of an efficient scheduling algorithm which allocates each task to the resource by which energy consumption is minimum without performance degradation for the execution of tasks.
Nevertheless, the performance and the scheduling of the tasks to the resources by the scheduling algorithm is very much dependent on cloud computing environments. According to [26], different cloud computing environments are developed to match the varying requirements of clients which are classified as federated and non-federated, static and dynamic, homogeneous, and heterogeneous [27]- [29]. Therefore, this paper takes into consideration two environments, namely homogeneous and heterogeneous.
Kansal and Chana [30] have presented an energy-aware resource utilisation technique based on artificial bee colony (ABC) optimization. An energy-aware model has been developed to enhance resource utilisation and efficiently manage cloud resources. Different workloads such as CPU-intensive workloads and memory-intensive workloads have been considered by the author, as different types of workloads do hinder in virtualized environments. There are two drawbacks in this technique. First, this technique was implemented only in a homogeneous environment. Secondly, they consider only two different workloads.
According to [31], the temperature on physical machines affects the working of cloud computing. As the author discusses, VM creation depends on the temperature of the physical machine. The increase in temperature of PMs results in many environmental hazards. The author proposed a new proactive technique in which if the temperature reaches the threshold value, then cooling of the physical machine is the foremost requirement, and VMs created accordingly.
According to [32], the allocation of VMs to PMs is handled by PSO with the multi-objective fuzzy method. In this, the author concentrates on power consumption, processing resource wastage, and temperature metrics based on which the proposed algorithm outperforms. The main goal of this proposed method is efficiently obtaining a near-optimal solution that minimises the performance parameters.
Mhedheb et al. [33] proposed a load-aware and thermalaware VM scheduling mechanism in which the VM migration is done in such a way that load and temperature are balanced. It also helps in reducing energy consumption. With this technique, physical hosts are relieved from high temperatures as well as over-utilisation. This mechanism implemented in the CloudSim tool.
According to Lee and Zomaya [23], the energy consumption issue has undoubtedly improved to a certain level due to the recent advances in hardware technologies. But, because of the different usage patterns of auxiliary and computing resources affecting the amount of energy consumed, has further led sustainable computing into a serious concern [24], [25]. It means that a higher volume of energy consumption is affected by over-utilization or underutilization of resources as compared to the situation in which resources are effectively utilized. It calls for the development of an efficient scheduling algorithm which allocates each task to the resource by which energy consumption is minimum without performance degradation for the execution of tasks.
Nevertheless, the scheduling of the tasks to the resources by the scheduling algorithm is very much dependent on cloud computing environments. According to [26], different cloud computing environments are developed to match the varying requirements of clients. Different cloud environments depend upon on preferences of clients such as federated and nonfederated, static and dynamic, light-loaded and heavy-loaded, homogeneous, and heterogeneous as displayed in Table 1. The performance of the scheduling algorithm depends on cloud computing environments [27], [28], [29]. Therefore, this paper takes into consideration two environments, namely homogeneous and heterogeneous.
Based on the literature, it becomes necessary to handle the scheduling of the tasks efficiently. Optimization criteria such as minimum completion time, efficient resource utilization, cost-efficiency, maximum throughput, etc. are used to achieve optimal task scheduling [34], [35]. Due to the enormous tasks that are to be scheduled in different cloud environments, it becomes challenging to find the best solution. So, this paper focuses on more than one parameter and considers completion time, energy consumption, resource utilization, and cost of computation as performance metrics for homogeneous and heterogeneous cloud environments.
Two Algorithms are used which are explained as follows: 1. Genetic Algorithm Genetic algorithm is an evolutionary algorithm which comes under meta-heuristic scheduling algorithms. Genetic Algorithm (GA) has brought an incredible impact to many growing areas, such as Product Process Design, Knowledge discovery, Decision Analysis, Image Processing, Artificial Intelligence, Stock market Analysis, Pattern Recognition, and Resource Scheduling. Due to the multipurpose features of the genetic algorithms, such as easy interfacing with the existing simulations and models, this algorithm has rapidly developed and widely used. A GA comprises chromosomes which signify the complete solutions, i.e., resource allocations. Chromosomes contain a complete set of genes. A gene represented as a task is the underlying data structure of GA and the process of GA. The genetic algorithm consists of the following five steps: • The first step is the Initialisation step in which the initial population is chosen randomly, generating the entire range of possible solutions (the search space), which are encoded into fixed binary strings. In this step, the resource population and task population is generated randomly.
• The second step is Fitness Evaluation, in which the solution obtained from step-1 is used to evaluate the fitness values. The fitness function is the method of measuring the quality of the represented solution. Here, based on the potential of the resources and requirements of the tasks, fitness is calculated.
• The third step is the selection of the population. In this step, based on the fitness values, the best solutions are selected. With the genetic material, better ones survive to the next generation passed on, which means for its execution best resource is selected for the best-matched task.
• The fourth step is applying genetic operators, namely, Crossover and Mutation. In this step, with the use of the combination of genetic operators, the possible second-generation population of solutions is generated. This method continuously makes the population until a new population of appropriate size is generated. For a crossover, possible generated solutions are matched to for new generation, and mutation, allocations are swapped.
• The last step is the Termination step. In this step, when all jobs are executed entirely, then it stops. This execution is continuous until when a fixed number of generations with a solution that satisfies minimum criteria is achieved.
2. Flower Pollination Algorithm Flower Pollination based algorithm is a bio-inspired scheduling algorithm based on the concept of flower pollination. Flower pollination is a procedure that acts within nearly 80 per cent of the earth's plant species. Flower pollination is a process where pollinators such as insects, birds, bats, other animals take care of the transfer of pollen grain. For a successful pollination process, some flowers can only attract a specific species of insect or bird, and there are only two primary forms of the biotic and a-biotic pollination process. In the cycle of biotic pollination, pollen grains are carried by insects and animals from the pollinator. In the process of a-biotic pollination, they do not want a pollinator. This flower pollination phenomenon can be used to solve several distributed and complex computational issues of the cloud computing world. It also helps us to address resource management problems in the cloud computing system. The steps for algorithms as follow: • The first step is Initialisation in which a random population of n flower/pollen gametes is initialised with random solutions. When scheduling is done, flowers are taken as resources, and pollen are taken as tasks in the cloud systems.
• The second step is the Selection of the Best Solution (g * ) in which the best solution is selected, i.e., the best resource from the generated population and also afterwards define the switching probability between 0 and 1.
• The third step is to Evaluate New Solutions. While scheduling, for each iteration, if rand is less than switch probability, then global pollination is executed; otherwise, local pollination is implemented, and then the new solution is evaluated accordingly.
• The fourth step is to Update population. It means that if the new best solution is not optimal than the g * , then the population is updated; otherwise, the stop criterion is checked.
• The fifth step is the Termination in which the execution is done when a fixed number of generations satisfy minimum criteria with an optimal solution. It means when all jobs are executed, then it halts.

III. HYBRID SCHEDULING ALGORITHM
Hybrid-Scheduling Algorithm (HS) comprises of the Flower Pollination-based Algorithm (FPA) [15] and Genetic Algorithm (GA) [36] to assign resources to their tasks. In this scheduling algorithm, we take tasks and resources as inputs in the form of flowers and pollens. A random population generated with the combination of all resources and tasks. The processing of the FPA is applied to the resources to find out the VMs which can solve the tasks assigned by the clients.
After processing, the output of the pollination is taken as input for the Genetic algorithm. One point crossover and swapping method of mutation is used in this approach. It provides the best-matched solution as per the requirement. HS helps the users to ensure efficient machines to execute their tasks and better performance for handling multiple tasks at the same time. Hence, HS is an energy-efficient algorithm which distributes the resources among tasks with less energy. Also, the complexity of the proposed algorithm is O(n). In this cloud computing model, 'n' number of independent tasks represented as T 1 , T 2 , T 3 . . . . . . .T n assigned to 'k' virtual machines described as VM 1 , VM 2 , VM 3 , . . . . . . VM k for the execution. These virtual machines generated from 'm' physical machines called cloud resources represented as R 1 , R 2 , R 3 , . . . . . . Rm for both homogeneous and heterogeneous cloud computing environments. This mapping is based on specific parameters. All these entities have their characteristics. Like, a task T i identified by its unique ID expressed as T ID and name denoted as T Name . Every task contains information like a set of instructions means the length of the task T Length , Date and time T date , the identity of the user T user who submitted the task and requirement of the task T Require that defines the category of the task is represented as: Similarly, A Resource Rj identified by its ID and Name represented as R ID and R Name respectively. Each resource contains information like memory R RAM , Current Temperature R Temp , Operating System R OS , Processor R Processor , and Storage Space R Space expressed as: Virtual Machines are vital part of this model and identified using its unique ID VM ID and Name VM Name . It contains information like, the VM belongs to which resource by using R ID and the capability of the machine to handle the task using its MIPS rating VM MIPS and is represented as: The working process of the Hybrid Scheduling Algorithm (HS) shown in Figure 1 and described as given below is explained in following phases: • Input In this phase, firstly we initialize population size according to the task and resource requirements and maximum number of generations (maxgen) which is 20. Then, switch probability P is defined whose valu lies between [0,1]. Then, the population of tasks taken as flowers and resources taken as pollens is initialized with the random solution(rand).
To maintain the competence of the Hybrid Scheduling algorithm, VM is generated based on the criterion which is checked by the VM generator, as shown in Figure 2. Here, 'n' number of physical resources generates 'm' virtual machines depending on the criterion passed to VM Generator  where m>n. This mechanism generates a Virtual Machine (VM) from a Physical Machine (PM) based on its temperature. Here, the criteria comprise of three different temperature conditions that are set for VM Generation. Three different categories are as follows: (a) Very High (VH), (b) High (H), and (c) Low (L). If the temperature of the PM is higher than VH (>35 • C), then only one VM is generated, which means that one device works like two devices only. If the temperature is between H and L (<35 • C and >30 • C) and under L (<30 • C), then three and five VMs are generated from single resources, respectively, as shown in Figure 2. Hence, VMs are generated based on the temperature for each pollen and the current best solution (g * ) is found. The temperature of the physical resources are considered before the execution of the tasks and during execution, the temperature varies.

Algorithm: Hybrid Scheduling Algorithm (HS)
• Local Pollination In this phase, the value of rand is checked. If the value of rand is less than P, then Local Pollination is performed for both flowers and pollens. In this pollination, flowers (tasks) and pollens(resources) are separately sorted using uniform distribution and new solution is generated. If all the tasks and resources are sorted then swapping method of mutation and one point crossover operators of the Genetic Algorithm are performed and new solution is updated. This new solution is checked whether it is greater than g * or not. If yes, then it is passed for global pollination otherwise crossover and mutation operators are performed again.

IV. SIMULATION ENVIRONMENT AND PERFORMANCE METRICS
We consider ASP.Net as the simulation tool for our Experiments. Two different cloud computing environments, namely, homogeneous and heterogeneous, are created with the help of the simulation tool, as displayed in Table 3. Here, in the cloud computing environment, one data centre is considered which contains 100 physical resources with their own configurations.
The proposed algorithm, HS, uses one threshold temperature (High) for all the resources in the homogeneous environment. In contrast, we use three threshold temperatures (Low, High and Very High) for the heterogeneous environment. The generation of VMs depends on these threshold temperatures as already discussed in the above section. Initially, random temperature is allocated to machines which changes while executing the tasks. We took different workloads as displayed in Table 2 to analyze the performance of HS and compares with GA and FPA on the basis of performance metrics in the next section. These workloads or assigned tasks has three different types of resource requirement i.e. CPU-intensive, Memory-intensive or Both. In our experiments, we will be using the following metrics to scrutinize the performance of the meta-heuristic scheduling algorithms: • Resource Utilization (RU) Resource utilization is an essential factor in analyzing the performance of physical machines in terms of handling resources. So, it defines the number of resources utilized for the execution of a given amount of tasks. The calculation of the resource utilization factor is as follows: Completion Time defines the amount of time required to complete the task. The task is a set of instructions that can be handled by a physical machine where the physical machine has its rate of handling the instructions called (Million Instruction per Second) MIPS rating. Completion Time is the sum of Execution time and Waiting Time and calculates as follows: where CT = Completion Time of the allocated tasks, WT i = Waiting time of the task for the availability of the resource and T i = Execution Time of the allocated task Now, Execution Time (ET) defines the time taken by the physical machines for the execution of the task. So, for calculating the time for the execution of the tasks by physical machine is by using the following formula: The above formula uses to calculate the execution time for only one task. Waiting Time defines the total amount of time taken by the task before execution. Waiting Time depends on the availability of the resource.
• Energy Consumption (EC) In the cloud computing environment, the physical machines consume energy for providing the services to the users, and the energy consumption depended on the temperature of the physical machines. Here, the total temperature defined as the sum of the temperature of the total resources utilized in the task execution. In contrast, the average temperature is the average temperature of all the resources used for simulation. Hence, energy consumption is the amount of energy consumed for the execution of the tasks, and the calculative formula is as below: We evaluate the performance of the proposed Hybrid Scheduling Algorithm (HS) and compare with the performance of Genetic Algorithm (GA) [36] and Flower Pollination based Algorithm (FPA) [15] through simulation approach based on performance metrics. We first discuss the Experiments conducted for Homogeneous Cloud Computing Environment, and then we consider the Heterogeneous Cloud Computing Environment for each performance metric. Resource Utilisation: When the scheduling algorithm assigns the tasks to the resources, then at times, some resources remain under-utilized and some over-utilized. There forth, the main focus of the scheduling algorithm is to complete the execution of the tasks by utilizing maximum resources in less time. HS has used more resources than FPA and GA in both cloud computing environments for different workloads.
The graph of Figure 3(a) revealed that in a homogeneous environment, for Workload_1, FPA has used less resource than GA and HS. It means that some resources are idle or some are exhaust more. But when from Workload_2 to Workload_6 is seen, GA has the same condition of using less resource. There is also changeability in the utilisation of resources for Workload_2 in GA. It possibly affected the performance of HS and shown variation in the results of Figure 3(a). Results have also shown that HS has utilized resources 36 % better than GA and 16 % better than FPA.
In the heterogeneous environment, resources have different configurations, and disadvantage is the availability of the resource is not guaranteed. But the advantage of the heterogeneous environment is heterogeneous resources used for the completion of the task, which means maximum resources are used in this environment as compared to the homogeneous environment. 98 % of the resources are maximum utilized as displayed in the graph of Figure 3(b). HS achieves this percentage for Workload_5, and when the case is for Work-load_6, FPA has also made this percentage. It means that HS has effectively used the resources for the completion of the tasks. The results revealed that HS had performed 12% better than GA and 3.8% better than FPA in utilizing the resources.
Completion Time: For any scheduling algorithm, the completion time depends on the utilisation of the resources.
The graph in Figure 4  of HS has an improvement of 2.6% from FPA and 6.9% from the GA, as seen in Figure 4(a).
The graph in Figure 4(b) shows that remarkable effect in the performance of HS when compared with GA and FPA in a heterogeneous environment. The generation of the VMs based on three threshold temperatures of the PM has propelled HS for the completion of the tasks in lesser time.
As results have shown, the completion time of the HS is reduced by 17.8 % from FPA and 33.7 % from GA.
Energy Consumption: Nowadays, the scheduling algorithm focuses not only to provide better services to cloud users by performing the execution of tasks efficiently but also in maintaining energy usage. As seen in a homogeneous environment, FPA has consumed maximum energy, whereas, in a heterogeneous environment, GA has maximum energy consumption. It means that when we use similar resources, FPA has to consume more energy to find an optimal solution. Still, when we use different resources, GA has wasted more energy for the execution of tasks. The results also revealed that HS had consumed less energy than GA and FPA for both cloud computing environments because, in Hybrid Scheduling Algorithm (HS), FPA is used to assign resources to tasks with the help of GA.
The graph in Figure 5(a) illustrates the energy consumption of GA, FPA and HS for the homogeneous environment. In the case of Workload_1, when the number of tasks is less than the energy consumed by GA is very high, whereas there is very less difference between the values of FPA and HS. As the number of tasks increases, the difference between FPA and HS also increases. It is because HS is a combination of FPA and GA, and the performance of FPA and GA has some effect VOLUME 9, 2021  Figure 5(a) depict that Hybrid Scheduling Algorithm (HS) has improved 22% than FPA and 11% from GA in the homogeneous environment. When the energy consumption for the heterogeneous environment is analyzed as displayed in the graph of Figure 5(b), from Work-load_1 to Workload_4, the difference in the use of energy between FPA and HS is very less. GA also has less difference when the case is Workload_2 and Workload_4. After this, there is a tremendous increase in the energy consumption for Workload_5 and Workload_6 by GA and FPA as compared to HS. These fluctuations can be because of the heterogeneous resources that we use for the execution of the tasks. As shown in the graph of Figure 5(b), HS is 4 % better than FPA and 14% from GA in terms of energy consumption.
Cost of Computation: Cost of Computation depends on the number of resources used for the completion of the tasks. If the utilisation of the resources is more than the cost of computation will be less. The graph of Figure 6(a), reveals that HS has an improved performance than FPA and GA in terms of cost of computation in a homogeneous environment. When Workload_1 considered, HS has an improvement of 13.9% than FPA, which is maximum, and when we consider Workload_4, HS has a gain of only 1.4% than FPA, which is minimum. The results of the graph of Figure 6(a) also revealed that GA has the cost of computation 12% higher than FPA and 18% than HS, which means it has overall less resource utilisation. The graph of Figure 6(b) depicts the performance of the HS. HS outperforms GA and FPA in terms of the cost of computation in the heterogeneous environment. As seen in the graph of Figure 6(b), GA and FPA have fluctuations in the different workloads, and HS has consistently improved in the performance from Workload_1 to Workload_6. The overall improvement of the HS as compared to FPA and GA is 7.9% and 19.9% respectively.

VI. FAIRNESS PROBLEM
Performance and fairness of the scheduling algorithms are mainly studied independently [37]. Most of the task scheduling algorithms for achieving the optimal performance adheres to the maximum resource utilization. But, according to [37], the scheduler must guarantee two aspects: one is good performance in terms of resource utilization and completion time, and second one is fairness as an important factor to keep user satisfaction. Unfairness in task scheduling occurs when the scheduling algorithm is unable to handle computing requirements during the execution of the tasks. This leads to starvation in the task execution. A very good example of Carpool problem is taken by [38], [39] for explaining fairness in scheduling. Due to unfairness, some tasks may be starved at the expense of others and starvation is not adequately expressed by the performance metrics. A good performance does not guarantee fairness in terms of starvation. Hence, an effective scheduler must have an efficient scheduling algorithm which needs to be fair with good performance [37]. Task scheduling algorithms has been studied extensively but the issue of fairness in task scheduling has usually not been considered much quantitatively [39], [40].
Fairness can be achieved when the scheduling algorithm equally distributes all the resources among various tasks in cloud computing. However, according to [41], [42], the fairness cannot be achieved by simply distributing an equal amount of computing resources to every task. Some task may prefer the resources which have less waiting time, while other task may prefer the resources which provides less completion time. Also, it is possible that a task is allocated preferred resources, but the resources are utilized by multiple tasks that degrade the performance of the scheduling algorithm significantly as well as leading to starvation of resources. With the simple fair allocation of the resources, the scheduling algorithm ends up having poor fairness in these cases [43]. Hence, some common fairness metrics such as Measures of dispersion, Fair start-time analysis and the Resource Allocation Queuing Measure (RAQFM) are existing in the literature. Mostly, deviation methods are used to ensure the fairness among resources [43], [44]. We have used Jain's fairness index [45] as fairness metric using the formula below: where N = total number of resources which is taken as 100 i = number of resources varies from 1 to 100 x = number of tasks per resourcex = mean of total number of assigned tasks per resource According to [45]- [47], the Jain's Fairness Index (J) ranges from 1/N (worst case) to 1 (best case) and it is maximum when all the resources are fairly distributed among the tasks. Standard deviation for tasks per resource is calculated as shown in Equation (1). After calculating SD, Mean is calculated with the formula in Equation (2). Calculation of variation is obtained using Equation (3). There forth, fairness is seen using the Equation (4). For Jain's Fairness Index(J), the middle value (0.5) is considered as threshold value which depicts if the value of J is more than threshold value than the distribution of the resources is towards fairness otherwise if the value is less than distribution of the resources is towards unfairness. We investigate that the Jain's Fairness Index of GA, FPA and HS for different workloads is less than threshold value for all workloads as shown in Figure 7. For example, for Workload_1 is 0.35 whereas for Workload_3, the value is 0.18, and hence, HS depicts unfairness.

VII. CONCLUSION AND FUTURE SCOPE
Efficient task scheduling is one of the main critical challenges in cloud computing. This paper proposed an energy-efficient scheduling algorithm (HS) for task scheduling in different cloud computing environments, which helps to provide available resources to the tasks for execution efficiently. The HS has three phases, out of which two phases are very significant comprising of local pollination and global pollination. The former phase helps in sorting the tasks and resources separately while the latter helps in mapping the sorted tasks to the sorted resources. Both these phases help in scheduling the tasks to available resources competently. The combination of FPA and GA in HS helps in the execution of the tasks by utilizing maximum resources with less energy consumption in less completion time. The simulation results (using ASP.NET) achieved by comparing the HS with other scheduling algorithms like GA and FPA, revealed that the proposed algorithm is capable of producing better and efficiently scheduling tasks and managing resource than the existing scheduling algorithms in different cloud computing environments. However, due to the heterogeneity of workloads poses a significant challenge to HS for fair allocation of the resources for task scheduling in the cloud computing environments. HS has Jain's Fairness Index (J) value less than threshold value, thus exhibits unfairness. The unfairness of the scheduling algorithm occurs when the task is unable to attain the required resources, and the task has to wait for the execution that will increase the completion time. Hence, we extend the proposed HS to include fairness in the distribution of the available resources to the tasks based on the workload type in different cloud computing environments in the future. Also, our performance studies restricted to a maximum of 600 assigned tasks and 100 resources for homogeneous and heterogeneous cloud computing environments. This workload can be extended in the future and can be performed on the real cloud environments in future.