RESOURCE SCHEDULING IN CLOUD ENVIRONMET: A SURVEY

Cloud Computing offers the avant-garde services at a stretch that are too attractive for any cloud user to ignore. With its growing application and popularization, IT companies are rapidly deploying distributed data centers globally, posing numerous challenges in terms of scheduling of resources under different administrative domains. This perspective brings out certain vital factors for efficient scheduling of resources providing a wide genre of characteristics, diversity in context of level of service agreements and that too with user-contingent elasticity. In this paper, a comprehensive survey of research related to various aspects of cloud resource scheduling is provided. A comparative analysis of various resource scheduling techniques focusing on key performance parameters like Energy efficiency, Virtual Machine allocation and migration, Cost-effectiveness and Service-Level Agreement is also presented.


INTRODUCTION
Cloud computing is the new cost-efficient computing standard that delivers on-demand access to services on pay-per-usage basis [1,2].The unwavering services offered by cloud computing are realized through its innovative global data centers that are firmed on virtualized compute and storage technologies [3].It is intended for the cloud users to multifold the prospects by accessing leased infrastructure and software applications ubiquitously and unrestrictive in time [4].The ideology is firmed on the grounds of 'reusability of IT capabilities'.The traditional computing archetypes become outmoded by cloud computing due to its expansive horizons across organizational boundaries [5].
The cloud computing paradigm offers numerous benefits to both cloud customers and service providers.The aim of service provider is to maximize the profit by efficient usage of its datacenter resources through virtualization technology [6] and effective scheduling within the constraint of Service-Level Agreement [7] with cloud users and limited power budget [8,9].From the perspective of cloud's user, the focus is on application performance, availability of services, cost-effectiveness [10,11] and adaptability to the changing requirements.
The resource scheduling in cloud environment is always a complicated task due to geographical distribution of resources having varying load conditions, different user's requirements and price models [12].A lot of research work dealing with the cloud resource scheduling problem has been carved by many researchers [13,14,35,36,58,59,71,72].This paper provides a detailed survey of the prevailing resource scheduling techniques focusing on the promising features and challenges of cloud computing.

LITERATURE SELECTION PROCESS
In order to select the relevant papers, the following keywords were used on a number of In total, 278 potential papers along with abstracts published within the period from 2007 to 2016 were collected.Finally, 93 full length most relevant papers for this literature survey was selected and analyzed.The year-wise and publisher-wise bifurcation of selected papers is presented in Figure 1 and Figure 2.

LITERATURE REVIEW
Efficient resource provisioning with focus on satisfying user service requirements by taking into account both the economic and environmental viability, lays the foundation for the success of commercial competition [22,47,65,78].In the subsequent sections, a classification of the resource scheduling problem in cloud environment as shown in Figure 3 and its existing on hand solutions have been reviewed in brief.

Scheduling based on energy conservation
With the ever-increasing needs of Cloud infrastructure, the energy consumption of datacenters has increased dramatically raising the apprehension for both government and service providers to consume energy effectively [47,51].Assessment of literature is indicative of the fact that servers in many datacenters usually operate at 30% of their full capacity [57].Incorporating energy reduction activities during the phases of low utilization is a centre of attraction and thus is the target of most of the research related to energy saving in cloud.
An enabling VM scheduling policy is presented in [37] to reduce the energy-losses caused by I/O virtualization mechanism while handling intensive mixed-workloads in particular.In [39], authors proposed a philosophical architecture for energy management of Clouds.The energy-oriented resource allocation policies and scheduling approaches are also discussed which considers the two important characteristics: QoS expectations and power usage of resources.An enterprise data center-applicable framework has been formulated in [54] that incorporate a computation proficient heuristic design which offers speedy placement solutions sensitive to the workload.In [53], the authors intends to highlight the ambiguity of the computing environment and a scheduling design to optimize the influence of uncertainty on the task scheduling capability for a cloud data center.This framework has been utilized by the authors to implement a novel scheduling algorithm that vigorously gain benefit of the proactive and reactive scheduling methods, for scheduling realtime, aperiodic, independent tasks.

CloudSim
The proposed approach shows upto 46%, 99%, and 95% reduction in energy used, deadline violations, and VM migrations respectively as compared with similar heuristics. [48] VM management architecture for Snooze (a private cloud)

Energy efficiency Snooze
Result confirmed the effectiveness of proposed solution as energy conservation of upto 67% is achieved on a realistic workload. [49] An improved PSO for optimal VM placement Energy efficiency

Java based simulator
Proposed approach significantly reduces energy by 13-23% as compared to other heuristic approaches [50] In [52], a predictive design which aims to combine the machine learning clustering and stochastic theory to estimate both the number of VM requests and the amount of cloud resources associated with each request is formulated.An amalgamated resource conditioning framework depending upon this method has been used by the authors to make suitable energy-aware resource supervised decisions which is further evaluated using real Google traces collected over a 29-day period from a Google cluster containing over 12,500 PMs.Comparison of various energy con-servation based resource scheduling techniques is presented in Table 1.

Scheduling based on virtualization
Virtualization technology allows different applications to be allocated on the single Physical Machine (PM) in logically secluded VMs.The use of virtualization technique permits the migration of live Virtual Machines and their consolidation on lesser number of PMs resulting in high utilization of the available physical resources, re-ducing the energy consumption and capital cost associated with the cloud datacenter [79,85].Virtual Machine allocation and migration in cloud environment is a challenging task.The concept behind VM allocation is the mapping between VM and PM with an objective to maximize application performance, energy saving, or augment the provider's revenue [80].
In [86], authors presented a Virtual Computing Laboratory framework model using the concept of private cloud by extending the open source IaaS solution Eucalyptus.A mapping algorithm for VMs based on rules and the principles of set theoretic is also presented.The algorithmic design is projected towards being able to autonomic plotting between VMs and datacenter resources.A system based on virtualization for the allocation of data center resources dynamically on the basis of demands of the application is presented [87].In parallel, the optimized number of servers henceforth supports the green computing.The concept of "skewness" is put forward to determine the non-proportionality in the multidimensional resource utilization of a server.It is also shown that different types of workloads can be combined efficiently and overall utilization of server resources is improved upon minimization of skewness.A group of heuristics is also developed that is able to effectively save the energy while avoiding the system overloading.Efficiency of this algorithm was adjudged through the trace driven simulation and henceforth the results of experiments.In [88], a combination of ant colony optimization (ACO) and VM dynamic forecast scheduling (VM_DFS) to perform VM scheduling is presented.In this algorithm through analysis of historical memory consumption in each PM, future memory consumption forecast of VMs and their allocation on the cloud resources is performed.This methodology is experimented in MATLAB for both homogeneous and heterogeneous mode and results indicate that the proposed algorithm produces lower resource wastage than other traditional approaches and better load balancing among PMs.
Virtual Machine migration is of utmost importance in implementing resource management strategies for the optimization of performance metrics such as consumption of energy, utilization of resource and QoS.The primer challenge for VM migration in terms of service downtime and high network utilization is discussed [84].In [81], the authors put forward a novel model for optimi-zation which laid its basis on linear programming along with an automatic approach for VM migration in self-managing virtualized environments.The experimentation yielded the applicability of this approach to effectively determine which virtual machines should be migrated and on which physical machines to host them while minimizing operational and migration costs.In [82], authors proposed a Linear Programming formulation and heuristics to control VM migration that gives priority to the virtual machines with steady capacity.In order to draw comparison between this migration-control approaches with the well-established eager-migration-based solutions, the simulations are implemented using TU-Berlin and Google data center workloads.The results confirmed the reduction in the number of migrations with minimal penalty in the number of physical servers, if the migration of VMs with steady capacity is avoided.Basic outline for cloud brokering and multi-cloud VM administration is proposed [83].Descriptive algorithms were also proposed by the authors that paved way for the efficient placement of applications in multi-cloud environments.Incorporation of price and performance along with constraints such as hardware configuration, load balancing is also incorporated in the placement model.In contrast to single-cloud deployment, the proposed multi-cloud placement algorithms yielded improvement in performance with lower costs during an evaluation against commercial clouds.An attempt to decide the appropriate time for VM migration has been made by the authors [84] in which they have articulated an application-oriented live migration model exploring the application level information, in conjunction to the state-of-art system level metric.The experiment was conducted on three real applications with due consideration to the application specific to catalyze the VM live migration.It depicted a significant drop in the network overhead up to 42% and decrease in live migration time up to 63%.Table 2 elucidates a comparative study of various virtualization based resource scheduling techniques.

Scheduling based on service-level agreement
The cloud service providers and their customers have to negotiate a Service Level Agreement (SLA), which basically outlines the service requirements and the assurance in the delivery of a service.Violation of the SLA is a key issue as it An approach named GraspCC--festo produce the optimal estimation of the amount of virtual machines to allocate for each workflow.

Execution time ANSI C based simulator
The execution of the workflow fragment using the amount of virtual machines following the allocation given b GraspCC was about 64% smaller than execution that followed the configuration provided by SciDim [93] tends to make customers malcontent and eventually their level of satisfaction declines.
In [2], authors proposed the following to reduce the deadline miss rate: (1) design and modeling of the Analytics as a Service (AaaS) platform; (2) formulation of the resource scheduling problem on the basis of mixed Integer Linear Programming (ILP) model; (3) an algorithm to ensure admission control and resource scheduling.In [68], author's contribution is: (1) a novel domain specific language that is able to illustrate the QoS-oriented SLA associated with cloud services; (2) a general control-theoretic approach for managing cloud service SLA and; (3) apply the proposed language and control approach to guarantee SLA in various cases studies, ranging from cloud-based MapReduce service, to locking service, and higher-level e-commerce service.With the objective of reducing the effects of SLA violations to offer a phenomenal proactive resource allocation approach, authors in [69], aimed on two user's hidden characteristics viz.-a-viz.willingness to pay for service and willingness to pay for certainty.In addition, holistic approaches based on learning automaton for the approximation of these characteristics are also instilled.An OpenStack version of the Generic SLA Manager, besides its methodical approaches for VM selection and allocation during live migration of VMs is presented [70].A use case is simulated, where IaaS (OpenStack-SLAM) and PaaS (OpenShift) are coalesced to evaluate the performance and effectiveness of the proposed VM placement strategies, in case of multi-domain SLA pricing & penalty model.Comparison of various SLA based resource scheduling techniques is presented in Table 3.

Scheduling based on cost-effectiveness
In cloud, service providers want to minimize resource rental costs while still meeting workload demands and cloud users look forward to the lowest possible prices for the resources they lease.It is worthwhile to mention that optimized VM placement [76], reducing application makespan [16], dynamic resource renting schemes [26] can satisfy the monetary requirements of both providers and users.Energy consumption and SLA violation rate of proposed solution is reduced by 21% and 16% than the genetic algorithm in average [65] An autonomic computing based multi-tier architecture to handle fluctuating workloads

SLA violation rate, Cost
Simulation MATLAB Proposed dynamic alloca-tion method attains 15-20% higher total profit than other Static and Dynamic resources allo-cation strategy [66] Automatic service selection for multi-cloud environment taking into account the SLA claims of SaaS providers

Java based simulator
Automatic service selection for multi-cloud environ-ment taking into account the SLA claims of SaaS providers Service ranking Java based simulator Simulation-based evalua-tion and a comparison with a utility-based match-ing algorithm shows the effectiveness of pro-posed approach in select-ing a set of services satis-fying SLA parameters [67] A cost-aware runtime strategy to store the datasets of the generated application in the cloud as a decision support system by making an estimate of the trade-off between computation, storage and bandwidth is proposed [30].In [31], authors formalized an optimization framework for MapReduce over multi-cloud including virtual machine and data transfer costs.In addition, a decentralized resource management middleware that considers multi-optimization is designed.In [32], authors proposed an innovative methodology to manage virtualized data centers according to multiple facets (energy efficiency, virtualization overheads, and SLA violation penalties) when placing VMs in data center nodes and maximizing the provider's profit.The experiments demonstrated that the proposed model is capable of increasing the provider's revenue by 30% and can handle certain issues including resource heterogeneity.The outline of scheduling prioritized workflow ensembles under budget and deadline constraints is discussed [33].The authors developed a genre of dynamic and static algorithms to schedule tasks and resource provisioning that depends upon the workflow structure information and estimates of task runtimes.The proposed algorithms are then simulated using a simulator built on top of Cloud-Sim, which designs the infrastructure and the application, keeping under consideration the uncertainties in task runtime estimates, provisioning delays and failures.In [34], authors devised the following approaches in order to minimize the rental costs while meeting users' computing needs: (1) an online algorithm called Online Cost-efficient Scheduling (OCS) that makes use of a priority function to determine the urgency of requests, where the value of the priority function is based on the expected VM speed to complete a request, and assigns faster VM instances to requests with higher priorities; (2) an algorithm called Dynamic Resource Planning (DRP) to terminate unneeded VM instances before the next billing cycle starts based on prediction of daily patterns of resource usage from interactive services using queuing analysis; (3) an algorithm called Cost-conscious Scheduling algorithm (CCS) to dispatch batch jobs.The core of CCS is workload partitioning, which splits batch jobs across a large number of time slots according to the remaining resource capacity and spot instance pricing.Comparison of various Cost-effective cloud resource scheduling techniques is presented in Table 4.A framework to formu-late bidding price for user along with an algorithm to compute Nash equilibrium solution Cost Simulation (Environment not mentioned) The obtained near-equilibrium solution is close to the equilibrium one [23] A cloud service request model with SLA constraints is established and based on the request model a cost-aware service request scheduling using genetic approach is presented Cost, Resource Utilization Java based simulator The proposed algorithm achieves higher resource utilization (80% on simulated request data set) in comparison with the other three revenue-aware algorithms i.e.BL-small (30%), BL-large (35%) and BL--xlarge (45%) [29] The operational profits of three revenue--aware algorithms is lower than proposed algorithm [24] A cost-effective re-source management framework called Cura is designed: • to provide a cost-effective solution to efficiently han-

CONCLUSION
Resource scheduling always remained an active area of research due to world-wide uncontrolled growth of datacenters to cope up with the growing demands of cloud infrastructure.Based on the literature survey, the challenges posed by the cloud environment itself in terms of high power energy consumption of data centers, customer satisfaction, provider profitability etc. are identified.Furthermore, a critical evaluation of the existing on-hand cloud resource scheduling techniques on the basis of selected parameters from the literature is carried out.With a belief, that an up-to-date review of the resource scheduling literature presented in this paper will surely help the researchers and developers in selecting the most appropriate techniques to manage resources in cloud environment under the given constraints.

Fig. 3 .
Fig. 3. Classification of the resource scheduling problem in cloud environment

Table 1 .
Comparison of various energy conservation based resource scheduling techniques

Table 2 .
Comparative study of various virtualization based resource scheduling techniques

Table 3 .
Comparison of various SLA based resource scheduling techniques

Table 4 .
Comparison of various Cost-effective cloud resource scheduling techniques