Performance Evaluation of Deadline Aware Multi-stage ... - IEEE Xplore

1 downloads 0 Views 547KB Size Report
Performance Evaluation of Deadline Aware Multi Stage Scheduling in Cloud Computing. R Krishnam Raju Indukuri. Research Scholar, Dept. of CSE.
20162016 IEEE6th 6thInternational InternationalAdvanced Conference Computing on Advanced Conference Computing

Performance Evaluation of Deadline Aware Multi Stage Scheduling in Cloud Computing R Krishnam Raju Indukuri

Dr. Suresh Varma Penmasta

Research Scholar, Dept. of CSE Adikavi Nannaya University Rajahmundry, A.P, India [email protected]

Professor, Dept. of CSE Adikavi Nannaya University Rajahmundry, A.P, India [email protected]

Dr. M V Rama Sundari

Dr. G. Jose Moses

Professor, Dept. of CSE ISTS College of Engineering, Rajahmundry, A.P, India, [email protected]

Professor, Dept. of CSE Rahgu Engineering College, Visakhapatnam, A.P, India, [email protected]

Abstract— Cloud Computing provides the computing environment where different resources, infrastructures, development platforms and software are delivered as a service to customers virtually on pay-as-use basis. In cloud computing a job request may requires m number of resources types to complete its tasks. Scheduling of cloud resources for end users is an important task in cloud computing. In this paper we have proposed Multi Stage scheduling in cloud computing to schedule Virtual Machines (VM) for the requested jobs received from customers. We considered the model that a job requires ‘m’ different types of VM’s in a sequence to complete its task. This model also extended for deadline aware Multi Stage scheduling with respect to response time and waiting time. We developed and analyzed a model for evaluation of average turnaround time, average waiting time and violation in deadlines when compared with First Come First Serve (FCFS), Shortest Job First (SJF) and Multi Stage Scheduling strategies.

Infrastructure as a service (IaaS), which includes raw infrastructure and associated middleware; Platform as a service (PaaS), which includes APIs for developing applications on an abstract platform and Software as a service (SaaS) that provides support for remote software services. Scheduling is the process of allocating tasks to available resources. The resource can be a machine instance, data storage device, an application or an environment. In cloud computing scheduling is an important activity for effective resource utilization. S M Johnson [1] proposed optimal 2 and 3 stage production schedules with set up time included. Richard. J [2] discussed a classic three machine scheduling model with optimal permutation of n items by considering total elapsed time as objective function. Samuel Gorenstein [3] presented an algorithm for job sequencing with resource constraints to achieve minimum total elapsed time. V.Vaithiyanathan [4] discussed an efficient scheduling algorithm for cloud environment. This scheduling algorithm considered task selection is based on priority and deadline of the task and these algorithms produces the scheduling order in which minimizes the task execution time. Himani [5] discussed various scheduling algorithms in cloud computing with eadline. Omer Khalid [6] discussed deadline aware virtual machine scheduler for grid and cloud computing with minimum overhead. Yue Gao [7] explained global operation optimization in cloud computing from the perspective of the cloud service provider (CSP) and to provide the CSP with a versatile scheduling and optimization framework that aims to simultaneously maximize energy efficiency and meet all user deadlines, which is also powerful enough to handle multi-user large scale workloads in large scale cloud platforms. Weizhe Zhang [8] developed Multiple Virtual Machines Resource Scheduling for Cloud Computing. increase the Quality of Service of web service by properly scheduling the CPU resource across the virtual machines and formulated the CPU scheduling of multiple virtual machines into an integer programming problem. A global regulation algorithm based on utility optimization theory also proposed. Experimental result s

Index Terms—Cloud Computing, Scheduling, Two-Phase Scheduling.

I. INTRODUCTION Cloud computing is the model which provides on demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction. The necessary software and hardware resources are obtained from servers through networks in cloud computing. Cloud computing is a product of mixing of grid computing, distributed computing, parallel computing, utility computing, network storage, virtualization and load balancing. Cloud Computing has many benefits. Cloud Computing results in cost savings because there is no need of initial installation of much resource. Also provides scalability and flexibility, the users can increase or decrease the number of services as per requirement; maintenance cost is very less because all the resources are managed by the Cloud providers. Services of the Cloud are provided through the Internet. The devices that want to access the services of the Cloud should have the Internet accessibility. Cloud services are majorly categorized as: 978-1-4673-8286-1/16 $31.00 © 2016 IEEE DOI 10.1109/IACC.2016.51

224 229

evaluation metrics of the proposed model. We have considered average waiting time, average turnaround time and violation in deadlines with respect to waiting time and response time are as evaluation metrics The proposed algorithm works as follows: If the number of VM types ‘m’ is even then s is m/2 + 1 otherwise s is round(m/2).

show that the regulation system of CPUs can significantly improve the performance of Web applications. Maria Alejandra Rodriguez and Rajkumar Buyya [9] discussed Deadline Based Resource Provisioning and Scheduling Algorithm for Scientific Workflows on Clouds by proposing a resource provisioning and scheduling strategy for scientific workflows on infrastructure as a Service (IaaS) clouds. This algorithm improves the percentage of jobs that meets the deadline by reducing the processing cost. Very little work is reported regarding multi stage scheduling with deadline in cloud computing and so we have considered a Deadline Aware Multi Stage Scheduling in cloud computing to reduce the average waiting time and average turnaround times and minimizing the deadline violation with respect to waiting time and response time. II. DEADLINE AWARE MULTI STAGE SCHEDULING ALGORITHM IN CLOUD COMPUTING In cloud computing a job requires cloud resources to complete the user’s task. The resources in cloud are in the form of Virtual Machines. The scheduler schedules the given n number of job requests and assigns the required cloud resources (VM’s) for each job request. In Deadline Aware Multi Stage scheduling the scheduler receives n jobs from various users and assigns the Virtual Machines as resources by scheduling the job requests. In this model a job requires a series of Virtual Machines of m different types in sequence to complete its task.

Figure 2. Computation of TSi1 and TSi2

This algorithm selects shortest time from TSi1 and TSi2. TSi1 can be calculated as ti1 + ti2 + .. + tik and TSi2 can be calculated as ti(m-k) + ti(m-k+1) + .. + tim where s  k  m-1 as shown in Fig. 2. In the case of m is odd summation values of TSi1 and TSi2 will have one common value where k=s, three common values where k=s+1, (m-2) common values where k= (m-1). For example if m=7 then s=4 and k is in between 4 and 6, hence there are three possible ways to sum TSi1 and TSi2 as shown in Fig. 3. Similarly if m=8 then s=5 and k is in between 5 and 7, hence there are three possible ways to sum TSi1 and TSi2 as shown in Fig. 4.

Figure 1. Model of Resource Allocation

Virtual Machine(VM) allocation for each job request in the proposed model has been described in Fig. 1. Let r1,r2, …., rn be the set of job requests in the cloud computing, where n is number of job requests and ri denotes ith job request. In cloud computing the resources required for a job are considered as VM’s. Each Job request ri requires ti1 units of time to process on VM of type-1 (VM1) and ti2 units of time to process on VM of type-2 (VM2) and so on such that tim units of time to process on VM of type-M (VMm) to complete its task. Let dwi be the deadline of ri with respect to total waiting time and dri be the deadline of ri with respect to the response time. si is starting time of ri on VM of type-1 and ci is completion time of ri request on VM of type-M. We consider average waiting time, average turnaround time and violation in deadlines with respect to waiting time and response time are

Figure 3. Three possible ways to Compute Computation of TSi1 and TSi2 for m=7(odd)

Figure 4. Three possible values for k to Compute of TSi1 and TSi2 for m=8(even)

230 225

Algorithm Input Output 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44.

: Pseudo-code for Deadline Aware Multi Stage Scheduling : n job requests with processing times ti1, ti2 … tim and the deadlines are dwi and dri p number of instances for VM of type-1 and VM of type-2, … VM of type M : Optimal Scheduling sequences Seq1, Seq2, Seq3, ….Seqp

begin solution_vector = empty; if ( m is even ) s = m/2 + 1; else s = round(m/2); end if; for k= s to m-1 do for each job request ri do for p= 0 to k do TSi1 = TSi1 + rip end for; for p= m-k to m do TSi2 = TSi2 + rip end for; i=0, j=n-1; for each job request ri with shortest time period among all unprocessed job requests do if TSi1 < TSi2 then add the job request ri to the solution_vector[k][i] i = i + 1; else add the job request ri to the solution_vector [k][j] j = j - 1; end if; end for; end for; // each job ri for i=1 to n do j = i % p; Seqj = Seqi + solution_vector [k][i] end for; for i=1 to p do for each job request rk in Seqi with k > sizeof(Seqi)/2 do for i=1 to m do if ( sum (tk1, tkm) < sum (t(k+1)1, t(k+1)m) ) then ck = completion time of job k in sequence Si if ck + sum (t(k+1)1, t(k+1)m) < dwi and sk + t(k+1)1 < dri then swap(rk , rk+1) end if; end if; end for; end for; end for; calculate evaluation metrics for sub sequence Si end for; return optimal schedule; end

Deadline Aware Multi Stage Scheduling algorithm finds (m-1-s) number of feasible scheduling sequences in solution array Solution[s][0..n-1], Solution[s-1][0..n-1],..,Solution[m-

1][0..n-1]. Optimal scheduling sequence can be obtained among (m-1-s) feasible solutions by applying performance evaluation measures as objective functions like average

231 226

(ADVW) and Average Deadline Violation with respect to Response time (ADVR) can be calculated using (2.6) and (2.7) respectively.. Let vw denotes no of jobs violating deadline with respect to waiting time and vr denotes no of jobs violating deadline with respect to response time.

waiting time & average turnaround time. The solution_vector is an array to store (m-1-s) number of possible scheduling sequence of the given n job requests. Deadline Aware Multi Stage Scheduling algorithm recursively identifies a job request ri with shortest time among TSi1 or TSi2 of all unprocessed jobs. If the shortest time is TSi1 then the job ri is added to the solution_vector at front, otherwise (shortest time is TSi2) ri is added to the solution_vector from the end. The job request ri with smallest ti1 will be added at front of the solution_vector since it will be processed initially in the schedule to minimize waiting time of all jobs in the schedule. Waiting time wi of a ri is the time taken to start its work on VM of type-1, plus the time elapsed between completion of work on VM of type-1 and start of its work on VM of type-2, plus time elapsed between completion of work on VM type-2 and start of its work on VM of type -3, and so on, plus time elapsed between completion of work on VM of type-(M-1) and start of its work on VM of type-M. We denote si is the starting time of ri on VM of type-1 and ci is completion time of ri on VM of type-M. This Scheduling sequence can be divided in to two or more sub scheduling sequences. Each sub scheduling sequence can be processed with one instance of each VM type. The scheduling sequence solution_vecto={r1,r2,r3,….rn} can be divided into p sub sequences as Seq1={ri , for all i where (i mod p) = 1 }, Seq2={ri , for all i where (i mod p) = 2 }, …, Seqp={ri , for all i where (i mod p) = 0 } Each sub sequence Seqi will be processed on an instance of VM of type1 and later on an instance of VM of type-2, and so on and at the end an instance of VM of type-M. For example the scheduling sequence which consists of 12 job request {r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12 } can be divided into 4 sub sequences where p=3 as follows. Seq1= {r1,r4,r7,r10}, Seq2= {r2,r5,r8,r11}, Seq3= {r3,r6,r9,r12}. After generating p number of Sub Scheduling Sequences Seqi (1