A Novel survey on Scheduling Algorithms on CloudSim in Cloud Environment

DOI : 10.17577/IJERTV4IS041123

Download Full-Text PDF Cite this Publication

Text Only Version

A Novel survey on Scheduling Algorithms on CloudSim in Cloud Environment

Nootan Verma1

Computer Science & Engineering Mody University of Science & Technology

Lakshmangarh, Sikar, Rajasthan, India

Niranjan Lal2 Computer Science & Engineering

Mody University of Science & Technology Lakshmangarh, Sikar, Rajasthan, India

Abstract Cloud computing is one of the latest emerging technology in todays IT sector. Cloud computing is a out bring computing resource as a service via the internet on demand and pay per users access to a pool of shared resources namely networks, storage spaces, servers, services and applications without even acquiring them. Thus, is helpful in managing time and cost for a user. Cloud Computing shifts away the old fashioned form of computing like purchase of a product to computing as a service that is delivered to users over the internet from large-scale DataCenters. These DataCenters are also known as Cloud. Client data is stored and maintain in the DataCenter of a cloud provider like Google, Salesforce etc. The resources in cloud environment need to be provisioned to the distant end users in an efficient manner so that the terrific capabilities of cloud can be utilized effectively and efficiently. Provisioning involves both allocation and scheduling. Cloud Simulator helps to model various different cloud applications by creating DataCenter, Host, Cloudlet, Users, Virtual Machines and many other utilities which can be added to configure it by making it very easy to analyse cloud computing environment. In this paper we will present a novel survey on different task scheduling algorithms, important features on the CloudSim simulator in cloud environment.

Index TermsCloud Computing, CloudSim, Resource Provisioning, Task Scheduling.

down, the resources dynamically to provide Quality of Service for demand varying application. Though, there are various advantages in cloud computing such as prescribed and abstracted infrastructure, completely virtualized environment, equipped with dynamic infrastructure, pay per consumption, free of software and hardware installations, the major concern is the order in which the requests are satisfied.

Cloud computing enables dynamic and flexible application task scheduling and resource assignment i.e. Resource provisioning (TABLE I.) that is unified managed by providers through using virtualization technology. They have been used to hide and complete users tasks transparently. Task scheduling becomes more complex because of the transparent and dynamic flexibility of cloud computing system and the different needs for resources of different applications. Task scheduling focus on equity or efficiency will increase the cost of time, space, and throughput and improve the quality of service of the entire cloud computing at the same time.

0101

  1. Cloud Computing

    1. INTRODUCTION

      Netw

      Power infrastruct

      Kitchen Sink

      Spac

      Cloud computing provides users, to start their business without procuring any physical hardware whereas service providers can provide their resources to users and make their profit and Cloud computing is a considerably improved version of centralized data processing and storage as paralleled by the mainframe shown in Figure1[8]. Cloud computing can be categorized into,

      1. Cloud computing providers

      2. Cloud computing users

      3. End-users.

        Server

        Cloud service providers own the physical resources as DataCenters. Cloud computing users use these resources to provide service to users and end-users use those services. These DataCenter are interconnected with each other and uses virtualization technology that can be scaled and

        Lapto

        Physical Infrastructu

        Firewal

        PC

        adapted dynamically. Users have the ability to scale up or

        Figure 1: Cloud Computing

  2. Scheduling

In the cloud environment, the scheduling strategy determines the best selection of computing resources for efficient execution of the tasks after considering the Static or dynamic behaviour of successive tasks. The allocation of resources must be made such that it maximizes the system utilization and overall performance. Basically, scheduling

[2] is the process in which the tasks are mapped to the vacant resources after looking the requirements and characteristics of the tasks. Scheduling involves managing the amount of work and the order of work to be done of each element. This includes assigning the quality and rate of output and also the order of starting of each unit of work at each node along with the direction prescribed. It is essential concern while dealing with cloud environment that different task parameters need to be kept into consideration in order to achieve efficient and effective scheduling.

TABLE I. RESOURCE ALLOCATION ALGORITHMS

Resource Allocation Algorithm

Simple resource allocation Algorithm

Greedy Resource Allocation

Selective Algorithm

  • Min-Min

  • Max-Min

Optimal Scheduling Algorithm

  1. RELATED WORK

    In this paper [1], the algorithm emphasises that each resource is efficiently utilized and jobs provided by the user can run with smaller delays. The provisioning technique which is discussed in the given paper takes a run to improve the throughput by minimizing Makespan of six tasks on two VMs.

    In this paper [2], the authors have analyzed various scheduling algorithm which efficiently schedules the tasks in cloud environment. They have created FCFS, Round robin scheduling Algorithm and proposed a new Scheduling algorithm is (GPA) Generalized Priority Algorithm. The experiment is conducted for varying number of VMs and workload traces. The results of GPA are compared with FCFS and Round Robin.

    In paper [3], a scheduling algorithm named as Linear Scheduling for Tasks and Resources (LSTR) is designed, which is used for resource provisioning. The algorithm mainly focuses on uprooting of the starvation and deadlock conditions. The virtualization technique along with the scheduling algorithm will result higher resource utilization, system throughput, thus improving the performance of the cloud resources.

    In paper [4], the author concentrates on the task scheduling algorithms based on comprehensive Quality of service and constraint of expectation. They describes benefit-fairness algorithm based on new Berger's model under the dynamic cloud computing environment. They describe the priority of efficiency, fairness and the Balance task scheduling in between fairness and benefits respectively. They used CloudSim simulator to simulate the three task scheduling algorithms.

    In paper [5], the author highlights the issues regarding cloud computing mainly resource provisioning and its need. They focus on the greedy approach to solve the task scheduling. They implements Activity based costing algorithm and shows the comparison between the execution cost of sequential and proposed algorithm.

    Paper [6] focuses on Activity based Costing algorithm for measure of both, the cost of the objects and the performances of activities and it can also measure the cost quite precisely than traditional ones in cloud computing. Author uses SimGrid simulator to carry out the experiment to meet more complex condition.

    Paper [7] also compares the results with the Activity based costing algorithm, and CloudSim1.0b is emplyed to carry out and simulate the tasks assignment algorithm.

  2. SCHEDULING APPROACHES

    Scheduling can be divided into two types-job scheduling and task scheduling. Job scheduling includes scheduling algorithms like FCFS, Round Robin, Max-Min etc. And task scheduling includes various scheduling like Heuristic Scheduling etc as shown in TABLE II.

    Workflow scheduling [9][10] deals with the process of mapping the tasks to the correct resources, which are interconnected in a Directed Acyclic Graph (DAG). In this graph, nodes are denoted by tasks and edges are denoted by dependencies between the tasks. Workflow Scheduling is the major concern in managing workflow.

    Static scheduling allows for pre-fetching data required and pipelining different stages of task execution. Static scheduling causes lesser runtime overhead. In dynamic scheduling information of the tasks are not known before hand. Thus execution time of the task may not be known and the allocation of tasks is done as the application executes.

    Cloud scheduling [9] can be categorized into user level and system level. In user level scheduling, the issues deals with service provisioning between providers and customers. And in the system level scheduling, the issues deals with resource management within DataCenter.

    Heuristic Algorithms that are NP-hard can only be solved by heuristic or approximation approach. They are generally priority based. In this method, out of many solutions the optimal solution is chosen

    TABLE II. TYPES OF SCHEDULING

    Job Scheduling

    Task Scheduling

    1.Batch mode Heuristic Scheduling Algorithm

    1.Workflow Scheduling

    2. On-line mode Heuristic Algorithm

    2.Static and Dynamic Scheduling Algorithm

    3. Dependency mode Heuristic Algorithm

    4.Real-Time Scheduling

    6.Opportunistic load balancing Scheduling

    7.Agent Task Scheduling

    1. Cloud Service Algorithm

      • User-Level Services

      • System-Level Services

    1. Heuristic Scheduling

      • Genetic Algorithm

      • Ant Algorithm

    In Real-Time scheduling, the goal is to increasing of throughput and minimizing of average response time. These algorithms are non-preemptive and are applicable to the real time tasks.

  3. NEED OF SIMULATION IN THE CLOUD ENVIRONMENT

    CloudSim is a toolkit used for the modelling and simulating of cloud based environment. It provides system and behavioural modelling for the components of Cloud computing. Its main aim is to provide generalized and extensible simulation framework that enables modelling, simulation and experimentation of emerging Cloud computing infrastructures and application services, providing its users to lay emphasis on specific system design issues which they want to investigate without concerning about details related to cloud-based infrastructures and services. Simulation of cloud environments and applications to evaluate performance can deliver useful views to explore dynamic, enormously distributed and scalable environments.

    Figure 2[11], shows the multi-layered design of the CloudSim framework and its different architectural components. The CloudSim simulation layer provide base for modelling and simulation of virtualized Cloud-based DataCenter environments including management interfaces for Cloudlets, VMs, memory, storage, and bandwidth. The fundamental issues such as provisioning of hosts to VMs, managing application execution, and monitoring dynamic system state are handled by this layer.

    The Cloud provider wants to study the efficiency of different policies by assigning its hosts to VMs (VM provisioning), would need to implement his schemes at this layer. Such implementation can be done by programmatically extending the core VM provisioning functionality. There is a distinction at this layer related to provisioning of hosts to VMs. A Cloud host can be simultaneously allocated to a set of VMs that execute applications based on Software as a Service providers defined Quality of Service levels. This layer also unwrap the functionalities that a Cloud application developer can extend to perform complex workload profiling and application performance study. The top-most layer in the CloudSim stack is the User Code that exposes basic entities for hosts (number of machines, their Specifications etc.), Cloudlets (number of tasks and their requirements), VMs, number of DataCenters, number of users and their type of applications and broker scheduling policies.

    Cloud service providers offer flexible, on-demand, pay- per-use, measured infrastructure, platforms and software services. In the public cloud, renters have total control over the Operating System, storage and deployed applications. Resources are installed in different geographical regions. In the public cloud deployment model, the performance of an application provisioned in several regions is the main concern for organisations. Authentication of concepts in the public cloud environment gives a better understanding but costs a lot in terms of building capacity and resource usage even in the pay-per-use model.

    Figure 2. Layered CloudSim Architecture

    In the toolkit tasks represents Cloudlets, and machines represent VMs (Virtual Machines). Cloud is a DataCenter which is a resource. Cloudlets are executed on VMs.

    The principal advantages of simulation are:

    • Pliability of defining configurations

    • Ease of use and change requirements as needed

    • Cost benefits: designing, developing, testing, and then redesigning, rebuilding, and retesting any of the applications on the cloud can be expensive. Simulations pull out the building and rebuilding phase out of the loop by using the model which is previously created in the design phase.

    • CloudSim is a toolkit used for modelling and simulating of cloud environments and to assess resource provisioning algorithms.

      We can create folowing services by using CloudSim.

    • A datacenter with one host and run one cloudlet on it.

    • A datacenter with one host and run two cloudlets on it.

    • A datacenter with two host and run two cloudlets on it.

    • Two datacenters with one host each and run two cloudlets on them.

    • Two datacenters with one host each and run cloudlet of two users on them.

    • Create scalable simulation.

    • Pause and resume simulation and create simulation entities dynamically.

    • Create simulation entities in run time using a global manager entity.

  4. CONCLUSION AND FUTURE

Researchers every time coming with a new model of task scheduling algorithm, but each algorithm has some or the other drawbacks. Most of the experiments are carried out on CloudSim toolkit which is much effective simulator for cloud environment. To employ dynamic provisioning which is a complex issue in cloud computing, more emphasises need to be relay on bandwidth, response time resource expenses, and network connectivity for most efficient task scheduling. As a future scope new scheduling strategies to optimize multiple parameters in a way to satisfy the user requirements can be found in cloud environment.

ACKNOWLEDGEMENTS

We would like to acknowledge the support and input from my family and Mr. Niranjan Lal(Mentor), Assistant Professor in CSE, Mrs. Aditi Kajala(HOD, CSE), Dr. J.V. Desai(Dean) and all known faculties for their valuable guidance, of Mody University of Science and Technology, Lakshmangarh, Sikar, Rajasthan, India.

REFERENCES

  1. Mayanka Katyal and Atul Mishra Application of Selective Algorithm for Effective Resource Provisioning In Cloud Computing Environment Intenational Journal on Cloud Computing: Services and Architecture (IJCCSA) ,Vol. 4, No. 1, February 2014

  2. Dr. Amit Agarwal and Saloni Jain Efficient Optimal Algorithm of Task Scheduling in Cloud Computing Environment International Journal of Computer Trends and Technology (IJCTT) volume 9 number 7 Mar 2014

  3. Abirami S.P. and Shalini Ramanathan Linear Scheduling Strategy for Resource Allocation in Cloud Environment International Journal on Cloud Computing: Services and Architecture (IJCCSA),

    Vol.2, No.1,February 2012

  4. Hong Sun, Shi-ping Chen, Chen Jin, Kai Guo Research and Simulation of Task Scheduling Algorithm in Cloud Computing TELKOMNIKA, Vol.11, No.11, November 2013, pp. 6664~6672 e-

    ISSN: 2087-278X

  5. Lal Shri Vratt Singh and Jawed Ahmed A GREEDY ALGORITHM FOR TASK SCHEDULING & RESOURCE ALLOCATION PROBLEMS IN CLOUD COMPUTING International Journal of Research & Development in Technology and Management Science Kailash Volume 21, Issue 1, ISBN – 978-1-63102-445-0 | March 2014.

  6. QI CAO, ZHI-BO WEI and WEN-MAO GONG An Optimized Algorithm for Task Scheduling Based On Activity Based Costing in Cloud Computing 978-1-4244-2902-8/09/$25.00 ©2009 IEEE.

  7. Mrs.S.Selvarani, and Dr.G.Sudha Sadhasivam IMPROVED COST- BASED ALGORITHM FOR TASK SCHEDULING IN CLOUD COMPUTING 978-1-4244-5967-4/10/$26.00 ©2010 IEEE

  8. Dr. S Qamar, Niranjan Lal, Mrityunjay Singh Internet Ware Cloud Computing: Challenges (IJCSIS) International Journal of Computer Science and Information Security, Vol. 7, No. 3, March 2010.

  9. Nallakumar. R , Dr. N. Sengottaiyan, Sruthi Priya K.S A Survey on Scheduling and the Attributes of Task Scheduling in the Cloud International Journal of Advanced Research in Computer and Communication Engineering Vol. 3, Issue 10, October 2014

  10. Yogita Chawla and Mansi Bhonsle A Study on Scheduling Methods in Cloud Computing International Journal of Emerging Trends & Technology in Computer Science (IJETTCS) Volume 1,

    Issue 3, September October 2012 ISSN 2278-6856

  11. Rodrigo N. Calheiros1, Rajiv Ranjan2, Anton Beloglazov1, C´esar

    1. F. De Rose3 and Rajkumar Buyya1 CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms Published online 24 August 2010 in Wiley Online Library (wileyonlinelibrary.com). DOI: 10.1002/spe.995

Leave a Reply