6666
Systematic Review On Vm Scheduling Algorithms
Sagar Samrat Shah, Varun Barthwal, M.M.S Rauthan, Rohan Verma
Abstract: Cloud computing is a facility provided through the internet in which users have easy access to resources in a shared pool. These resources can be servers, applications, storage, etc over the network or internet without being physically managing or acquiring them, on a pay-per-use model. Cloud computing environment has an essential component known as Virtualization. It is dynamic in nature i.e. it can quickly be paused, reverted to the previous state and restarted at different instances on the same physical machine. In a virtualization environment virtual machines are created on-demand of client. The numbers of jobs are processed and executed randomly, hence jobs those required much time makes smaller jobs to wait longer. There are many scheduling algorithms to eliminate this problem, and we aim to provide a comparative study of current scheduling algorithms through this paper.
Keywords: Cloud Computing, Virtualization, VM's, scheduling algorithms.
————————————————————
1 INTRODUCTION
National Institute Of Standards and Technology‘s (NIST) defines the cloud computing as ―Cloud computing is a model for enabling on-demand and convenient network access to a shared pool of configurable computing resources like networks, servers, storage, and services) that can be rapidly provided and released with minimum management effort or service provider interaction‖[1]. The cloud computing environment provides mainly three types of services i.e. Infrastructure as a Service (IaaS) in which clients are provided with virtual resources such as network bandwidth, CPU, storage, processing power, etc. Software as a Service (SaaS) in which clients are provided with access to an application by the service provider. The users are provided with end-to-end resources, including licensing, networking, application, security, operating system, etc and Platform as a Service (PaaS) where clients are provided with infrastructure, networking and operating system. Cloud computing has a significant thought known as virtualization. As indicated by this thought virtual machines are created at whatever point required by the customers with no criteria for capacity limit. Customers can skip heavy data here [2]. There is a noteworthy effect of resource allotment and appropriate scheduling on the execution of the framework. Scheduling plays a significant role in deciding the viable execution.
SCHEDULING:
In cloud computing, the current job is very much required to be executed within the prescribed constraint. Scheduling the primary purpose is to increase resource handling & handling time limit. The jobs should be arranged in a fashion by the scheduler so that equilibrium could be maintained between QoS (quality of services) & simultaneously keeping up the efficiency.
An effective scheduling activity would mean shorter response times. So the execution of the given job carried out within a specific time and all the time there is a resource recovery event. Accordingly, request fulfilled and an increase in requests can be given to cloud by customers that at last outcomes in quickening business execution of the cloud framework [3].
Fig.1 scheduling in cloud.
VM Scheduling:
The scheduling is the procedure or set of guidance that decides the task of the activity to a specific VM as indicated by a given necessity and utilized algorithm. VM requests are scheduled to the physical machine (PMs) that can be in a particular data center (DC), according to the fulfillment of required resources (i.e. RAM, memory, bandwidth, etc) by Vm scheduling algorithm [4].
In general, a scheduling algorithm operates on three levels:
a. For positioning VM‘s, the correct PM is identified. b. For provisioning VM‘s best possible plan is
resolved.
c. Scheduling tasks on VMs. [5]
______________________________
Sagar Samrat Shah1, Varun Barthwal2, M.M.S Rauthan3,
Fig.2 VM Scheduling in cloud
OVERVIEW OF VM SCHEDULING:
Fig.3 Overview of VM scheduling.
DIFFERENT VM SCHEDULING
TECHNIQUES/ALGORITHMS:
1. ROUND ROBINS
It is one of the commonly known algorithms used for both process scheduling and VM scheduling. According to this
algorithm, each node (PM) is cyclically assigned by the scheduler to the VM. The scheduler takes the initiative to assign the VM to each node and proceeds to place the VM on the next node. This algorithm is iterative for each node as long as each node has at least one VM. Once all nodes have a VM, it goes back to the very first node and redoes the procedure for the upcoming VM request. According to this algorithm, the scheduler didn‘t hang tight for lack of resources of one node first and moves to the next node. Using each of the resources in a balanced way is a good factor for this algorithm. The downside of this algorithm is excess power consumption in the condition where all the required resources can be run on one node but an implement of this algorithm will turn on all nodes which results in high power consumption [4].
FCFS (First Come First Serve)
According to this scheduling algorithm, the process which requests first for the resources is allotted firstly. The process which entered first is on the head of the ready queue which is a FIFO queue. Process which is on the head of ready queue is allotted with resource whenever the required resource is available and after allocation of resource the particular process is vanished from the queue. In CloudSim FCFS method is used for internal scheduling tasks. The virtual machine stipulated elements are responsible for the distribution of VM's on the hosts in the cloud-based datacenter. The default technique used for VM distribution is FCFS. Being non-preemptive is the main drawback of FCFS as the shorter jobs those are at the last of ready queue wait for a longer time for resources that are allotted to longer jobs that are running.
2.
ACTIVE
MONITORING
LOAD
BALANCING
The concept of the AMLB algorithm is based on an index table containing information about every VM. According to this table, each VM has a particular VM id and how many jobs it is having. At any instant when the data-center controller gets a new request, a least loaded VM search is started from the beginning of the index table and the task is allocated to least loaded VM. If VM's are equally loaded then the task is allocated to the first one and the table is refreshed [7].
3.
THROTTLED LOAD BALANCER
This is also dynamic and uses an index table containing the information of VM id and VM state (BUSY/AVAILABLE). According to this algorithm, the pre-defined number of tasks can be given to a particular VM at any instant. If any new request arrived then the state of VM is checked if AVAILABLE then the task is allotted to it otherwise the task is stored in a queue until any VM is AVAILABLE. Whenever the task is allotted to any VM the index table is refreshed [8].
4.
GENETIC ALGORITHM
6668 population and are used to breed a new generation. The
individual solution (chromosome) is selected by Fitness function and then the genetic operation crossover and mutation are performed on selected chromosomes to generate the second generation. This process is repeated until reaching the terminating condition i.e. finding the best solution. [9]
Fig.4 Flowchart representation of a genetic algorithm
5.
GREEDY ALGORITHM
This is one of the commonly known scheduling algorithms for VM scheduling. This algorithm is known for its simplicity and was used commonly until the evolution of other complex scheduling algorithms. The working principle of this algorithm is to find the first node which has enough resources to run the VM and as the node is identified VM is allocated to it. Now if there is another VM request and node first has a suitable resource then this VM is also allocated to the same node and will result in exhausting the node while the other nodes are underloaded. [10]
6.
POWER SAVE ALGORITHM
Power consumption optimization is the key feature of this scheduling algorithm. According to this algorithm, the nodes which are not in use are turned off. The scheduler keeps the track on all the nodes and turns off the unused node to save power consumption. Whenever the resources of any node are required by the VM then the scheduler checks its status. If the required node is off then it is turned on back.
This algorithm is used mainly when there is a need for minimum power consumption. The main drawback of this algorithm is minimum resource utilization. [10]
7 LITERATURE REVIEW:
Efficiently scheduling VMs increases the gross performance of the particular cloud environment. The author in [11] suggests new hybrid virtual machine scheduling. This concept maximizes the performance by using a priority-based virtual machine scheduling algorithm. The ingredients of this algorithm are mapping & prioritization of jobs. By taking advantage of generalized priority scheduling, Round-Robins & FCFS methods it minimizes the execution time & consumption of energy. Another algorithm proposed in [12] is virtual machine dynamic prediction scheduling via ant colony optimization (VMDFS_ACO). This algorithm focuses mainly on load balancing and resource utilization. According to the author, this combines both VM dynamic forecast scheduling (VM_DFS) and ant colony optimization (ACO) for efficient VMs allocation by forecasting future memory consumption. Paper [13] proposed Multistage scheduling to schedule Virtual Machines (VM) for the requested jobs obtained from customers in cloud computing. The author looked at the model where a job requires in a series ' m' different types of VMs to complete its mission. The model also applied the Multi-Stage scheduling concerning response time and waiting time for the deadline. Average turnaround time, average waiting time and violation in deadlines are taken as parameters when compared to other existing algorithms. The paper [8] aims to show that choosing VM Scheduling Policy in the cloud computing model significantly improves application performance in terms of differences in resource and service demand. The response time is evaluated in two separate VM scheduling policies (Space shared and Time shared), The author concluded in the paper that space-sharing VM scheduling policies have less response time. VM scheduling technique that deals efficiently with system heterogeneities results in minimum energy consumption in data centers. To achieve this author of paper [14] purposed heuristic-base capability aware VM scheduling algorithm that on simulation generates optimal scheduling solution and reduced computation time. According to paper [10], an algorithm known as Dynamic Priority Based is proposed which allocates VM to nodes on their priority bases which are dynamic and based on their load factor. Capacity and load factor defines the priority of the node. The main aim of this algorithm is the better utilization of resources.
COMPARISION
Author Algorithm Nature
Schedulin g paramete r
Pros Cons
S. Justine , et al
FCFS[9] Static Time Easy to deploy.
It is non-preemptiv e.
SS,N .Krishn a, et al
Round Robins[1 0]
Dyna
mic Time
Utilization of resources in a balanced way.
S. Justine , et al
Genetic [9] Dyna mic Makespa n Improves response time and throughpu t. Higher migration cost. S. Garg, et al
AMLB[7] Dyna
mic Load
Reduction in response time and maximizin g performan ce.
It does not check whether the least loaded VM was previously utilized or not, causing some VM over-utilized.
SS,N .Krishn a, et al
Greedy[1 0]
Dyna
mic Time
Simple to implement .
Overloadi ng of a load may appear.
SS,N .Krishn a, et al
Power save[10] Dyna mic Power consumpt ion Lower power consumpti on. Minimum resource utilization. S. Nayal, et al Throttled Load Balancing [8] Dyna
mic Load
Reduction in response time and maximizin g performan ce
Needed a similar hardware configurati on of all VMs in DC for proper working.
SS,N .Krishn
a, et al Dynamic Priority Based[10 ]
Dyna
mic Load factor Lower power consumpti on & better utilization of resources.
It does not handle the node failure condition.
8 CONCLUSION:
In cloud computing environment virtualization is the main concept for providing heterogeneous resources as services, thus introducing virtual machines (VM) and these VMs need efficient scheduling algorithms to work in an optimized way. This review paper summarized cloud deployment models, services provided by the cloud, scheduling in the cloud, VMs scheduling and some of many VMs scheduling algorithms. It is found in this survey that it can develop a better understanding of VMs and how they are scheduled according to the client's request in the cloud environment.
REFERENCES:
[1]. Final Version Of NIST Cloud Computing
Definition Published. (2011).
https://www.nist.gov/news-
events/news/2011/10/final-version-NIST-cloud-computing-definition-published
[2]. S. Kumari, R. K. Kapoor, and S. Singh, "A Survey on Different Techniques for Information Resource Scheduling in Cloud Computing," 2015 International Conference on Computational Intelligence and Communication Networks (CICN),
Jabalpur, 2015, pp. 736-740.
doi: 10.1109/CICN.2015.150
[3]. M. N. Kavyasri and B. Ramesh, "Comparative study of scheduling algorithms to enhance the performance of virtual machines in cloud computing," 2016 International Conference on Emerging Trends in Engineering, Technology, and Science (ICETETS), Pudukkottai, 2016, pp. 1-5. doi: 10.1109/ICETETS.2016.7602980
[4]. K. D. Prajapati, P. Raval, M. Karamta and M. B. Potdar, ―Comparison of virtual machine scheduling algorithms in cloud computing,‖ 2013 International Journal of Computer Applications (0975 – 8887) Volume 83 – No 15, December 2013.
[5]. M. E. Frincu, S. Genaud and J. Gossa, "Comparing Provisioning and Scheduling Strategies for Workflows on Clouds," 2013 IEEE International Symposium on Parallel & Distributed Processing, Workshops, and PhD Forum, Cambridge, MA,
2013, pp. 2101-2110.
doi: 10.1109/IPDPSW.2013.55
[6]. S. Garg, D. D. V. Gupta, and R. K. Dwivedi, "Enhanced Active Monitoring Load Balancing algorithm for Virtual Machines in cloud computing," 2016 International Conference System Modeling & Advancement in Research Trends (SMART),
Moradabad, 2016, pp. 339-344.
doi: 10.1109/SYSMART.2016.7894546
[7]. S. Nayak and P. Patel, ―Analytical Study for Throttled and Proposed Throttled Algorithm of Load Balancing in Cloud Computing using Cloud Analyst‖ 2015 IJSTE - International Journal of Science Technology & Engineering Volume 1 | Issue 12
[8]. S. Justine, D. S Kumar, ―A New Approach Towards Virtual Machine Scheduling Evaluation of Three Different VM Scheduling Algorithms,‖ 2017 International Journal of Advance Research in Science and Engineering, Vol. No.6, Issue No. 06, June 2017.
[9]. S.S, N.Krishna G, K.Kumar M, Sreesh P, G R Karpagam, ‗An adaptive algorithm for dynamic priority based virtual machine scheduling in cloud‘, International Journal of Computer Science, Vol. 9, Issue 6, pp. 397-402, Issue-2, November 2012 [10]. H. Kaur and R. K. Challa, "A New Hybrid Virtual
Machine Scheduling Scheme for Public Cloud," 2015 Fifth International Conference on Advanced Computing & Communication Technologies, Haryana, 2015, pp. 495-500. doi: 10.1109/ACCT.2015.47
6670 (SPIS), Tehran, 2015, pp. 104-108.
doi: 10.1109/SPIS.2015.742232
[12]. R Krishnam Raju Indukuri, Dr. Suresh Varma Penmasta, Dr. M V Rama Sundari, Dr. G. Jose Moses, ―Performance Evaluation of Deadline Aware Multi Stage Scheduling in Cloud Computing‖, 2016 IEEE 16th
International Conference On Advance Computing, DOI 10.1109/IACC.2016.5.
[13]. M. F. H. Bhuiyan and C. Wang, "Capability-aware energy-efficient virtual machine scheduling in heterogeneous datacenters," 2014 IEEE International Conference on Systems, Man, and Cybernetics (SMC), San Diego, CA, 2014, pp. 106-111.