Dynamically optimized cost based task scheduling in Cloud Computing Yogita Chawla 1, Mansi Bhonsle 2 1,2 Pune university, G.H Raisoni College of Engg & Mgmt, Gate No.: 1200 Wagholi, Pune 412207 Abstract: Task scheduling is one of the main research topic in Cloud Computing. Task scheduling is done at user level and system level. At user level, scheduling deals with the problems between service provider and customer whereas at system level, scheduling deals with resource management within datacenter. The objective of this study is to use the conventional scheduling concepts to merge them to provide solution for better and more efficient task scheduling which is beneficial to both user and service provider. The proposed scheduling approach in cloud employs a dynamically optimized cost-based task scheduling algorithm for making efficient mapping of tasks to available resources in cloud. It aims to combine cost based task scheduling beneficial to user and dynamically optimized resource allocation strategy beneficial to service provider. It also improves computation/communication ratio and utilization of available resources by grouping the user tasks before resource allocation. Keywords: Cloud computing, task scheduling, dynamically optimized, activity based costing 1. INTRODUCTION There is an emerging requirement of a task scheduling strategy that is beneficial to both user and service provider. The individual greedy and priority based scheduling are beneficial to user and grouping based scheduling is concerned with better utilization of available resources. But the priority based scheduling may lead to long waiting time for low priori tasks. Greedy scheduling from users point of view lead to wastage of resources whereas greedy scheduling from service providers point of view may lead to disappointment for user on quality of service parameters. Similarly task scheduling grouping may have the disadvantage of considerable task completion time due to formation of groups. To satisfy the requirement this project aims to combine cost based task scheduling beneficial to user and dynamically optimized resource allocation strategy beneficial to service provider. It also improves computation/communication ratio and utilization of available resources by grouping the user tasks before resource allocation. The new strategy proposed here uses the conventional scheduling concepts to merge them to provide solution for better and more efficient task scheduling. Section 2 briefly discusses related work followed by programmer s design in Section 3. In Section 4 the experimental details and results of experiments are presented. Finally, Section 6 concludes the paper. 2. RELATED WORK Cloud computing has emerged as a popular computing model to support on demand services. Basic concepts of cloud computing are explained in [7][8][9]. Resource allocation and scheduling in cloud is classified in [10]. Cloud service scheduling is categorized at user level and system level. At user level scheduling deals with problems raised by service provision between providers and customers. The system level scheduling handles resource management within datacenter. [4] describes the details of scheduling in cloud computing. Grouping of jobs concept in grid computing is introduced in[5]. Similarly in cloud computing, due to job grouping, communication of coarse-grained jobs and resources optimizes computation/communication ratio. For this purpose, an algorithm based on both costs with user task grouping is proposed in [1]. The proposed scheduling approach in cloud employs an improved cost based scheduling algorithm for making efficient mapping of tasks to available resources in cloud. This scheduling algorithm improves the computation/communication ratio by grouping the user tasks according to a particular cloud resources processing capability and sends the grouped jobs to the resource. Improved cost based scheduling algorithm introduces activity based costing which is compared to traditional costing model in [6]. Scheduling in cloud is responsible for selection of best suitable resources for task execution, by taking some static and dynamic parameters and restrictions of tasks into consideration. The user s perspective of efficient scheduling may be based on parameters like task completion time or task execution cost etc. Service providers like to ensure that resources are utilized efficiently and to their best capacity so that resource potential is not left unused. [2] proposes a scheduling algorithm which addresses these major challenges of task scheduling in cloud. The incoming tasks are grouped on the basis of task requirement like minimum execution time or minimum cost and prioritized. Resource selection is done on the basis of task constraints using a greedy approach. This paper combines improved cost based task scheduling [1] with dynamically optimization algorithm [2]. The resulting scheduling policy will be beneficial to both customer and service provider. It uses CloudSim as a Volume 2, Issue 3 May June 2013 Page 38
simulation tool. Quantifying the performance of scheduling and allocation policy on a Cloud infrastructure for different application and service models under varying load, energy performance and system size is an extremely challenging problem to tackle. To simplify this process,[3] propose CloudSim: a new generalized and extensible simulation framework that enables seamless modeling, simulation, and experimentation of emerging Cloud computing infrastructures and management services. 3 PROPOSED WORK 3.1 Solution Job grouping based scheduling is a dynamic scheduling strategy that maximizes the utilization of resources processing capabilities, and reduces the overhead time and cost taken to execute the jobs. This job scheduling strategy[1] takes into account: (i) the processing requirements for each job, (ii) the grouping mechanism of these jobs, known as a job grouping, according to the processing capabilities of available resources, and (iii) the transmitting of the job grouping to the appropriate resource. Dynamically optimized task scheduling is a greedy approach used to solve the job scheduling problem. It makes a locally optimal choice in the hope that this choice will lead to a globally optimal solution. In this algorithm the cost based tasks are prioritized on the basis of task profit in descending order. The tasks with higher profit can be executed on minimum cost based machine to achieve maximum profit. Then the resource with minimum cost is selected and tasks are scheduled on it until its capacity is supported. The selection of task and target resource is sequential once they are prioritized according to user needs. Dynamically optimized cost based task scheduling studies all four combinations of with and without job grouping and dynamic optimization. The output is served for all types of scheduling under study. Using task grouping algorithm for scheduling after prioritization, the processing time and in turn the cost is reduced over the algorithm without task grouping. When the virtual machine is selected dynamically on the basis of cost and processing power, the cost is further reduce over the sequential virtual machine selection which is the default of CloudSim. 3.2 Area of study Paper [1] proposes cost based prioritization with job grouping strategy. The dynamic optimization by selecting the virtual machine dynamically is proposed in [2]. The main focus of this paper is the intersection of both the papers as shown in the diagram below. This paper proposes a scheduling which is the combination of job grouping, cost based prioritization and dynamic virtual machine selection. Figure 1 Area of study 4.3 Input and output All the input parameters are listed in XML file. This file is scanned by program to retrieve all the settings or parameters required. Below are the required input parameters. MIPS of processing element Host identifier, Ram, storage, bandwidth Datacenter time zone, cost per second, cost per memory, cost per bandwidth, cost per storage Virtual machine identifier, RAM, size, bandwidth Broker name Cloudlet identifier, length, input file size, output file size Scheduling type. The output is observed for all types of scheduling under study. Using task grouping algorithm for scheduling after prioritization, the processing time and in turn the cost is reduced over the algorithm without task grouping. When the virtual machine is selected dynamically on the basis of cost and processing power, the cost is further reduce over the sequential virtual machine selection which the default of CloudSim.. 4.4 Detail design DataCenterBroker in CloudSim is responsible for selecting virtual machine on which the grouped tasks to be executed. This selection, based of virtual machine cost and processing power, is done using dynamically optimization algorithm. The DataCenterBroker class is extended in order to implement the selection of the VM. Below is the list of classes which are extended from DataCenterBroker for the simulation. These classes overrides submitcloudlets() and processcloudletreturn() functions to implement broker specific functionality. BrokerWithGroupingAndWithDO BrokerWithGroupingAndWithoutDO BrokerWithoutGroupingAndWithDO BrokerWithoutGroupingAndWithoutDO This project uses factory pattern to implement the four types of brokers listed above. The BrokerFactory class takes in scheduling type and broker name as input parameters. Depending upon the scheduling type it creates instance of appropriate broker class and returns the same. A DynamicVmList class is implemented which extends VmList of CloudSim. This class uses comparator to sort the virtual machine list in the ascending order of resource cost/ resource MIPS. Before execution of tasks on virtual machine only the costs of memory and storage incurs [3]. Hence the resource cost is calculated as (RAM of the Volume 2, Issue 3 May June 2013 Page 39
Virtual machine * cost per memory) + (size of virtual machine * cost per storage). 4.3 Comparison of processing time with and without job grouping As shown in the table 4 the time taken to complete tasks after grouping the tasks is very less when compared with time taken to complete the tasks without grouping the tasks. Table 4: Comparison of time with and without grouping Time(Sec) Without grouping With Grouping 25 260.92 48.19 50 532.23 110.597 75 815.75 186.08 100 1118.28 275.96 A GroupedCloudlets class is implemented for grouping purpose. It is responsible for creating groups of. These groups are then submitted to resources rather than individual cloudlet in order to reduce the communication overhead. 4 RESULTS AND DISCUSSION 4.1 Implementation with CloudSim This project uses CloudSim version 3.0 toolkit to simulate heterogeneous resource environment. It provides a series of core function for the establishment and simulation of heterogeneous distributed computing environment, particularly suitable for simulation and research of task scheduling on cloud. 4.2 Experimental setup The configuration of datacenter created is as shown below. Table 1: Processing element (PE) configuration PE 1 Processing power(mips) 110000 Table 2: Host configuration Hosts 2 RAM(MB) 10240 VM Scheduling Time-shared Table 3: Virtual machine configuration Virtual machines VM1 VM2 VM3 VM4 RAM (MB) 5024 5024 5024 5024 P.Power (MIPS) 22000 11000 11000 22000 Figure 2 Comparison of processing time with and without job grouping 4.4 Comparison of processing cost with and without dynamic optimization The tasks execution using dynamic optimization algorithm results in a significant improvement in cost over the sequential allotment as shown in table 5. Table 5: Comparison of processing cost with and without Cost Without DO With DO 25 407.12 360.56 50 801.55 754.89 75 1425.35 1149.22 100 2094.74 1543.56 Figure 3 Comparison of processing cost with and without dynamic optimization Volume 2, Issue 3 May June 2013 Page 40
4.5 Comparison of processing time and cost with and without job grouping and dynamic optimization Table 6 Comparison of processing time for grouping and Time(Sec) Without grouping With grouping W/o DO With DO W/o DO With DO 25 260.92 259.54 48.19 49.54 50 532.23 531.12 110.59 101.12 75 815.75 817.11 186.08 177.11 100 1118.28 1116.79 275.96 266.79 Figure 4 Comparison of processing time for grouping and As shown in the table 6 and 7 the cost and time is minimum when both dynamic optimization and job grouping is used together. Table 7 Comparison of processing cost for grouping and Cost Without grouping With grouping W/o DO With DO W/o DO With DO 25 407.12 360.56 487.56 360.56 50 801.55 754.89 975.13 754.89 75 1425.35 1149.22 1462.69 1149.22 100 2094.74 1543.56 1950.26 1543.56 Figure 4 Comparison of processing cost for grouping and 5 CONCLUSION Dynamically optimized task scheduling when combined with task grouping helps reducing the processing time as well as cost. This type of scheduling is beneficial to both user and cloud provider. Using task grouping algorithm for scheduling after prioritization, the processing time is reduce over the algorithm without task grouping. When the virtual machine is selected dynamically on the basis of cost and processing power, the cost is further reduced over the sequential virtual machine selection which the default of CloudSim. Thus the processing cost and time is minimum when both grouping and dynamic optimization are combined. References [1] Mrs.S.Selvarani and Dr.G.Sudha Sadhasivam, Improved cost based algorithm for task scheduling in cloud computing, IEEE, 2010. [2] Monika Choudhary and Sateesh Kumar Peddojuing, A Dynamic Optimization Algorithm for Task Scheduling in Cloud Environment, International Journal of Engineering Research and Applications, Vol. 2, Issue 3, May-Jun 2012. [3] Rodrigo N. Calheiros, Rajiv Ranjan, CÃlsar A. F. De Rose and Rajkumar Buyya, CloudSim: A Novel Framework for Modeling and Simulation of Cloud Computing, Grid Computing and Distributed Systems (GRIDS) Laboratory Department of Computer Science and Software Engineering The University of Melbourne, Australia. [4] Fei TENG, Task scheduling in cloud Infrastructures and Services, Jan 2012. [5] Nithiapidary Muthuvelu, Junyang Liu, Nay Lin Soe, Srikumar Venugopal, Anthony Sulistio and Rajkumar Buyya, A Dynamic Job Grouping-Based Scheduling for Deploying, Grid Computing and Distributed Systems (GRIDS) Laboratory Department of Computer Science and Software Engineering The University of Melbourne, Australia, 2005. [6] Derya Eren Akyol, Gonca Tuncel, and G. Mirac Bayhan, A comparative analysis of activity-based costing and traditional costing, World Academy of Science, Engineering and Technology, 2005. [7] Sohan Singh Yadav and ZengWen Hua, CLOUD: A Computing Infrastructure on Demand, IEEE, 2010. [8] M.Malathi, Cloud Computing Concepts, IEEE, 2010. [9] Peeyush Mathur and Nikhil Nishchal, Cloud Computing:New challenge to the entire computer industry, IEEE, 2010. [10] Ms. Shubhangi D. Patil, Dr. S. C. Mehrotra, Resource Allocation and Scheduling in the Cloud, International Journal of Emerging Trends and Technology in Computer Science. Volume 1, Issue 1, May-June 2012. Volume 2, Issue 3 May June 2013 Page 41
AUTHOR Yogita Chawla received the B.E. degrees in Computer Engineering from Pune University in 2000. This paper is part of her M.E degree which she is currently pursuing. Mansi Bhonsle is a lecturer in G. H Raisoni College of Engg & Mgmt. Volume 2, Issue 3 May June 2013 Page 42