Resource Utilization & Execution Time Enhancement by Priority Based Preemptable Shortest Job Next Scheduling in Private Cloud Computing

DOI : 10.17577/IJERTV2IS90623

Download Full-Text PDF Cite this Publication

Text Only Version

Resource Utilization & Execution Time Enhancement by Priority Based Preemptable Shortest Job Next Scheduling in Private Cloud Computing

MS. Pooja P. Vasani Mr. Nishant S. Sanghani

M.Tech. [Software Systems] Student, Patel College of Science and Technology,

Rajiv Gandhi Proudyogiki Vishwavidyalaya, Bhopal, M.P., India

M.E. [Computer Engineering] Student, Computer Engineering Department, V.V.P. Engineering College, Rajkot, Gujarat, India

Abstract

Cloud computing is a latest new computing paradigm where applications, data and IT services are provided over the Internet. Cloud computing serves different types of the resources in virtualized form which can be utilised dynamically. There are different number of issues which can be researched out for the proper allocation and better resource utilization of the virtualized resources using scheduling. In the process of scheduling some intensive data or computing an intensive application, it is acknowledged that optimizing the transferring and processing time is crucial to an application program. The Task management is the key role in cloud computing systems. Job scheduling problems are premier which relate to the efficiency of the whole cloud computing facilities. The main aim of this work is to enhance the resource utilization and execution time of different in form of a cloudlets using pre-emptable shortest job next scheduling.

1. INTRODUCTION

The cloud computing is a large group of interconnected computers and cloud symbol represents a group of systems or complicated networks. Cloud computing is one way of communication among the various system in the network with the help of internet. [9]

Cloud computing is a computing paradigm, where a large pool of systems are connected in private or public networks, to provide dynamically scalable infrastructure for application, data and file storage. With the advent of this technology, the cost of

computation, application hosting, content storage and delivery is reduced significantly. [8]

Cloud computing is a marketing term for technologies that provide computation, software, data access, and storage services that do not require end-user knowledge of the physical location and configuration of the system that delivers the services. [1]

Cloud computing is on demand resources provisioning which means to provide the available resources based on the requirement of the resources. Cloud computing is a subscription based. Cloud computing is a pay as per usage and reliable leads to an efficient network. Cloud Computing is an emerging technique and its very successful because of the following features like reliable, secure, fast, fault tolerance and efficient communication etc., among different network.[9]

Scheduling is used to allocate particular resources for a certain tasks in particular time. Task scheduling problem is a core and challenging issue in cloud computing. The Task execution time cannot be predicted in cloud computing. Hence the scheduler must be dynamic. The purpose of scheduling is to increase the utilization of resources. [9]

Scheduling process in cloud can be generalized into three stages namely

Resource discovering and filtering- Datacenter broker discovers the resources present in the network system and collects status information related to them.

Resource selection- Target resource is selected based on certain parameters of task and resource. This is a deciding stage.

Task submission- Task is submitted to resource selected. [10]

    1. Cloud Services

      Cloud computing can be thought as different layers or models which provide different services. Cloud contains three types of services as follows.

      1. Infrastructure-as-a-Service(IaaS)- This type of cloud computing distributes a full computer infrastructure via the Internet. Most popular IaaS provider like Amazon Web Services offers virtual server instances with unique IP addresses and block of storage on demand. Here customers usually use the service providers application program interface to start, stop, access, modify and configure their virtual servers and storage as is needed. In the enterprise, cloud computing allocates services to a company to pay for only as much facility as is required, and bring more flexible tools online as soon as required. [11]

      2. Platform-as-a-Service(PaaS)- This type of cloud computing offers a product development tool or environment that users can access and utilize online, even in collaboration with others and hosted on the provider's infrastructure. In PaaS, developers create applications on the service provider's platform over the Internet. PaaS service providers may use Application Program Interfaces (APIs), gateway software or website portals installed on the customer's premises. [11]

        Fig1. Cloud Services [11]

      3. Software-as-a-Service (SaaS) – This type of cloud computing model offers users the hardware infrastructure, the software product and interrelates with the users through a front-end gateway or portal. Here a provider authorizes an application to clients either as a service on demand in a "pay-as-you-go" model or at no charge by a subscription.. [11]

    2. Cloud Deployment Models

Cloud Computing technology and services can be implemented in different ways according to their purpose and characteristics. These different types of deployment of Cloud are categorized in four ways as follows. [1-7]

  1. Public Cloud: A public cloud is one based on the standard cloud computing model, in which a service provider makes resources, such as applications and storage, available to the general public over the Internet. Public cloud services may be free or offered on a pay-per-usage model.

  2. Community cloud: Community cloud shares infrastructure between several organizations from a specific community with common concerns (security, compliance, jurisdiction, etc.), whether managed internally or by a third-party and hosted internally or externally. The costs are spread over fewer users than a public cloud (but more than a private cloud), so only some of the benefits of cloud computing are realized.

  3. Hybrid cloud: Hybrid cloud is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together, offering the benefits of multiple deployment models. It can also be defined as multiple cloud systems that are connected in a way that allows programs and data to be moved easily from one deployment system to another.

  4. Private cloud: Private cloud is infrastructure operated solely for a single organization, whether managed internally or by a third-party and hosted internally or externally.

    Fig2. Cloud deployment models [1-7]

    1. CURRENT SYSTEM

      In Current Scenario, with a prior disquisition of the subject, the task is divided and disseminated into same size cloudlets. These Cloudlets as well as Virtual Machines are scheduled according to the Round Robin Scheduling [12].

      In general Cloud Computing scenario user submits the task to be performed / executed. Cloud Coordinator (CC) divides the task into equal sized cloudlets and passes it to DataCenter (DC).Due to default policy, it takes a lot of time because the cloudlets are processed and emanates one at a time in FCFS manner as and when they reach to VM. In addition to the time consuming factor, the cost factor also acts negatively for this scheduling policy. VM executes the cloudlets present in the queue as they rach the VMs. In a gist, this default policy is extremely Time-Consuming, Cost insensitive and inefficient [12].

        1. Round Robin (RR) Algorithm

          The RR algorithm is designed especially for time-sharing systems and is similar to the FCFS algorithm. Here, a small unit of time (called time quantum or time slice) is defined. A time quantum is generally from 10-100 milliseconds. So, the RR algorithm will allow the first process in the queue to run until it expires its quantum then run the next process in the queue for the duration of the same time quantum. The RR keeps the ready processes as a FIFO queue. So, new processes are added to the tail of the queue. Depending on the time quantum and the CPU burst requirement of each process, a process may need less than or more than a time quantum to execute on the CPU. In a situation where the process need more than a time quantum, the process runs for the full length of the time quantum and then it is pre-empted. The pre- empted process is then added to the tail of the queue again but with its CPU burst now a time quantum less than its previous CPU burst. This continues until the execution of the process is completed. The RR algorithm is naturally pre-emptive. RR algorithm is one of the best scheduling algorithms that developed by many researchers [12].

        2. Cloudlet Scheduling Algorithm

      Step-1: Execute Round Robin Scheduling

      Step-2: Executed cloudlets are returned to Cloud Coordinator.

      CC [cloudlet_list] VMM [executed_cloudlet_list]

      Step-3: Cloud Coordinator combines all the cloudlets to form task.

      Combine [cloudlets]

      Step-4: Executed Task returned back to User by Cloud Coordinator.

      User [executed task] combine [cloudlets]

    2. PROPOSED SYSTEM

      The proposed work is to schedule the jobs according to execution priorities defined with pre- emption combining Round Robin Scheduling with Shortest Job Next.The SJF algorithm associates the lengths of the next CPU burst with each process such that that the process that have the smallest next CPU burst is allocated to the CPU. The SJF uses the FCFS to break tie (a situation where two processes have the same length next CPU burst). When the execution of a process that is currently running is interrupted in order to give the CPU to a new process with a shorter next CPU burst, it is called a pre-emptive SJF. On the other hand, the non-pre-emptive SJF will allow the currently running process to finish its CPU burst before a new process is allocated to the CPU [12].Combine pre- emption of round robin (RR) with shortest process next (SPN). PSPN pre-empts the current process when another process is available with a total service requirement less than the remaining service time required by the current process.

      3.1 Pseudo Code of Proposed System

      Step-1: Execute PSJN

      [Initialize] time quantum as tq = 10

      Execute [actual_cloudlet] with assigned tq Executed_list[cloudlets]Execution[Actual_cloudlet] actual_cloudlet cloudlet_list [next_cloudlet]

      Now define the priority to each remaining Execute [actual_cloudlet]

      Repeat Steps till(actual_cloudlet_list).Length== NULL{Execute [actual_cloudlet] till tq Executed_list[cloudlets]Execution[Actual_cloudlet] actual_cloudlet cloudlet_list [next_cloudlet] }

      VMM[executed_cloudlet_list]Executed_list [cloudlets]

      Step-2: Executed cloudlets are returned to Cloud Coordinator.

      CC[cloudlet_list]VMM[executed_cloudlet_list]

      Step-3: Cloud Coordinator combines all the cloudlets to form task. Combine [cloudlets]

      Step-4: Executed Task returned back to User by Cloud Coordinator.

      User [executed task] combine [cloudlets]

    3. RESULTS

      Following table show the performance analysis of Datacenter Resource utilization by Round Robin and Pre-emptable Shortest Job Next.

      Table1. Resource Utilization for Datacenter

      Fig3. Resource utilization for datacenter

      The above graph shows the time taken by the Datacenter to execute n million instructions within the shown range of time in seconds for both the algorithms.

      Following table show the performance analysis of Customer Resource utilization by Round Robin and Pre-emptable Shortest Job Next.

      Resource Utilization for Customer

      Resource

      Round Robin

      Pre-emptable Shortest Job Next

      10

      0.77

      0.65

      20

      1.8

      1.68

      30

      2.87

      2.22

      40

      3.5

      3.25

      50

      4.5

      4.28

      Resource Utilization for Customer

      Resource

      Round Robin

      Pre-emptable Shortest Job Next

      10

      0.77

      0.65

      20

      1.8

      1.68

      30

      2.87

      2.22

      40

      3.5

      3.25

      50

      4.5

      4.28

      Table2. Resource Utilization for Customer

      Resource Utilization for Datacenter

      MIPS

      Round Robin

      Pre-emptable

      Shortest Job Next

      10

      31.5

      31.25

      20

      20.85

      20.83

      30

      20.85

      20.83

      40

      20.85

      20.84

      50

      31.5

      31.25

      Fig4. Resource utilization for customer

      The above graph shows the time taken by the parallel execution of resources assigned to the Customer within the shown range of time in minutes for both the algorithms.

      Following table show the performance analysis of Execution Time by Round Robin and Pre-emptable Shortest Job Next.

      Table3. Execution Time

      Execution Time

      Cloudlets

      Round Robin

      Pre-emptable Shortest Job Next

      50

      60

      32

      60

      62

      62

      70

      62

      60

      80

      64

      62

      90

      64

      60

      Fig5. Execution time

      The above graph shows the execution time taken by series of Cloudlets for its execution within the shown range of time in seconds for both the algorithms.

    4. CONCLUSION

      Cloud task scheduling algorithms are designed to support large scale applications and to support cloud infrastructure. Here, the proposed algorithm shows the enhancement in execution time and resource utilization for various cloudlets. The simulation tool used is CloudReports.

      In this paper, the pre-emption of round robin algorithm is combined with priority of shortest job next scheduling algorithm to achieve the better performance and efficiency in the form of execution time and resource utilization.

    5. REFERENCES

  1. Cloud computing resources. http://www.cloud9s.net/cloudcomputingresources.html

  2. http://www.thecloudcomputing.org/2011 http://salsahpc.indiana.edu/CloudCom2010/papers.html

  3. http://www.itworld.com/internet/69141/5-cool-cloud- computing-research-projects

  4. http://en.wikipedia.org/wiki/Cloud_computing

  5. http://www.thecloudcomputing.org/2012/history.html

  6. http://www.whereisdoc.co

  7. Torry haris CLOUD COMPUTING An Overview

  8. V. Venkatesa Kumar and K. Dinesh Job Scheduling Using Fuzzy Neural Network Algorithm in Cloud Environment Bonfring International Journal of Man Machine Interface, Vol. 2, No. 1, March 2012

  9. Monika Choudhary and Sateesh Kumar Peddoju A Dynamic Optimization Algorithm for Task Scheduling in Cloud Environment International Journal of Engineering Research and Applications (IJERA), Vol. 2, Issue 3, May-Jun 2012, pp.2564-2568

  10. Sudhir Singh Performance Optimization in Gang Scheduling In Cloud Computing IOSR Journal of Computer Engineering (IOSRJCE), ISSN: 2278-0661 Vol. 2, Issue 4,

    July-Aug. 2012, pp. 49-52

  11. Sandeep Tayal Tasks Scheduling optimization for the Cloud Computing Systems International Journal Of Advanced Engineering Sciences And Technologies, Vol No. 5, Issue No. 2, pp. 111 115

  12. GauravRaj and Sonika Setia, Effective Cost Mechanism for Cloudlet Retransmission and Prioritized VM Scheduling Mechanism over Broker Virtual Machine Communication Framework . International Journal on Cloud Computing: Services and Architecture (IJCCSA), Vol.2, Issue No.3, June 2012.

Leave a Reply