Cloud Computing deals with the varied virtualization resources. The task scheduling plays a crucial role to enhance the performance of cloud computing. The issue with task scheduling is distribution of tasks within the system in a way that will optimize the performance of the overall system, minimize the make span, waiting time, maximize throughput, and so on. The paper highlights the comparison between FCFS, Priority based and Round Robin scheduling algorithms. The priority based and round robin scheduling algorithm have showcased better results under certain parameters than the FCFS.
Cloud Computing refers to computing services over the internet and deals with varied different virtualization resources. The cloud computing is a combination of technologies where a large number of systems are connected in private or public networks [1] and comprises of lots of different types of technologies. The services of cloud consist of highly optimized virtual datacenters and provide various hardware, software and information resources for use. Organizations simply connect with the cloud and use the available resources on the pay-per use basis. The aim of a cloud computing environment is to optimally use the available computing resources [11]. Virtualization greatly helps in valuable utilization of resources and builds an effective system. Customers use cloud computing in the form of services like Gmail, Facebook, YouTube, Yahoo, Hotmail, etc.
Cloud provides a shared pool of various resources including data storage space, networks, computer processing power, and user applications [12]. Figure 1 shows the various components related to cloud computing.
Figure 1. Cloud Computing
Cloud computing describes the collection of services. The services are grouped into three categories:
SaaS model allow to use software application as the service to end user [8]. SaaS product examples are Gmail, facebook, etc.
PaaS model provides the facility to creation of web application easily [8]. PaaS examples are Azure service platform, Google App Engine, etc.
IaaS provides basic storage and computing capabilities as standardized services over the network. Some common examples are Amazon, GoGrid, Rackspace Open Cloud, etc [8].
Scheduling and Task scheduling concept in cloud computing are discussed below:
Scheduling means the set of rules and mechanisms for controlling the order of work to be performed by a computing system [1]. Scheduling is vital task in cloud computing environment. There are numerous types of different scheduling algorithms and task scheduling is one among them. In a cloud, task scheduling is the biggest and challenging issue[6]. Some types of schedulers are also accessible for scheduling the tasks. These are: Long term scheduler, Medium term scheduler and Short term scheduler.
Task scheduling plays an important role in cloud computing. The main objective of the task scheduling is to achieve the high performance, reduces the completion time, increase system throughput and reduces the complexities. According to the task scheduling, the set of an suitable task is to be scheduled to the virtual machines [3].
Task Scheduling is the important factor in Cloud Computing. The work done by several researchers till date is described in this section.
Thomas, et al. [1] presented scheduling as the major task in a cloud computing environment. In Cloud computing environment, datacenters take care of this task. The paper improved scheduling algorithm after analyzing the traditional algorithms which are based on user priority and task length. The paper focused on three cloud scheduling scenarios. First scenario is based on the length of tasks. The second scenario is based on task priority. The third and the proposed approach works on both cloudlet priority and cloudlet length.
Sindhu and Mukherjee [14] described that cloud computing refers to the use of computing, platform, software as a service. Computing resources are delivered as virtual machines. In such a scenario, task scheduling algorithms play an important role where the aim is to schedule the tasks effectively so as to reduce the turnaround time and improve resource utilization. The work presented two scheduling algorithms for scheduling tasks taking into consideration their computational complexity and computing capacity of processing elements while making scheduling decisions.
Al-Maamari and Omara [3] discussed task scheduling, which is the most significant matter in the cloud computing because the user has to pay for resource usage on the basis of time, which acts to distribute the load evenly among the system resources by maximizing utilization and reducing task execution time. The work implemented a Dynamic Adaptive Particle Swarm Optimization algorithm (DAPSO) to enhance the performance of the basic PSO algorithm to optimize the task runtime by minimizing the makespan of a particular task set, and in the same time, maximizing resource utilization. Also a task scheduling algorithm has been proposed to schedule the independent task over the Cloud Computing.
Mandal and Acharyya[15] explained task scheduling issue, mainly to focus on, to find the best or optimal resources in order to minimize the total processing time of Virtual Machines (VMs). The focus is on increasing the efficient use of the shared resources. The work three metaheuristic techniques such as Simulated Annealing, Firefly Algorithm and Cuckoo Search Algorithm have been implemented to find an optimal solution. The study of these algorithms is to minimize the overall processing time of the VMs which execute a set of tasks.
Marphatia, et al. [4] highlighted the cloud computing is a recent advancement wherein IT infrastructure and applications are provided as services to end users under a usage based payment model. The work selection of jobs to be scheduled based on FCFS, SJF, priority based, coarse grained task grouping, etc and selected job to be executed and the corresponding resources where the jobs are executed and optimized by the FCFS algorithm considering deadline and cost constraints.
Zuo, et al. [10] presented task-scheduling problems in cloud computing, a multi-objective optimization method. The biodiversity of resources and tasks in cloud computing were proposed as a resource cost model that defines the demand of tasks. A multi-objective optimization scheduling method has been proposed based on this resource cost model.
Jena [13] highlighted that cloud computing is an emerging computing paradigm with a large collection of heterogeneous autonomous systems with flexible computational architecture. Task scheduling is an important step to improve the overall performance of the cloud computing. Task scheduling is also essential to reduce power consumption and improve the profit of service providers by reducing the processing time. The paper focused on task scheduling using a multi objective nested Particle Swarm Optimization (TSPSO) to optimize energy and processing time.
Vijindra and Shenai [16] described that cloud computing has captured the attention of today's CIO, offering for more flexible, readily-scalable and cost-effective IT operations. The paper surveyed the different types of scheduling algorithms in cloud computing environment and included the workflow scheduling and grid scheduling. The scheduling framework considered the input execution time, deadline, transmission cost, energy efficiency, etc.
Mehranzadeh and Hashemi [2] presented that in cloud computing, one Host is a component that represents a physical computing and a datacenter is composed by a set of hosts, which is responsible for managing Virtual Machines during their life cycles. An important issue in cloud computing is the scheduling of virtual machine requests so that the requested tasks can be completed in a minimum time according to the user defined time. The paper presented and evaluated a new scheduling algorithm that is an efficient technique for scheduling virtual machines between datacenter and compares the scheduling techniques: First Fit (FCFS) and Round Robin (RR).
Li, et al. [9] described that cloud computing is the development of distributed computing, parallel computing and grid computing, or defined as the commercial implementation of these computer science concepts. A good task scheduler should adapt its scheduling strategy to the changing environment and the types of tasks. Cloud task scheduling is an NP-hard optimization problem. The paper proposed a cloud task scheduling policy based on Load Balancing Ant Colony Optimization (LBACO).
Sun, et al. [17] presented priority-based task scheduling algorithm (P-TSA) in grid. In this kind of priority-based algorithm, tasks are scheduled according to the priority order firstly and then assign processors Comparing P-TSA with existed grid scheduling algorithms on scheduling length and resource utilization rates. The performance of P-TSA is better than other scheduling algorithms such as Min-min and Max-min.
Scheduling process in cloud can be categorized into three stages –
The work tends to primarily discuss three scheduling algorithms: First Come First Serve, priority based and Round Robin.
First Come First Serve algorithm (FCFS) is used for the parallel processing system [5]. First Come First Serve means the task requests at first will be executed first. It is a non preemptive scheduling algorithm. The task enters the tail of the queue and scheduling selects the tasks from head of the queue. The drawback of this algorithm is the shortest tasks which are at the tail of the queue have to wait until long tasks at the head of the queue is finished.
Round Robin algorithm focuses on the fairness. Round Robin uses the queue to store jobs[5]. Every job in every queue has a similar performance time and it will be executed successively. If a job can't be completed throughout its turn, it will be deposited back to the queue waiting for the next turn. The advantage of RR algorithmic program is that every job is going to be executed in probability and that they don't need to be waited for the previous one to get finished. Round Robin is the preemptive process scheduling algorithm. Round Robin scheduling is also called as time slicing scheduling [7] . Jobs are given an equal time slice when they can be executed.
Step 1: Time quantum is selected and then it is assigned to each task.
Step 2: The number of PE's is allocated to the task according to the task length.
Step 3: If (execution time of the task < time quantum).
{
The task is allocated the PE's till it terminates.
}
Else
{
The PE's is occupied by the task till the time quantum is over and it is added to the end of the ready queue for the next round of execution.
}
Each task is assigned a priority. Tasks with the highest priority are to be executed first, and so on. Define the priority according to the user demand and define the parameter of cloudlet like size, memory, bandwidth scheduling policy, etc. In the proposed work, the tasks are initially prioritized according to their size such that one having lowest size has highest priority. This approach gives the better result than FCFS.
Step 1: Create an array of different length of tasks.
Step 2: Assigned the priority to each task, i.e. short length of tasks having the highest priority.
Step 3: Sort all the tasks according to the priority of tasks.
Step 4: According to the priority, tasks (Cloudlets) are fetched.
Step 5: Stop.
The process of the proposed work is done by using the task scheduling algorithms that are FCFS, Priority based and Round Robin as follows:
In the first step, the datacenters were created which contains several hosts and in the second step, create a different number of virtual machines with their parameters. In the third step, a number of cloudlets were created and they are bound to virtual machines. After this, the scheduling algorithms were implemented and compared with different parameters.
The algorithm mentioned above is simulated in CloudSim 3.0.3 simulator. After comparing the makespan, turnaround time, waiting time and throughput of cloudlets with the FCFS algorithm, we can observe that the proposed algorithms shows better results, i.e. Round Robin and Priority based scheduling algorithms. The simulation is done under the following conditions. Tables 1-3 describe the simulation conditions.
Table 1 shows the Basic Configuration. Each Data center consist of many hosts. Every host has its own configuration. Here same configuration is applied for every host.
Table 1. Basic Configuration
Host configuration is mentioned in Table 2.
Table 2. Host Configuration
Table 3. Virtual Machine Configuration
Host in the datacenter consists of many virtual machines. Every virtual machine has its own configuration. Here same configuration is applied for every VMs.
Virtual machine configuration is mentioned in Table 3.
Figure 2 represents the makespan Cloudlet number is represented in the X-axis. In the Y-axis makespan of cloudlets is represented. The result shows that makespan is increasing with the increase in cloudlet number. At cloudlet 10, the makespan of FCFS is 7.1 milliseconds where the makespan value of priority based is 5.6 milliseconds and makespan value of Round robin is 4.6 milliseconds. The makespan of FCFS is higher than the other two algorithms. At the Cloudlet 50, FCFS makespan is highly increased than the other two algorithms.
Figure 2. Makespan
Figure 3 shows the Turnaround Time Cloudlet number is represented in the X-axis. In the Y-axis, Turnaround time of the cloudlets is represented. The result shows that Turnaround time is increasing with the increase in cloudlet number. At the cloudlet number 10, the turnaround time of FCFS is 23 milliseconds where the value of priority is 14 ms and value of round robin is 9.53 ms. At the cloudlet 30, the FCFS turnaround time is increased than the other two. At the cloudlet 50, the FCFS reaches then highest value than the priority based and round robin because in FCFS, the amount of time to execute a particular task is high.
Figure 3. Turnaround Time
Figure 4 shows the Waiting Time Cloudlet number is represented in the X- axis. In the Y-axis, Waiting time of the cloudlets is represented. The result shows that waiting time is increasing with the increase in cloudlet number. At the cloudlet 10, the FCFS waiting time is 23.0 milliseconds and round robin waiting time is 2.95 milliseconds. At the cloudlet 20, the FCFS waiting time is increased where the waiting time of round robin is lower. At the cloudlet 40, the waiting time of priority based is 311.5 ms and round robin waiting time is 11.7 ms, where FCFS reaches highest waiting time at the value 400 ms.
Figure 4. Waiting Time
Figure 5. Throughput
Figure 5 shows the Throughput comparison of among algorithms. Cloudlet number is represented in the X-axis. In the Y-axis Throughput of the cloudlets is represented. The result shows that throughput is increasing with the less number of cloudlet and throughput decreases with the number of cloudlets increase. At the cloudlet 10, the value of round robin reached the highest throughput and FCFS reached the lowest throughput where priority also reached the high throughput then FCFS.
Three task scheduling algorithms have been compared using various parameters in this work. First Come First Serve (FCFS), Priority based scheduling algorithm and Round Robin scheduling algorithm. Priority based and Round robin scheduling algorithm results are efficient than the First Come First Serve (FCFS) scheduling algorithms. As a number of cloudlets increase the makespan, turnaround time, and waiting time decrease in Priority based and Round robin scheduling algorithms wherein First Come First Sever (FCFS) increases the makespan, turnaround time, and waiting time as the number of cloudlets increase. The priority based and Round robin scheduling algorithms provides the better throughput results than First Come First Serve (FCFS).