i-manager's Journal on Cloud Computing

View PDF

Volume :3 No :1 Issue :-2016 Pages :30-36

A Survey on Energy Aware Job Scheduling Algorithms in Cloud Environment

Shaik Naseera *    P. Jyotheeswai **  
* Associate Professor, Department of Computing Science and Engineering, VIT University, Vellore, India.
** Associate Professor, Department of Computing Science and Engineering, SVCET, Chittoor, India.

Abstract

Now-a-days there is a lot of attention to cloud computing by the Research community. Cloud computing is a platform that supports the sharing of resources, communication and storage capacity over the internet. The primary benefit of moving to the Clouds is application scalability. It provides virtualized resources and are built on the base of Grid & distributed computing. Cloud computing is also environmental friendly framework. It benefits from the efficient utilization of resources and optimal scheduling algorithms. The growth of internet based applications demands the need for the development of algorithms that cope with the escalation in energy consumption and reduce the operational cost and emission of CO gases. In this paper, the authors present a review on energy aware job scheduling algorithms existing 2 in the literature. This paper helps the readers to understand the functionality and parameters focus of various energy aware scheduling algorithms available in the literature.

Keywords :

  • Cloud Computing,
  • Green Energy-Efficient,
  • Improved Differential Evolution,
  • Dynamic Resource Allocation,
  • Job Scheduling,
  • Just In-time,
  • Adaptive Energy-efficient,
  • Hierarchical Reliability-driven

Introduction

Cloud Computing is a scorching topic in the field of computers as an emerging new computing model [1]. It is a type of computing in which dynamically scalable and virtualized resources are provided as service over Internet [2]. According to NIST (National Institute for Standard Technology), cloud computing is defined as a pay-peruse model which allows on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction. Cloud computing is a model for ubiquitous, on-demand network access to the shared pool of configurable computing resources. The aim of green cloud computing is to have high per formance, and low-power computing infrastructure to have an energy efficient mode.

Models of cloud computing are shifting tremendously. The richest application running on the internet devices is client and in Client/Cloud architecture, a set of application services are running on the server in a rapidly increasing cloud computing platform. Applications can stretch across multiple client devices in the cloud. The environment in the cloud computing could be native application or browser based.

Power consumption is one of the nit picking issues in meeting the needs of different kinds of scheduling the resources in the cloud. Reducing the execution time is one of the factors, while scheduling the workflow and this is achieved by increasing the clock frequency, but which will lead to more consumption of power and heat dissipation [7]. There is a cop-out between performance and the power consumption. The design for aware of energy will not reduce the power or energy, but may decrease the peak power consumption in the processor.

Most researches have concentrated on the energy consumption levels in the data centers [3,4,5].The EPA, Environmental Protection Agency made a study and computed energy consumption at the data center and that will double from 2006 (61 billion kWh) to 2011 [3]. In 2009, the data center accounted for 2% of the worldwide electricity consumption with an impact of $30 billion [5].

The main drawback of consumption of energy in IT sector is the emission of greenhouse gases. IT sector contributes indirectly to carbon dioxide emission [4]. It is also responsible for 2% of carbon dioxide worldwide in 2005 [3]. The efficiency is computed by metric Power Usage Effectiveness (PUE), and which is defined as the ratio of energy usage in the total data center to the energy usage of IT equipment [3].

The tasks are scheduled by user requirements. Scheduling is a very important problem in a cloud computing environment. Scheduling becomes difficult only when the number of users in the cloud gets increased. Therefore, there is a need to go for a better scheduling algorithm than the existing one. This can be done by comparing and evaluating the various existing algorithms, thereby identifying the loopholes in the existing algorithms.

1. Comparison Parameters

The Scheduling algorithms are compared based on different kinds of parameters such as throughput, Response time, Resource utilization, Execution time, scalability and Fault tolerance.

  • Throughput

It is defined as the amount of work that a computer can do in a given Time period (or) Rate at which something can be processed.

  • Response Time

It is defined as the total amount of time it takes to respond to a request for service. The sum of service time and the wait time is Response Time (or) the time, the Functional unit takes to react to a given input.

  • Resource Utilization

Resources should be utilized efficiently to maximize customer service levels, to minimize lead time, and optimize inventory levels. It is defined as the amount of sources used to perform a particular task.

  • Fault Tolerance

It prevents a computer network device from failing in an event of error, also enables the system to continue operating properly in the event of failure.

  • Execution Time

It is defined as the time during which a program runs.

  • Scalability

It is defined as the ability to meet the increasing demands and growing amounts of work.

2. Objectives of the Study

The main objective of this paper is to

  • Present a review on various energy aware job scheduling algorithms available in the literature.
  • To present a comparative study on the optimization principle of the energy aware scheduling algorithms.
  • To list out the advantages and disadvantages of various algorithms.


3. Literature Survey

There are a number of scheduling algorithms that are used in both Grid and cloud environment. The functionality of various algorithms available in the literature and their features is discussed in this section. Table 1 shows the comparison of various scheduling algorithm

Table 1. Comparison of Various Scheduling Algorithms

3.1 S. P-Backfill Algorithm

Lalshrivratt Singh, et al., proposed P-Backfill algorithm. This algorithm is based on traditional Backfill algorithm using Prioritization of Jobs. To utilize cloud resources efficiently with less waiting time, the dynamic meta scheduler will deploy the arriving jobs using algorithm. It stats the execution of jobs according to priority states. This algorithm also uses Pipelining mechanism [6].

3.2 Hierarchical Reliability-Driven Scheduling Algorithm

Iaoyong Tang et al., proposed a hierarchical driven scheduling algorithm which has a local scheduler and global scheduler. The algorithm is dependent on the evaluation of every application reliability quantitatively [7].

3.3 Green Energy Efficient Scheduling Algorithm

Chia-Ming et al., proposed a Green Energy Efficiency algorithm for data center using DVFS technique. This technique is used to reduce the consumption of energy in the microprocessors, which is mainly used in laptops and cell phones generated by a separate scheduler. DVFS is used in super computers & clusters which reduces the operating frequency and voltage that leads to decrease in consumption of power of a given resource. There are two disadvantages of this DVFS Technique: (i) It focuses on schedule generation and do not take adequately the slack reclamation approaches to save more energy, (ii) The slack reclamation method use, only one frequency for each task among all set of processors frequency.

The consumption of energy in a server can be reduced using this technique when it is in the idle state or having less workload. The excess use of resources are prevented and minimum resource requirement of a job are satisfied [8].

3.4 Improved Differential Evolution Algorithm (IDEA)

Jinn-Tsong Tsai et al. proposed IDEA, a scheduling algorithm for cloud computing environment which optimizes task scheduling and resource allocation [7]. Two mock-ups were developed to reduce the total time and cost in Task scheduling. Using Taguchi method, IDEA algorithm improves Differential Evolution Algorithm (DEA) to generate an upgraded offspring.

3.5 Dynamic Resource Allocation Algorithm

Jiayin Li et al., proposed an approach for increasing the utilization of clouds using preemptive task execution. The algorithm adjusts resource allocation dynamically [9].

3.6 Job scheduling Algorithm

In a cloud data center to arrange the resources for executing jobs, a job scheduler is needed. The algorithm was proposed by Baomin Xu et al., has been established on Berger model. The Berger Model is planted on the Expectation states. This algorithm maintains two constraints. To classify the tasks of users, QoS preferences is the first constraint. Resource allocation fairness is judged by defining the fairness justice function is the second constraint [10].

3.7 Just-In-Time Scheduling Algorithm

Deepak Poola et al., designed an algorithm which is Fault tolerant in contrast to spot instances prior termination. The algorithm maps the task submitted by dispatcher onto the cloud resources [11].

3.8 Adaptive Energy Efficient Algorithm

Wei Liu, et al., proposed an adaptive energy efficient scheduling algorithm for performing parallel tasks on homogeneous clusters, which combines the adaptive task duplication strategy with Dynamic Voltage Scaling (DVS) Technique. The algorithm improves the Flexibility of the system, that also justifies threshold automatically. The algorithm goes in 2 phases. In the First phase, we can obtain an optimal threshold using adaptive threshold based task duplication strategy. In second phase, it schedules the groups on DVS enabled processors to reduce the energy of processors [12].

3.9 LBACO Scheduling Algorithm

The authors have proposed a Load Balancing Ant Colony Optimization (LBACO) algorithm to harmony the total system load while reducing the make span of a given task. This algorithm is better than FCFS, the basic Ant colony optimization [13].

3.10 Genetic Algorithm

The authors have proposed a genetic algorithm for multi QoS job scheduling which is based on the cost. They have also designed famous genetic cross over operators like PMX, OX, CX, Mutation, Swap and Insertion mutation [14].

3.11 Distributed Scheduling Algorithm

Palmerieri et al proposed a federated cloud environment, a fully distributed scheduling framework. The framework is based on independent and self organized agents which does not depend on any centralized control. The benefits are Good quality, Scalability, and gains high performance [15].

3.12 Priority Based Scheduling Algorithm

Ghanbari and Othman have proposed a priority based job scheduling algorithm based on multiple decision making models. The algorithm is also dependent on the theory of Analytical Hierarchy Process (AHP) [16].

3.13 Route Scheduling Algorithm

Zhang et al., proposed a route scheduling algorithm based on Ant colony and genetic algorithm. To find an optimal solution from ant colony algorithm, the initial value of genetic algorithm is given as input [17].

3.14 Cost Efficient Task Scheduling Algorithm

The algorithm uses two Heuristics techniques. In the first technique based on the concept of Pareto dominance, tasks are mapped dynamically to most cost efficient VM's. The second technique is complement to that first technique, that is it reduces the monetary costs of non critical tasks [18].

3.15 CLPS-GA

Ying Feng, et al., proposed CLPS-GA (A Case Library and Pareto Solution based hybrid genetic algorithm) for energy aware cloud service scheduling. This algorithm is based on classic multi objective genetic algorithm. CLPSGA includes Multi Parent Crossover Operator (MPCO), which is a 2 stage algorithm structure and case Library [19].

3.16 SHEFT Algorithm

Cui Lia, and Shiyong Lu proposed a Scalable Heterogeneous Earliest Finish Time algorithm, which is used to roster the flow of work in the climate of cloud computing. This algorithm is a prolongation of HEFT algorithm [20].

3.17 HBB-LB Algorithm

Dhinesh Babu, et al., proposed Honey Bee Behavior inspired Load Balancing algorithm. The algorithm balances load across VM for maximizing throughput. Load Balancing is based on Honey bee foraging strategy, which also improves the overall throughput [21].

3.18 CCBKE Algorithm

Chang Liu, et al., proposed CCBKE (Cloud Computing Background Key Exchange), a unique, proven key exchange scheme. The main goal of the algorithm is to make the scheduling in scientific applications a proficient and security aware. This algorithm is based on internet key exchange and strategy of Random Reuse [22].

3.19 R.RCO Algorithm

Yuanjun Laili et al., proposed the RCO algorithm. It is a dual scheduling algorithm, which is a combination of Service Composition Optimal Selection (SCOS) and Optimal Allocation of Computing Resources (OACR). To control the state of population, an adaptive Ranking selection is introduced. In this algorithm, Dynamic Heuristics are also defined [23].

Conclusion

Due to the challenges associated with Scheduling such as energy efficiency, resource allocation, and preemptive tasks, scheduling algorithms in cloud computing are more challenging as compared to other networks. In this paper, the authors have given a review about the various scheduling algorithms. Based on the requirements of data center and the kind of data they store in it, the scheduling algorithm for the data center can be chosen. This survey has provided us a good idea about the wide dimensions of scheduling resources and their functions. From the scheduling algorithms, it is observed that there is a need to implement a scheduling algorithm that can improve the availability and reliability in cloud environment.

References

[1]. A Quarati, A Clematis, A Galizia, and D D'Agostino, (2013). “Hybrid Clouds Brokering: Business Opportunities, QoS and Energy-saving Issues”. Simul. Model. Pract. Theory, Vol. 39, No. 2, pp. 121-134.
[2]. A Quarati, D D'Agostino, A Galizia, M Mangini, and A Clematis, (2012). “Delivering cloud services with QoS th requirements: an opportunity for ICT SMEs”. In 9 International Conference on Economics of Grids, Clouds, Systems, and Services, (Springer, Berlin, 2012), pp. 197- 211.
[3]. R. Brown, (2007). Report to Congress on Server and Data Center Energy Efficiency Public Law 109-431. U.S. Environ. Protection Agency, Washington, DC, USA.
[4]. J. Koomey, (2007). Growth in Data Center Electricity Use 2005 to 2010. Oakland, CA, USA: Analytics Press.
[5]. G. Meijer, (2010). “Cooling Energy-Hungry Data Centers”. Science, Vol. 328, No. 5976, pp. 318–319.
[6]. LalShriVratt Singh, Jawed Ahmed, and AsifKhan, (2014). ”An Algorithm to Optimize the Traditional Backfill Algorithm Using Priority of Jobs for Task Scheduling Problems in Cloud Computing”. International Journal of Computer Science and Information Technologies, Vol. 5, No. 2, pp. 1671-1674.
[7]. Jinn-Tsong Tsai, Jia-Cen Fang and Jyh-Horng Chou, (2013). “Optimized Task Scheduling and resources allocation on cloud Computing environment using improved differential evolution Algorithm”. Elsevier, Computer of operations Research, Vol. 40, pp. 3045- 3055.
[8]. Chia-Ming Wu, Ruay-Shiung Chang, and Hsin-Yu Chan, (2014). “A Green Energy-Efficient Scheduling Algorithm Using the DVFS Technique for Cloud Data Centers”. Future Generation Computer Systems, Vol. 37, pp. 141–147.
[9]. Jiayin Li, Meikang Qiu, Zhong Ming , Gang Quan, Xiao Qin, and Zonghua Gu, (2012). “Online Optimization for Scheduling Preemptive Tasks on IAAS Cloud Systems”. J. Parallel Distribute Computing, Vol. 72, pp. 666-677.
[10]. Baomin Xu, Chunyan Zhao, Enzhao Hu, and Bin Hu, (2011). “Job Scheduling Algorithm Based on Berger Model in Cloud Environment”. Advances in Engineering Software, Vol. 42, pp. 419-425.
[11]. Deepak Poola, Kotagiri Ramamohanarao, and Raj kumar Buyya, (2014). “Fault-Tolerant Workflow Scheduling th Using Spot Instances on Clouds”. ICCS 2014, 14 International Conference on Computational Science, Vol. 29, pp. 523- 533.
[12]. Wei Liu, Wei Du, Jing Chen, Wei Wang, and Guo Sun Zeng, (2014). “Adaptive Energy-Efficient Scheduling Algorithm for Parallel Tasks on Homogeneous Clusters” Journal of Network and Computer Applications, Vol. 41, pp. 101-113.
[13]. Li, K., et al. (2011). “Cloud Task Scheduling Based on th Load Balancing Ant Colony Optimization”. 6 Annual China Grid Conference, Dalian, pp. 22-23.
[14]. Dutta, D. and Joshi, R.C. (2011). “A Genetic- Algorithm Approach to Cost-Based Multi-QoS Job Scheduling in Cloud Computing Environment ”. International Conference and Workshop on Emerging Trends in Technology (ICWET 2011)- TCET, Mumbai, pp. 25- 26.
[15]. Palmieri, F., Buonanno, L., Venticinque, S., Aversa, R. and Di Martino, B., (2013). “A Distributed Scheduling Framework Based on Selfish Autonomous Agents for Federated Cloud Environments”. Future Generation Computer Systems, Vol. 29, pp. 1461-1472. http://dx.doi.org /10.1016/j.future.2013.01.012 http://dx.doi.org/10.1016/j.proeng.2011.08. 626
[16]. Ghanbari, S. and Othman, M. (2012). “A Priority Based Job Scheduling Algorithm in Cloud Computing”. Procedia Engineering, Vol. 50, pp. 778-785.
[17]. Zhang, Y.H., Feng, L. and Yang, Z. (2011). “Optimization of Cloud Database Route Scheduling Based on Combination of Genetic Algorithm and Ant Colony Algorithm”. Procedia Engineering, Vol. 15, pp. 3341-3345.
[18]. Sen Su, Jian Li, Qingjia Huang, Xiao Huang, Kai Shuang, and Jie Wang, (2013). “Cost-Efficient Task Scheduling for Executing Large Programs in the Cloud”. Science Direct, Parallel Computing, Vol. 39, pp. 177-188.
[19]. Ying feng B, Lin Zhang A, and T.W. Liao, (2014). “CLPS-GA: A Case Library and Pareto Solution-based Hybrid Genetic Algorithm for Energy Aware Cloud Service Scheduling”. Science Direct, Applied Soft Computing, Vol. 19, pp. 264–279.
[20]. Cui Lin, and Shiyong Lu, (2011). “Scheduling Scientific Workflows Elastically for Cloud Computing”. IEEE th 4 International Conference on Cloud Computing.
[21]. Dhinesh Babu L.D.A, P. Venkata Krishnab et al., (2013). “Honey Bee Behavior Inspired Load Balancing of Tasks in Cloud Computing Environments”. Science Direct, Applied Soft Computing, Vol. 13, pp. 2292-2303.
[22]. Chang Liu, Xuyun Zhang, Chi Yang, and Jinjun Chen, (2013). “CCBKE - Session Key Negotiation for Fast and Secure Scheduling of Scientific Applications in Cloud Computing”. Science Direct, Future Generation Computer Systems, Vol. 29, pp. 1300-1308.
[23]. Yuanjun Laili, Fei Tao, Lin Zhang, Ying Cheng, YongliangLuo, and Bhaba R. Sarker, (2013). “A Ranking Chaos Algorithm for Dual Scheduling of Cloud Service and Computing Resource in Private Cloud”. Science Direct, Computers in Industry, Vol. 64, pp. 448–463.