Comparative Based Analysis of Scheduling Algorithms for Resource Management in Cloud Computing Environment
Total Page:16
File Type:pdf, Size:1020Kb
International Journal of Computer Science and EnginEngineeringeering Open Access Review Paper Vol.-1, Issue-1, July 2013 E-ISSN: XXXX-XXXX Comparative Based Analysis of Scheduling Algorithms for Resource Management in Cloud Computing Environment C T Lin *1 *1 Department of Mechanical Engineering University of California, Davis, California www.ijcaonline.org Received: 26/05/2013 Revised: 12/06/2013 Accepted: 28/06/2013 Published: 30/07/2013 Abstract — Cloud Computing (CC) is emerging as the next generation platform which would facilitate the user on pay as you use mode as per requirement. It provides a number of benefits which could not otherwise be realized. The primary aim of CC is to provide efficient access to remote and geographically distributed resources. A scheduling algorithm is needed to manage the access to the different resources. There are different types of resource scheduling technologies in CC environment. These are implemented at different levels based on different parameters like cost, performance, resource utilization, time, priority, physical distances, throughput, bandwidth, resource availability etc. In this research paper various types of resource allocation scheduling algorithms that provide efficient cloud services have been surveyed and analyzed. Based on the study of different algorithms, a classification of the scheduling algorithms on the basis of selected features has been presented. Keywords-Cloud computing, Scheduling algorithms, Resource allocation, Open source, Virtual Machine I. INTRODUCTION the different resources. It also provides proper load balancing while resource allocation. There are different Cloud computing (CC) has arisen out of developments in grid computing, virtualization and web technologies. CC is types of resource scheduling in CC that are based on a scalable distributed computing environment in which a different parameters like cost, performance, resource large set of virtualized computing resources, different utilization, time, priority, and physical distances, through infrastructures, various development platforms and useful put, bandwidth, and resource availability. software’s are delivered as a service to customers as a pay as you go manner usually over the Internet [1]. CC consists A. Taxonomy of Cloud Computing of infrastructure, platforms, and applications. Cloud Cloud computing provides various services related to technology helps business organizations, academic software, platform, infrastructure, data, identity and policy institutions, government organizations in cutting down management. Cloud Computing building blocks consists of operational expenses. The significant features of CC include lower cost, incremental scalability, reliability and fault- three layers IaaS, PaaS & SaaS as shown in Fig. 1. tolerance, service-oriented, utility-based, virtualization and SLA [2] [3].Cloud computing have been used for various Software as a service areas like education, business, health etc. It is required to have an efficient use of resources by different application Documents, applications, data, information areas [4] [5]. Cloud computing environments can be built on different Platform as a service system infrastructures like on physically located grids (grid- based), geographically distributed services (service-based), Identity and access management, developing tools, commercial cloud computing infrastructure (business- data management based) etc. Cloud enables on-demand provisioning of computational resources, in the form of virtual machines Infrastucture as a service (VMs) deployed in a cloud provider’s datacenter. Cloud computational resources are shared among different cloud Virtualization, management, utility computing, connectivity consumers who pay for the services according to the usage of resource. The allocation of resource and proper Hardware and software environment scheduling has significant impact on the performance of the system. The primary aim of CC is to provide efficient access to remote and geographically distributed resources. Figure 1. Cloud computing service layers An efficient scheduling is needed to manage the access to IaaS delivers hardware and associated software as a service. It consists of servers (stand alone and virtualized), Corresponding Author: C T Lin, *1 Depat. of Mechanical storage, network, operating systems, virtualization Engineering University of California, Davis, California technology and file system. Virtualized infrastructure © 2013, IJCSE All Rights Reserved 17 International Journal of Computer Science and Engineering Vol.-1(1), July (2013) PP(17-23) provides the abstraction necessary to ensure that an way it satisfies the required criteria for efficient resource application or business service is not directly tied to the allocation and better services. underlying hardware infrastructure. Platform as a service provides application development and deployment platform A comprehensive study has been carried out to study and as a service to developers over the web. This platform analyze the working of different scheduling algorithms. consists of infrastructure software, and typically includes a Based on this study different selected significant factors are database, middleware and development tools. Identity and being identified for comparative analysis of the algorithms. access management is also implemented at this layer and offered to the user as a service. Software as a service layer II. PREVIOUS WORK provides the user custom build applications such as CRM, Resource allocation and scheduling of resources have been ERP. These are built and deployed on cloud by developers. an important aspect that affect the performance of Some SaaS providers run on another cloud provider’s PaaS networking, parallel, distributed computing and cloud or IaaS service offerings. Some of SaaS applications are computing. Many researchers have proposed various Oracle CRM on Demand, Salesforce.com, Netsuite etc . algorithms for allocating, scheduling and scaling the resources efficiently in the cloud. These includes first come B. Types of Cloud Computing first serve, min-min max min, ant colony, round robin, Cloud Computing environment can be classified in many earliest dead line first, hybrid heuristic, back tracking, task ways. Cloud computing environment can be classified as duplication, genetic algorithm, loss and gain simulated public cloud, private cloud and hybrid cloud. A public cloud annealing, ant colony , greedy etc. Various modified sells services to anyone on the Internet. A private cloud is a scheduling algorithms like Improved Genetic Algorithm, proprietary network or a data center that supplies hosted Modified ant colony optimization, Extended Min-Min have services to a limited number of people. A hybrid cloud is a also been proposed by researchers [6-10][12][15] combination of public and private clouds. For example, a [16][18][19][24]. business may choose to provide some resources internally while choosing to outsource some externally. Energy-efficient (Green) resource allocation policies and scheduling algorithms for cloud computing are proposed. C. Scheduling in Cloud Computing The algorithm uses the prediction in making turning off/on Scheduling algorithm is the method by the number of running servers/hosts in order to eliminate which threads, processes or data flows are given access to the idle power consumption [20-22].Scheduling strategies in system resources (e.g. VM, processor time, communications this cloud computing scenario should satisfy the objectives bandwidth). The process of scheduling is very significant in of customer as well as of service providers. Authors have the CC environment for efficiently using the distributed addressed specific problem related to scheduling of resources. The speed, efficiency, utilization of resources in consumers’ service requests (or applications) on service optimized way depends largely on the type of scheduling instances made available by providers taking into account algorithm selected for the CC environment. This is usually costs incurred by both consumers and providers as the most important factor [11][13] [14][16][31]. done to load balance a system effectively or achieve a target quality of service. Scheduling is the process of deciding the distribution of the resources between varieties There are two major types of workflow scheduling of possible tasks. There are certain factors that scheduler is algorithms for grid and cloud workflow management mainly concerned. These include throughput, latency, systems. These are best-effort and QoS constraint based turnaround, response time and fairness. Throughput is algorithms. Best-effort based scheduling attempts to number of processes that complete their execution per time minimise the execution time, ignoring other factors such as unit. Latency is a measure of time delay experienced in a the monetary cost of accessing resources and various users system. Turnaround is total time between submission of a QoS satisfaction levels. Users QoS (Quality of Service) process and its completion. Response time can be defined requirements like deadline and budget have been amount of time it takes from when a request was submitted addressed in these existing grid and cloud workflow until the first response produced. Fairness is equal CPU management systems [30]. time to each process generally according to each process' priority. Based on the literature review, various CC Scheduling algorithms as mentioned above have been identified. Some There are