Professional Documents
Culture Documents
Prioritized Job Scheduling Algorithm Using Parallelization Technique in Cloud Computing
Prioritized Job Scheduling Algorithm Using Parallelization Technique in Cloud Computing
Abstract— Cloud computing is a distributed and parallel 3. Software as a service (SAAS): In this model the
computing model in which cloud service providers guarantees to service provider stores the software on its own end and from
provide services to client by pay-per-use model. Now-a-days, it is there it gives users the facility to use that software as service
possible to share pool of virtualized computer resources, without installing the software to the user’s system. Example:
computational equipments, servers and storages in cloud
Email services.
computing environment. Allocating resources to highly
prioritized job within estimated time is one of the biggest issues Increasing growth of cloud computing and virtualization
in job scheduling. Job should be scheduled properly in order to technologies reflects increasing numbers of jobs that require
provide higher throughput of the system and to maintain Quality the services of the virtual machines, hence arises the problem
of Service & Economic Principles of Management policies. To of scheduling, as cloud service providers have to serve many
solve such scheduling problem, we have proposed prioritized job user requested jobs in cloud computing environment.
scheduling algorithm with parallelization technique. This Scheduling is the task allocation process to available resources
algorithm mainly focuses on equally prioritized job problem and that aims to maximize resources utilization and to save energy
uses master-slave concept for job scheduling. We had compared consumption of resources without affecting quality of service.
and analyzed our algorithm with other priority based algorithm.
In this paper, we have proposed job scheduling algorithm for
Results shows that proposed algorithm improves performance
and resource utilization of cloud and it reduces execution time prioritized job scheduling problem.
period by balancing load across cloud.
II. LITERATURE REVIEW
Keywords—cloud computing; job scheduling; priority; In [1], authors have discussed different job scheduling
parallelization. algorithm in cloud computing environment and summarizes
some methods to improve the performance. They said that as
I. INTRODUCTION
cloud computing is in the infancy state, a scheduling
Cloud computing is widely accepted for their high framework should be implemented for fulfilling user demands
performance computing that aims to power the next and requirements as well as service providers. The different
generation data centers as the platform for dynamic and scheduling metrics are coupled to prepare a framework for
flexible application provisioning. With recent advancement in resource allocation and also for scheduling in cloud
cloud computing, applications and IT infrastructure are computing. The input limitations for scheduling framework
provided as services to clients by pay-per-use model. It is the suggested by authors are: deadline, performance issue,
combination of distributed and parallel computing that focuses execution cost, energy efficiency, makespan, transmission
to provide high quality and low-cost information services cost and load balancing as well. In [2], different scheduling
where cloud service providers offers guarantee to provide algorithms are discussed and compared using scheduling
services using large scale cloud environment. Cloud parameters like response time, complexity, etc. and by all
computing provides various service models: these comparison authors had reached into this conclusion that
1. Infrastructure as a service (IAAS): This model is there is no method to handle an urgent request any faster than
supposed to provide user the services like hardware other requests in queue. So author says that there is a need to
component and storage by using virtualization techniques. propose a new scheme which achieves all the objectives and
Example: Google drive. as well as provide better performance and can handle urgent
2. Platform as a service (PAAS): This model is request as priority. Authors had suggested that in future work
supposed to provide user the services like automatic scaling, by exploring existing algorithms and merge them with Genetic
load balancing and integration with other services and also Algorithm which is a bio inspired artificial intelligence
provide the platform to develop, run and compile codes of the scheme and may achieve the best performance.
developer of the cloud application. So for this model the cloud Authors have proposed algorithm based on priority and
application developers are one of the major users. Example: round robin [3] such that, tasks are grouped into two groups
Cloud 9. Deadline based and cost based, in second step deadline based
577
virtual machines on each slave processors. This queue will 1) First come first serve algorithm: In this algorithm, Task
maintain a BQFlag. If buffer queue is full then BQFlag is set. is processed according to their arrival timing on the queue.
2) Priority queue (PQ[i]): Task manager will take jobs 2) Round-Robin Algorithm: In this algorithm, the job from
from buffer queue to fill continuously mk size queue and will priority queue is divided evenly to all slave processors.
perform first cost-based and then deadline-based priority in Quantum size for round-robin i.e., number of jobs taken for
case of jobs paying same cost. Obtained priority jobs will get distribution at a time will be equal to slave processors. Order
stored in Priority queue PQ[i]. Task manager uses Flag to fill of job allocation is locally dependent. While distributing jobs,
the queue. If PQFlag is 0 means queue is not filled SFlag of server status is considered.
completely, if it is 1 means queue is full and will not take jobs
from buffer queue. Prioritized Job Scheduling Algorithm
3) Response queue (RQ[i]): This queue size will be equal to
m. Queue will maintain the status of the slave node and // BQ[2mk]: Buffer Queue; PQ[mk]: Priority Queue;
response table in every slot with respect to jobs assigns to RQ[m]: Response Queue;
them. The table stores the information like, slave id, slave // m = number of slave nodes, k= number of virtual
status, job id, processing time and job status. machines;
1. Task manager checks buffer flag to know whether
TABLE II. RESPONSE TABLE
BQ[i] is empty or not.
Slave_ Slave- Job_ Processing 2. if BQFlag = 0 then
VM-ID Job Status
Id Status ID Time
VMS101 J008 15 Completed
task manager will insert new jobs into BQ[i]
VMS102 J003 .. Running else
S01 Alive
VMS103 J001 .. Waiting task manager will wait for some time
3. if PQFlag = 1 then
B. Slave Nodes
jobs will not be copied to PQ[i]
Here we considered the slave nodes with homogenous
else
processors, the processors have same architecture and
computation power, each slave node is at same distance from copy jobs from BQ[i] to PQ[i] according to
master node, due to this the transmission time will be same. arrival time of job
4. Arrange jobs according to cost payment by
1) Job queue (JQ[i]): Each slave processor maintain a jobs
queue, that will assign jobs to the virtual machines and rest of customers.
the jobs will wait for execution in a queue. Its size will equal if cost.PQ[i] ≤ cost.PQ[i+1] then
to 2k, where k is number of virtual machine. When job queue PQ[i] = PQ[i+1]
is full SFlag will set to 1 and will not accept jobs from master 5. Rearrange jobs according to deadline of jobs
node. whose cost is same.
if cost.PQ[i] == cost.PQ[i+1] then
if deadline.PQ[i] > deadline.PQ[i+1] then
PQ[i] = PQ[i+1]
else
Continue
6. use quantum size = mk for distributing prioritized
jobs in round robin manner to m slave processor
if SFlag = 1 then
do not assign job
else
assign job to slave processor
7. maintain RQ[i] for each job assigned to slave
processors.
8. slave processor calculates processing time,
Processing time = Response time + Execution
time.
Fig. 1. Prioritized Job Scheduling with parallelization Technique
578
Priority Queue will be full when tasks are fetched from BQ to
where I = instructions in program PQ then PQFlag =1.
CPI = Average cycle per instruction a) Base on Cost ( C )
(decides cost)
T T T T T T T T T T T T T T T
T = Clock cycle time T
12 13 9 6 14 15 7 2 4 5 3 11 1 10 8
9. Total time required to execute job = transmission
C 9 8 7 6 6 6 5 4 4 4 3 3 2 2 1
time + processing time + waiting time in buffer
queue. b) Base on Deadline ( D )
T T T T T T T T T T T T T T T
V. ANALYSIS OF THE SYSTEM T
12 13 9 6 15 14 7 5 4 2 3 11 1 10 8
Let's take one numerical example to analyze the system.
D 4 8 4 6 7 9 6 4 5 6 5 8 5 6 6
TABLE III. NUMERICAL EXAMPLE
T T T T T T T T T T T T T T T
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 8) Prioritized jobs are distributed to slave processors
using round robin distribution with Quantum size= mk=15.
3) Priority queue on basis of cost and deadline
579
SLAVE 1 SLAVE 2 SLAVE 3 same, let's consider it to be, response time = 20 + 0.0001 =
T T T T T T T T T 20.0001 Sec., where 20 Sec. is execution time of jobs assigned
18 25 28 20 21 22 26 16 23
JQ[10] to virtual machine and 0.0001 sec is the time required to
T T T T T T
.... 29 19
...
30 27
... allocate jobs to VMs. Job allocation time to VMs is negligible,
24 17
so let's consider response time to be 20 sec.
VM1 T12 T13 T9
VM2 T6 T15 T14 Now, Processing time for next five jobs that are waiting in the
VM3 T7 T5 T4 job queue will be calculated as, Processing time of next five
VM4 T2 T3 T11 jobs = response time + execution time = 20 + 20 = 40 Sec., for
VM5 T1 T10 T8 all slave nodes.
g) Therefore total time required to execute next 15
9) Status of assigned jobs to each slave node is jobs= transmission time + processing time + waiting time in
maintained by Response Queue in master node. buffer queue = 0.5 + 40 + 0.05= 40. 55sec.
Response table generated for slave node 1 at master node will Thus, total time required to execute 30 jobs will be max {20.5,
40.55} = 40.55sec.
look like,
Processing time of jobs at each slave node is given as,
TABLE IV. RESPONSE TABLE FOR SLAVE NODE 1
580
f) Assignment of 26 to 30 jobs to 5 VM, Processing [5] O. M. Elzeki, M. Z. Reshad, M. A. Elsoud, "Improved Max-Min
time= 100 +20 = 120 sec Algorithm in Cloud Computing", International Journal of Computer
So total execution time required by master node will be Applications, vol. 50, July 2012.
[6] Upendra Bhoi, Purvi N. Ramanuj, "Enhanced Max-min Task Sceduling
max{20, 40, 60, 80, 100, 120}= 120 sec.
Algorithm in Cloud Computing", International Journal of Application or
Processing of jobs on single node is given by,
Innovation in Engineering & Management, vol. 2, April 2013.
[7] Shamsollah Ghanbari, Mohamed Othman, "A Priority based Job
Scheduling Algorithm in Cloud Computing", International Conference
on Advances Science and Contemporary Engineering, pp. 778-785,
2012.
[8] S.Rekha and R.Santhosh Kumar, "Priority Based Job Scheduling For
Heterogeneous Cloud Environment", International Journal of Computer
Science Issues, vol. 11, May 2014.
[9] Chandrashekhar S. Pawar, Rajnikant B. Wagh, "Priority Based Dynamic
resource allocation in Cloud Computing" International Conference on
Intelligent Systems and Signal Processing, 2013.
[10] Swachil Patel, Upendra Bhoi, "Priority Based Job Scheduling
Techniques In Cloud Computing: A Systematic Review", International
Journal Of Scientific & Technology Research, vol. 2, November 2013.
[11] Shachee Parikh, Richa Sinha, "Double Level Priority Based
Fig. 4. Processing time of jobs at single node Optimization Algorithm for Task Scheduling in Cloud Computing",
International Journal of Computer Applications, vol. 62, January 2013.
By comparing graphs for considered example, we can say [12] A.Kousalya, R.Radhakrishnan, "A Comparative Study of Parallel Job
that total time required to execute jobs with parallel Scheduling Algorithms in Cloud Computing", International Journal of
distribution is 40.55 sec whereas total time required to execute Computer Science and Information Technologies, vol. 6, 2015.
job on single node is 120 sec. Thus by executing jobs using [13] C.S.Banupriya, "Improved Priority Based Parallel Workloads using
master slave system we execute jobs 120-40.55= 79.45 sec Multi Attribute Scheduling Algorithm in Cloud", International Journal
early by saving more than 60% time of master node. of Scientific & Engineering Research, vol. 5, May 2014.
VI. REFERENCES
[1] Fazel Mohammadi, Dr. Shahram Jamali, Masoud Bekravi, "Survey on
Job Scheduling algorithms in Cloud Computing", International Journal
of Emerging Trends of Technology in Computer Science, vol. 3, March-
April 2014.
[2] Rajveer Kaur, Supriya Kinger, "Analysis of Job Scheduling Algorithms
in Cloud Computing", International Journal of Computer Trends and
Technology, vol. 9, Mar 2014.
[3] Eakta Kumari and Monika, "A review on Task Scheduling Algorithms
in Cloud Computing", International Journal of Science, Environment
and Technology, vol. 4, 2015.
[4] Aditya Marphatia, Aditi Muhnot, Tanveer Sachdeva, Esha Shukla, Prof.
Lakshmi Kurup, "Optimization of FCFS Based Resource Provisioning
Algorithm for Cloud Computing", IOSP Journal of Computer
Engineering, vol. 10, Mar-Apr-2013.
581