Performance Evaluation of Task Scheduling Algorithms for Cloud Computing

Amtoj Kaur *  Kanwalvir Singh Dhindsa**
* PG Scholar, Department of Computer Science and Engineering, BBSB Engineering College, Fatehgarh Sahib, Punjab, India.
** Professor, Department of Computer Science and Engineering, BBSB Engineering College, Fatehgarh Sahib, Punjab, India.

Abstract

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.

Keywords :

Introduction

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:

1. Related Works

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.

2. Proposed Framework

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.

2.1 First Come First Serve

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.

2.2 Round Robin Scheduling Algorithm

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.

2.3 Improved Round Robin Scheduling Algorithm

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.

}

2.4 Priority Based Scheduling

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.

2.5 Improved Priority based Scheduling Algorithm

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.

3. Results and Discussions

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.

Conclusion

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).

References

[1]. Antony Thomas, Krishnalal G., and Jagathy Raj VP, (2015). “Cried Based Scheduling Algorithm in Cloud Computing Environment”. International Conference on Information and Communication Technologies, Elsevier, Vol. 46, pp-913-920.
[2]. Amin Mehranzadeh and Seyyed Mohsen Hashemi, (2013). “A Novel-Scheduling Algorithm for Cloud Computing based on Fuzzy Logic”. International Journal of Applied Information Systems Foundation of Computer Science FCS, New York, USA, Vol. 5, No. 7, pp. 2249-0868.
[3]. Ali Al-maamari and Fatma A. Omara, (2015). “Task Scheduling Using PSO Algorithm in Cloud Computing Environments”. International Journal of Grid Distribution Computing, Vol. 8, No. 5, pp. 245-256.
[4]. Aditya Marphatia, Aditi Muhnot, Tanveer Sachdeva, Esha Shukla, and Lakshmi Kurup, (2013). “Optimization of FCFS Based Resource Provisioning Algorithm for Cloud Computing”. IOSR Journal of Computer Engineering, Vol. 10, No. 5, pp. 01-05.
[5]. Amit Agarwal, and Saloni Jain, (2014). “Efficient Optimal Algorithm of Task Scheduling in Cloud Computing Environment”. International Journal of Computer Trends and Technology, Vol. 9, No. 7, pp. 344- 349.
[6]. Eakta Kumari and Monika, (2015). “Task Scheduling Algorithms in Cloud Computing: A Review”. International Journal of Science, Environment and Technology, Vol. 4, No. 2, pp.433-439.
[7]. Gaurang Patel, Rutvik Mehta, and Upandra Bhoi, (2015). “Enhanced Load Balanced Min Min Algorithm For Static Meta Task Scheduling in cloud computing”. International Conference on Recent Trends in Computing, Elsevier, Vol. 57, pp.545-553.
[8]. Harshitha K. Raj, (2014). “A Survey of Cloud Computing”. International Journal of Advanced Research in Computer Science and Software Engineering, Vol. 4, No. 7, pp.352-357.
[9]. Kun Li, Gaochao Xu, Guangyu Zhao, Yushuang Dong, and Dan Wang, (2011). “Cloud Task scheduling based on Load Balancing Ant Colony Optimization”. Sixth Annual China Grid Conference, IEEE, Chang Chun, Liaoning, China, pp. 3-9.
[10]. Liyun Zuo, Lei Shu Shoubin Dong, Chunsheng Zhu, and Takahiro Hara, (2015). “A Multi-Objective Optimization Scheduling Method Based on the Ant Colony Algorithm in Cloud Computing”. Special Section on Big Data Services and Computational Intelligence for Industrial Systems, IEEE, Vol. 3, pp. 2687-2699.
[11]. Pandaba Pradhan, Prafulla Ku. Behera, and BNB Ray, (2016). “Modified Round Robin Algorithm for Resource Allocation in Cloud Computing”. International Conference on Computational Modeling and Security, Elsevier, Vol. 85, pp. 878-890.
[12]. Sonia Sindhu, (2015). “Task Scheduling in Cloud Computing”. International Journal of Advanced Research in Computer Engineering & Technology, Vol. 4, No. 6, pp. 3019-3023.
[13]. R K Jena, (2015). “Multi objective Task Scheduling in Cloud Environment Using Nested PSO Framework”. Procedia Computer Science, Elsevier, Vol. 57, pp. 1219- 1227.
[14]. S. Sindhu and Saswati Mukherjee, (2011). “Efficient Task Scheduling Algorithms for Cloud Computing Environment”. Department of Information Science and Technology Springer.
[15]. Tripti Mandal and Sriyankar Acharyya, (2015). “Optimal Task Scheduling in Cloud Computing Environment: Meta Heuristic Approaches”. International Conference on Electrical Information and Communication Technology, IEEE, pp. 25-28.
[16]. Vijindra, and Sudhir Shenai, (2012). “Survey on Scheduling Issues in Cloud Computing”. International Conference on Modeling Optimization and Computing, Vol. 38. pp. 2881-2888.
[17]. Weifeng Sun, Yudan Zhu, Zhiyuan Su, Dong Jiao, and Mingchu Li, (2010). “A Priority-based Task Scheduling Algorithm in Grid”. Third International Symposium on Parallel Architectures, Algorithms and Programming, IEEE, Dalian, China, pp. 311-315.