StOn 21 & 22 March Organized By K.L.N. College Of Engineering, Madurai .

Transcription

ISSN (Online) : 2319 - 8753ISSN (Print) : 2347 - 6710International Journal of Innovative Research in Science, Engineering and TechnologyVolume 3, Special Issue 3, March 20142014 International Conference on Innovations in Engineering and Technology (ICIET’14)On 21st & 22nd March Organized byK.L.N. College of Engineering, Madurai, Tamil Nadu, IndiaAn Efficient Study of Job Scheduling Algorithmswith ACO in Cloud Computing EnvironmentM.Vijayalakshmi, K.MuthusamyDepartment of CSE, Anna University, Regional centre, Coimbatore, IndiaAbstract - Cloud Computing is emerging as the nextgeneration platform which would facilitate the user onpay use mode as per requirement in modern distributedcomputing. It gives a better way of scheduling jobs inrestricted conditions. Since the number of cloud usersneed different kind of virtual machines(VM) as per therequirement and cloud provider provides these services asper the Service Level Agreement(SLA) to ensure QoS. Tomanage large amount of VM requests, then the cloudproviders require an efficient job scheduling algorithm.The objective of the paper is to achieve a practicalcomparison of various job scheduling algorithms forscheduling virtual machines proposes optimizationtechnique which resolves the issues in the schedulingbased algorithm that one of these algorithms is better forscheduling and provisioning with the perspective of costand security of VMs.Keywords— Cloud Computing, JobScheduling Algorithm, Cloud Analyst.I.Scheduling,INTRODUCTIONCloud computing is everywhere for businessinstitutions and research institutions, in last few years.When we open at any IT magazines, websites and TVchannels, cloud will definitely catch our eye. Cloudcomputing is a most recent new computing paradigmwhere applications, records and IT services are providedover the Internet[1]. Cloud computing is the fastest newmodel for delivering on demand services over internet andcan be described as software for internet centric. Cloudcomputing has become an interesting and beneficial wayof changing the whole computing. Schedulers for cloudcomputing determine on which processing resource jobsof a workflow should be allotted. Scheduling theory forcloud computing is in advance a lot of awareness withincreasing popularity in this cloud epoch. Serviceprovider like to ensure that income are utilized to theirM.R. Thansekhar and N. Balaji (Eds.): ICIET’14fullest and best capacity so that resource power is not leftunused. Scheduling is a critical problem in Cloudcomputing, because a cloud provider has to serve manyusers in Cloud computing system[2]. So scheduling is theleading issue in establishing Cloud computing systems.The main goal of scheduling is to expand the resourceutilization and minimize processing time of the tasks[3].The cloud computing environment provides adifferent platform by creating a virtual machine thatassists users in Accomplishing their jobs within areasonable time and cost effectively without sacrificingthe quality of the services[4]. The huge growth invirtualization and cloud computing technologies reflectthe increasing number of jobs that require the services ofthe virtual machine. Various types of schedulingalgorithms have been applied on various data workloadsand measured with different performance metrics toevaluate the performance. Most of the schedulingalgorithms are developed to accomplish two aims. Thefirst is to improve the quality of services in executing thejobs and provide the expected output on time. The secondis to maintain efficiency and fairness for all jobs. Thereare numerous literatures which propose schedulingalgorithms. Some of these proposed algorithms areparticularly for serving jobs in a cloud computingenvironment and some are tailored to fit the cloudenvironment.A. Scheduling in CloudAn essential requirement in cloud computingenvironment is scheduling the current jobs to be executedwith the given constraints. Cloud Computing is also abouthow IT is provisioned and used and not only abouttechnological improvements and also the scheduling ofdata centers. The main target of scheduling is to maximizethe resource utilization and minimize processing time ofthe tasks. The scheduler should order the jobs in a waywhere balance between improving the quality of services2248

An Efficient Study of Job Scheduling Algorithms with ACO in Cloud Computing Environmentand at the same time maintaining the efficiency andfairness among the jobs[5]. An efficient job schedulingstrategy must aim to yield less response time. so that theexecution of submitted jobs takes place within a stipulatedtime and simultaneously there will be an occurrence of intime resource reallocation. As a result of this, jobs takesplace and more number of jobs can be submitted to thecloud by the clients which ultimately results inaccelerating the business performance of the cloudsystem[6].This study aims at analyze and investigate four jobscheduling algorithms under cloud environment, namely,Round Robin(RR), Random Resource Selection,Opportunistic Load Balancing and Minimum CompletionTime, in terms of their ability to provide quality servicefor the tasks and guarantee fairness amongst the jobsserved. Furthermore, study the behavior of thesescheduling algorithms and determine the most appropriatejob scheduling algorithm for running jobs under cloudenvironment as a solution based on Ant ColonyOptimization[7].Figure 1 Scheduling in CloudThis study aims at analyze and investigate four jobscheduling algorithms under cloud environment, namely,Round Robin (RR), Random Resource Selection,Opportunistic Load Balancing and Minimum CompletionTime, in terms of their ability to provide quality servicefor the tasks and guarantee fairness amongst the jobsserved. Furthermore, study the behavior of thesescheduling algorithms and determine the most appropriatejob scheduling algorithm for running jobs under cloudenvironment as a solution based on Ant ColonyOptimization.B. ContributionsIn this paper, we make the following contributions:M.R. Thansekhar and N. Balaji (Eds.): ICIET’14 To inspect the different scheduling algorithmswhich can be adopted in cloud-based systemsand simulate these algorithms using CloudSim. Appraise these algorithms performance anddetermine both of their advantage anddisadvantage. Propose an improved scheduling algorithm orpolicy and verify the proposed algorithm inCloudSim as well as extend CloudSim.Though, these work using the java program toimplement the job scheduling system.II. RELATED WORKA. Concepts of Cloud ComputingCloud computing is based on the concept ofinfrastructure convergence[6] and distributing services[7],in an attempt to Provide unique types of services throughprovisioning of dynamically scalable and virtualizedresources. It is a combination of techniques from parallelcomputing, distributedcomputing, as well as platform virtualizationtechnologies.The primary goal of Cloud Computing is to provideefficient access to remote and geographically distributedresources with the help of Virtualization in Infrastructureas a Service (IaaS). We need various kind of virtualmachines (VM) as per the requirement and cloud providerprovides these services as per the Service LevelAgreement (SLA) to ensure QoS. For managingenormous amount of VM requests, the cloud providersrequire an efficient resource scheduling algorithm. In thispaper, a relative study has been made for different typesof VM scheduling and provisioning algorithms and arebriefly discussed and analyzed. Then conclude that one ofthese algorithms is better for scheduling and provisioningwith the perspective of cost and security of VMs. Jobscheduling in cloud computing has attracted greatattention. Most research in job scheduling adopt a modelin which a job in cloud computing system is characterizedby its workload, dead-line and the corresponding utilityobtained by its completion before deadline, which arefactors considered in devising an effective schedulingalgorithm.A comparative study was done comparing the variousexisting algorithms with the proposed algorithm and theresults were illustrated in the form of graphs. However,the proposed algorithm does not handle certain cases likethe failure of nodes. Also, the uptime and downtime ofnodes have not been measured. This scheduling algorithmcan be extended to suit other cloud platforms also. Here,the load factor above which the highest priority nodechanges is kept constant. Further extension to thisalgorithm can be done by varying the maximum loadfactor, above which the priority of a node decreases,dynamically by setting it to an optimum value based onthe present conditions. May be in future Cloud computingwill be the main platform to save the world. This makespeople can have everything they need on it.2249

An Efficient Study of Job Scheduling Algorithms with ACO in Cloud Computing EnvironmentThe study in presented two scheduling algorithms forscheduling tasks in cloud computing, taking into accounttheir computational complexity and the computingcapacity of the processing elements. The algorithms aredesigned for private cloud environment where theresources are limited. The first algorithm is namedLongest Cloudlet Fastest Processing Element (LCFPE)which considers the computational complexity of thecloudlets in the process of making scheduling decisions.The second algorithm is named Shortest Cloudlet FastestProcessing Element (SCFP).This deals with the design of an Ant ColonyOptimization (ACO) algorithm that aims to allocate taskson to available resources in cloud computingenvironment. ACO is a meta-heuristic approach appliedsuccessfully to single objective combinatorial problems.This chapter examines the concepts involved in the designof ACO algorithms to tackle Multi objective Taskscheduling problem such as defining multi objectivepheromone information, calculation of probability matrixand pheromone update strategies. Individual ants arebehaviorally much unsophisticated insects. They have avery limited memory and exhibit individual behavior thatappears to have a large random component. Acting as acollective however, ants manage to perform a variety ofcomplicated tasks with great reliability and consistency.Although this is essentially self-organization rather thanlearning, ants have to cope with a phenomenon that looksvery much like overtraining in reinforcement learningtechniques.III. PROBLEMS IN EXISTING SYSTEMThe scheduler should order the jobs in a way wherebalance between improving the quality of services and atthe same time maintaining the efficiency and fairnessamong the jobs. Thus, estimate the performance ofscheduling algorithms is crucial towards realizing largescale distributed computing. In spite of the variousscheduling algorithms proposed for cloud environment,there is no extensive performance study undertaken whichprovides a unified platform for comparing suchalgorithms. Comparing these scheduling algorithms in anInfrastructure as a Service (IaaS) of cloud computingfrom different perspectives is an aspect that needs to beaddressed.M.R. Thansekhar and N. Balaji (Eds.): ICIET’14Figure 2 Job Scheduling in CloudFor the cloud environment, many adapted schedulingalgorithms are proposed to enhance the total systemperformance such as throughput, make span and the cost.However, the variety of scheduling algorithms increasesthe complexity of selecting the best one for adoption.Achieving a practical comparison study among fourcommon job scheduling algorithms in cloud computing.The existing system aims at analyze and investigate fourjob scheduling algorithms under cloud environment.IV. PROPOSED SYSTEMA. The Proposed AlgorithmA comparative study was done comparing the variousexisting algorithms with the proposed algorithm and theresults were illustrated in the form of graphs. A user sendsa request for resources to a provider. When the providerreceives the request, it looks for resources to satisfy therequest and assigns the resources to the requesting user,typically as a form of virtual machines (VMs).Then theuser uses the assigned resources to run applications andpays for the resources that are used. When the user isdone with the resources, they are returned to the provider.Job scheduling strategy is very effective technique tosolve the scheduling problem and also better utilization ofthe resources.2250

An Efficient Study of Job Scheduling Algorithms with ACO in Cloud Computing EnvironmentFigure 3 Architecture of a System SchedulingThe proposed system is designed such away it works in Virtual machine enables the abstraction ofan Operating System and Application running on it fromthe hardware. The interior hardware infrastructureservices interrelated to the Clouds is modelled in thesimulator by a Datacenter element for handling servicerequests. These requests are application elementssandboxed within VMs, which need to be allocated ashare of processing power on Datacenter’s hostcomponents. Data Center object handles the data centermanagement activities such as VM creation anddestruction and does the routing of user requests receivedfrom User Bases via the Internet to the VMs. Cloudcomputing is composed with the virtual machines. Whenthe user catches the large distributed data in cloudcomputing, the operation will affect the performance ofvirtual machines. In order to improve the virtualmachine’s processing in cloud computing infrastructure,this study proposes system for improving the performanceof virtual machines in cloud computing infrastructure.To improve the VMs capability to offer reliableservices in Cloud computing platform, this study proposescloud computing system with different master and slavesystem architecture.V. SYSTEM IMPLEMENTATIONThe four job scheduling policies in Cloud computingwere carefully selected for evaluation, namely, Random,Round Robin (RR), Minimum Completion Time andOpportunistic Load Balancing. These algorithms areconsidered the most common and frequently usedalgorithms for job scheduling in Cloud computing. Topractically compare these algorithms and explain thedetails of each job scheduling algorithm.A. Random Resource Selection AlgorithmThe idea of random algorithm is to randomly assignthe selected jobs to the available Virtual Machines (VM).The algorithm does not take into considerations theposition of the VM and it will either be under heavy loador low load. Then, this may result in the selection of aVM under heavy load and the job requires a long waitingtime before service is obtained. The complexity of thisalgorithm is quite low as it does not need any overhead orpreprocessing.Two input sets, cloudlets (i.e., jobs) and available VMs.Index random() * (NoVM - 1)(1)Where, Index is to the selected VM, random() that returnsa random value between 0 and 1 and NoVM is the totalnumber of available VMs.Figure 4 Process of random algorithmB. Round Robin AlgorithmThough the algorithm is very simple, there is anadditional load on the scheduler to decide the size ofquantum and it has longer average waiting time and lowthroughput. The Round Robin algorithm mainly focuseson distributing the load equally to all the resource. Usingthis algorithm, the scheduler allocates one VM to a nodein a cyclic manner. The round robin scheduling in thecloud is very similar to process scheduling. Then thescheduler starts with a task and moves on to the next task,after a VM is assigned to that task. Restated until all thenodes have been allocated at least one VM and then thescheduler returns to the first task again. Hence, in thiscase, the scheduler does not wait for the exhaustion of theresources of a node before moving on to the next task. Asan example, if there are three job and three VMs are to bescheduled, each task would be allotted one VM, providedall the nodes have enough available resources to run theVMs.Index- (index 1) mod NoVMM.R. Thansekhar and N. Balaji (Eds.): ICIET’14(2)2251

An Efficient Study of Job Scheduling Algorithms with ACO in Cloud Computing EnvironmentFigure 5 Process of Round Robin algorithmFigure 7 Process of opportunistic load balancingC. Minimum Completion Time AlgorithmThe Minimum Completion Time job schedulingalgorithm attempts to allocate the selected job to theavailable VM that can offer the minimum completiontime taking into account its current load. The maincriterion to determine the VM in the minimum completiontime scheduling algorithm is the processor speed and thecurrent load on each VM. In this algorithm first scans theavailable VMs in order to determine the most appropriatemachine to perform the job. Subsequently, it dispatchesthe job to the most suitable VM andstarts execution.Index- Min{v.getready() cl.length/v.speed vVML} (3)Figure 6 Process of minimum completion timeD. Opportunistic Load Balancing AlgorithmIn this algorithm attempts to dispatch the selected jobto the available VMs which has the lowest load comparedto the other VMs. The idea is to scale the current loads foreach VM before sending the job. Then, the VM that hasthe minimum load is selected to run the job. Assigns atask to the machine that becomes available next, withoutconsidering that the execution time of the task on thatmachine. when multiple machines become available atthe same time, then one is arbitrarily selected.Index - Min{v.getready() v VML}M.R. Thansekhar and N. Balaji (Eds.): ICIET’14VI METHODOLOGY AND DIAGRAMThe planning of the project mainly consists of thefollowing 2 phases:A. Phase1: Analyzing different job schedulingalgorithms and improving some schedulingalgorithms.In the initial phase, to study the different jobscheduling algorithms such as Round Robin, RandomResource Selection, Minimum Completion time andOpportunistic Load Balancing algorithms. Afterwards, toevaluate these algorithms performance and conclude theiradvantages, disadvantages as well as applicability. Forsimulating all these different algorithms will adoptCloudSim framework. CloudSim is a new generation andextensible simulation platform which enables CloudAnalyst is capable of generating graphical output of thesimulation results in the form of tables and charts, whichis desirable to effectively summarize the large amount ofstatistics that is collected from various job schedulingAlgorithms during the simulation. Such an effectivepresentation helps in identifying the important patterns ofthe output parameters and helps in comparisons betweenrelated parameters from the given algorithms. Statisticalmetrics are produced as output of the simulation.Average, minimum and maximum request processingtime by each data center, response time variation patternduring the day as the load changes and details of costs ofthe operation[9].(4)2252

An Efficient Study of Job Scheduling Algorithms with ACO in Cloud Computing EnvironmentFigure 8 Data Center ConfigurationB. Phase 2: Analyzing a solution of Load balancingin scheduling algorithms and improving an AntColony Optimization algorithmIn this phase, for investigating the proposedwork for cloud computing the process of the workscheduling and resource allocation problems basedon ant colony algorithm[3]. It involves thedevelopment of proposing a method based on AntColony optimization to resolve the problem of loadbalancing in cloud environment. Improves both its performance andscalability. This method reduces the amount ofmetadata that must be stored at thecentralized index effectively. Scheduling method is increased byalgorithm. Better scheduling performance.VI1 RESULTS DISCUSSION AND COMPARISONA. Comparative StudyMany jobs can be run and that will lead to anincrease of cost. The Round Robin algorithm producedless cost compared to the minimum completion time andthe opportunistic load balancing algorithms. The Randomalgorithm is the superior in all cases in terms of the totalcost compared with the other algorithms. Nevertheless,the Random algorithm has the same cost with the RoundRubin algorithm when the number of jobs is up to 500,600 and 700.B. Performance EvaluationVarious performance metrics were taken intoconsideration in order to measure and evaluate theselected job scheduling algorithms. These metrics includethe make span, amount of throughput and total cost.These performance metrics are the most important andfrequently used metrics in the previous works forevaluating the scheduling algorithms in cloud computingenvironment.M.R. Thansekhar and N. Balaji (Eds.): ICIET’14Figure 9 Performance Evaluation System is performed with Random and RoundRobin algorithm for efficient and fairness. It is also performed with Minimum CompletionTime and Opportunistic Load BalancingAlgorithm with faster. Sometimes both produces the same result.ACO algorithm is also used for better efficiency withfaster.VII. CONCLUSION AND FUTURE WORKIn this Study based on the results, it can be alsoconcluded that there is not a single scheduling algorithmthat provides superior performance with respect to varioustypes of quality services. This is because job schedulingalgorithms needs to be selected based on its capability toensure good aspect of services with reasonable cost andmaintain fairness by fairly distribute the availableresources among all the jobs and respond to theconstraints of the users. Existing scheduling algorithmgives high throughput and cost effective but they do notconsider reliability and availability. It involves thedevelopment of proposing a method based on Ant Colonyoptimization to resolve the problem of load balancing incloud environment. In future work will propose a newalgorithm for resource scheduling and comparative withexisting algorithms. The efficiency of the user requestfirst may be optimized the processor and execute therequest.ACKNOWLEDGEMENTIt’s my immense pleasure to thank my Guide andMentor for his earnest efforts and incessant supportthroughout my project accomplishment.REFERENCES[1] Isam Azawi Mohialdeen, “A Comparative Study of SchedulingAlgorithms in Cloud Computing Environment” 2013 SciencePublications.[2] Jinhua Hu, Jianhua Gu, Guofei Sun Tianhai Zhao “A SchedulingStrategy on Load Balancing of Virtual Machine Resources inCloud Computing Environment” 2010 IEEE.[3] Kun Li, Gaochao Xu, Guangyu Zhao, Yushuang Dong, Dan Wang“ Cloud Task scheduling based on Load Balancing Ant ColonyOptimization” 2011 IEEE.2253

An Efficient Study of Job Scheduling Algorithms with ACO in Cloud Computing Environment[4] Yang, B., X. Xu, F. Tan and D.H. Park “An utility based jobscheduling algorithm for cloud computing considering reliabilityfactor” Proceedings of the 2011 International Conference onCloud and Service Computing, IEEE Xplore Press.[5] Vijindra and Sudhir Shenai. A, “Survey of Scheduling Issuesin Cloud Computing”, 2012, Elsevier Ltd.,[6] Sindhu, S. and S. Mukherjee “Efficient task scheduling algorithmsfor cloud computing environment” 2011. Commun. Comput.Inform. Sci.,[7] Sandeep Tayal, “Tasks Scheduling Optimization for the cloudcomputing systems”, (IJAEST) International Journal Of AdvancedEngineering Sciences And Technologies, Volume-5, No.2, p 11 –15, 2011.[8] L.M.Vaquero, L.Rodero Merino, J.Caceres, and M.Lindner, “Abreakin the clouds: towards a cloud definition,” ACMSIGCOMM Computer Communication Review, vol.39, no.1, pp.50–55,2008.[9] Bhathiya, Wickremasinghe. “Cloud Analyst: A Cloud Sim-basedVisual Modeller for Analysing Cloud Computing Environmentsand Applications”.[10] R.Buyya, C.Yeo, S.Venugopal, J.Broberg, and I.Brandic, “Cloudcomputing and emerging it platforms: Vision, hype, and reality fordeliveringcomputing as the 5th utility,” Future Generationcomputer systems,vol.25,no.6,pp.599–616,2009.[11] Dr Ajay jangra , Tushar Saini “Scheduling Optimization in CloudComputing” 2013 Science Publications.[12] Linan Zhu,Quinshui Li, and Lingna He “Study on CloudComputing Resource Scheduling Strategy Based on the AntColony Optimization Algorithm” 2012 Science Publications.[13] C T Lin, " “Comparative Based Analysis of SchedulingAlgorithms for Resource Management in Cloud ComputingEnvironment” ", Vol. 1, Issue-1, July 2013.M.R. Thansekhar and N. Balaji (Eds.): ICIET’142254

For the cloud environment, many adapted scheduling algorithms are proposed to enhance the total system performance such as throughput, make span and the cost. However, the variety of scheduling algorithms increases the complexity of selecting the best one for adoption. common job scheduling algorithms in cloud computing.