A Priority Based Job Scheduling Algorithm in Cloud Computing
A Priority Based Job Scheduling Algorithm in Cloud Computing
net/publication/257726215
CITATIONS READS
215 13,995
2 authors:
All content following this page was uploaded by Shamsollah Ghanbari on 17 January 2018.
www.elsevier.com/locate/procedia
b
Dept of Communication Tech and Network Faculty of Computer Science and Information Technology
Abstract
Nowadays cloud computing has become a popular platform for scientific applications. Cloud computing intends to share a
large scale resources and equipments of computation, storage, information and knowledge for scientific researches. Job
scheduling algorithms is one of the most challenging theoretical issues in the cloud computing area. Some intensive
researches have been done in the area of job scheduling of cloud computing. In this paper we have proposed a new priority
based job scheduling algorithm (PJSC) in cloud computing. The proposed algorithm is based on multiple criteria decision
making model.
© 2011 Published by Elsevier Ltd. Selection and/or peer-review under responsibility of Bina Nusantara
University.
1. Introduction
Several job scheduling algorithms have been proposed in distributed computing area [7-16, 22, 23]. Most of
them can be applied in the cloud environment with suitable verifications [7, 8, 10-13, 22, 23]. The main goal of
job scheduling is to achieve a high performance computing and the best system throughput. Traditional job
scheduling algorithms are not able to provide scheduling in the cloud environments. According to a simple
classification [8], job scheduling algorithms in cloud computing can be categorized into two main groups;
Batch mode heuristic scheduling algorithms(BMHA) and online mode heuristic algorithms. In BMHA, Jobs are
queued and collected into a set when they arrive in the system. The scheduling algorithm will start after a fixed
period of time. The main examples of BMHA based algorithms are; First Come First Served scheduling
algorithm (FCFS), Round Robin scheduling algorithm (RR), Min–Min algorithm and Max–Min algorithm. By
On-line mode heuristic scheduling algorithm, Jobs are scheduled when they arrive in the system. Since the cloud
environment is a heterogeneous system and the speed of each processor varies quickly, the on-line mode
heuristic scheduling algorithms are more appropriate for a cloud environment. Most fit task scheduling
algorithm (MFTF) is suitable example of On-line mode heuristic scheduling algorithm [8].
Priority of jobs is an important issue in scheduling because some jobs should be serviced earlier than other
those jobs can’t stay for a long time in a system. A suitable job scheduling algorithm must consider priority of
jobs. To address this problem some researchers have considered priority of jobs scheduling algorithm [12, 14,
16]. Those researches have focused on a few criteria of jobs in scheduling. In cloud environments we always
face a wide variety of attributes that should be considered. It means a particular job scheduling algorithm in
cloud environments should pay attention to multi-attribute and multi-criteria properties of jobs. There are
several multi-criteria decision-making (MCDM) and multi-attribute decision-making (MCDM) which are based
on mathematical modelling. A pair-wise comparison based MADM/MCDM method was developed by T.Saaty
[1-4] in 1980, the model was named Analytical Hierarchy Process (AHP). During these three past decades AHP
have found a number of applications in various fields. AHP also is a suitable method for priority based problems
such as scheduling with various attributes and alternatives [5, 21].
The main objective of this paper is to propose a new priority based job scheduling algorithm called PJSC. The
proposed algorithm is based on the theory of AHP. We also discuss about some important aspects of PJSC such
as complexity and finish time. The rest of this paper is organized as following sections: section 2 explains the
AHP, section 3 proposes a new priority based algorithm for job scheduling of in cloud computing based on
AHP, in section 4 we analyze the proposed model and discusses about some issues related to proposed
algorithm such as complexity, consistency and makespan, finally in section 5 provides some numerical
examples of proposed model.
In this section we explain the Analytical Hierarchy Process briefly. It is a multi-criteria decision-making
(MCDM) and multi-attribute decision-making (MCDM) model. Basically architecture of AHP is consisted of
three levels which are objective level, attributes level and alternatives level respectively. The foundation of AHP
is comparison matrix which can be shown as Eq. (1).
(1)
Each entry in the matrix A is positive ( ). Also A is a square matrix ( ). For any arbitrary comparison
matrix such as A we can compute a vector of weights such as associated with A.
Relationship between A and can be shown as Eq.(2).
(2)
An essential step in AHP is to calculate vector of weights . Vector of weights can be computed through the
Eq. (3) [1-4, 17, 9, 20, 21].
(3)
Actually Eq. (3) is denoted the principal eigenvalue of A and is denoted the corresponding eigenvector.
If A is absolutely consistent then . In this case A will be consistent. Saaty has defined consistency
ratio (CR) as Eq. (4).
(4)
In Eq. (4), RI is denoted the random index(RI), RI can be calculated randomly based on rank of comparison
matrix. Table 1 indicates some values for RI which were calculated by Saaty[1-4]. Also CI in Eq. (4) can be
calculated by Eq. (5).
(5)
Saaty also indicated that if CR<0.1 then comparison matrix will be consistent.
3. Proposed Algorithm
Our Scheduling algorithm is consisted of three levels of priorities including: scheduling level (objective level),
resources level (attribute level) and job level (alternative level), see fig 1.
Suppose that ψ={J1,J2,..,Jm} is a set of jobs that request resources in a cloud environment. Also we assume that
φ={C1,C2,…,Cd} is a set of resources available in cloud environment( ). Each job requests a resource
with a determined priority. The priority of each job is compared with other jobs separately ,for example ,we
assume that the ratio of priority of Ji to Jj for gaining a particular resource such as Cg is 7, in this case we
write . It is clear that . In general it can be shown as Eq. (6).
(6)
In Eq. (6) Pg denotes a matrix with m rows and m columns. This matrix is also comparison matrix. Assume that
are d comparison matrixes of jobs which are created according to priority of resource
accessibilities. For each of comparison matrixes we should compute a priority vector (vector of weights). The
priority vector can be obtained by solving Eq. (3). There are several methods for calculating priority vector [1-
5]. An iterative method for solving Eq. (3) can be found in [6].That method solves the Eq. (3) by using
numerical methods. Using iterative methods can calculate priority vector (vector of weights) without concerning
about consistency problems. Assume that are corresponding priority vectors of
respectively. In this case we can define a normal matrix of jobs level as Eq. (7).
(7)
It is clear that is a matrix with m (the number of jobs) rows and d (the number of resources) columns. The next
step of the proposed algorithm is to make a comparison matrix for resources according to priorities. This matrix
determines that which resource has higher priority than others based on decision maker(s). In this case, we will
have a matrix with d rows and d columns. Assume that S is comparison matrix for resources level, thus will
be defined as priority vector of S. The next step of the algorithm is to calculate PVS which is denoted as priority
vector of scheduling jobs. PVS can be calculated by Eq. (8). Finally, we choose the maximum element of PVS,
then select corresponding element of ψ in order to allocate a suitable resource. A general algorithm for PJSC can
be sketch as table 2.
(8)
Shamsollah Ghanbari, Mohamed Othman/ Procedia Engineering 50 (2012) 778–785
This section mainly discusses about three important issues that the proposed algorithm may face with them, the
three above mentioned issues are complexity, consistency and finish time (makespan).
Complexity
The complexity of proposed algorithm is mainly due to computing the priority vectors of comparison matrixes.
And it depends on the number of jobs and resources. In the worst case complexity of proposed algorithm can be
calculated by Eq. (9).
(9)
Where, m and d are the number of jobs and resources respectively. In this case according to [18] we assume
that a matrix multiplication takes approximately m2.81 arithmetic operations (additions and multiplications).
Consistency
Consistency indicates that each of comparison matrixes has a logically reasonable value. Consistency of
proposed algorithm mainly depends on the decision makers, in other word if the decision makers can adjust
elements of comparison matrix based on real priority of scheduling they can make a number of consistent
comparison matrixes. Consistency can be investigated by Eq. (5) of comparison matrixes. Also for investigating
the consistency of comparison matrix we should solve Eq. (3). For this purposes we can use some iterative
methods. An iterative method also have complexity which denoted by Eq. (9). If each of the comparison
matrixes is not consistent we should make a new comparison matrix again. It increases the complexity of
algorithm which was mentioned in Eq. (9). So, total complexity of proposed algorithm can be calculated by Eq.
(10).
(10)
Where is the complexity of computing, it can be calculated by Eq. (10). In Eq. (10), k denotes the
number of comparison matrixes that rejected (recomputed) because of inconsistency (Step 3 and 6 of algorithm
of PJSC).
(10)
The proposed algorithm mainly focuses on priority of jobs. However we do not expect this algorithm has
optimal finish time (makespan). It means that the algorithm must consider the priority of jobs instead of
considering the finish time (makespan). For more explaining we assume that A={c2},B={c3,c4}and C={c2,c5,c6}
be three jobs. We also assume that c1 and c2 are located on server 1 and c3 is located on server 2, and two
processors p1 and p2 are available.
.
The Fig 2 indicates that how can be scheduled these three jobs. Fig 2 also shows the finish time (makespan) of
scheduling of these three jobs in different possible states. According to Fig 2, depending on which job can be
scheduled firstly finish time (makespan) can be changed from 7 to 11.
MAKESPAN
15
10
5 finish time
0
ABC ACB BAC BCA CAB CBA
Another question will be arise here is that, how can be calculated finish time (makespan) of PJSC. This question
cannot be answered easily because we cannot calculate a deterministic value for finish time (makespan) of
PJSC. It depends on the priory of jobs and may change from the worst value to the best value (see Fig 3). A
possible way of calculating finish time (makespan) of PJSC is to obtain the average value of finish time
(makespan). In this case it can be calculated as following:
Shamsollah Ghanbari, Mohamed Othman/ Procedia Engineering 50 (2012) 778–785
Makespan=(1/6)(7+9+7+9+11+7)=8.34.
Although this problem is the main limitation of proposed algorithm. We are improving our algorithm in order to
gain a reasonable finish time.
In this section we have provided an example of the proposed job scheduling algorithm. In this case, we define
three resources and four jobs. Comparison matrixes and priority vectors are calculated in a cloud environment
for all resources and jobs according to allocation of resource. (See table 3-6).
The next step is to investigate the consistency of comparison matrixes. According to table 3 comparison matrix
of resource can be shown as following:
Thus:
6. Conclusion
Priority is an important issue of job scheduling in cloud environments. In this paper we have proposed a priority
based job scheduling algorithm which can be applied in cloud environments. We have named it “PJSC”. Also
we have provided a discussion about some issues related to the proposed algorithm such as complexity,
consistency and finish time. Result of this paper indicates that the proposed algorithm has reasonable
complexity. In addition, improving the proposed algorithm in order to gain less finish time (makespan) is
considered as future work.
References
[1]. T L Saaty, How To Handle Dependence With The Analytic Hierarchy Process , Math Modelling, 9(3-5) (1987) 369-376.
[2]. T.L. Saaty, The Analytic Hierarchy Process,( New York 1980).
[3]. T.L. Saaty, Fundamentals of Decision Making and Priority Theory with the Analytic Hierarchy Process. RWS Publications
Pittsburgh 1994).
[4]. T.L.Saaty, Decision Making for Leaders; The Analytical Hierarchy Process for Decisions in a Complex World, Pittsburgh: RWS
Publications, (1982,2000).
[5]. Shamsollah Ghanbari, A New Model in Priority of Project Using AHP, Master Thesis, Mazandaran University, Iran, 2001.
[6]. Maysum Panju, Iterative Methods for Computing Eigenvalues and Eigenvectors, The Waterloo Mathematics Review ,1 (2011) 9-
18.
[7]. Tai-Lung Chen et al, Scheduling of Job Combination and Dispatching Strategy for Grid and Cloud System, GPC,(2010) 612–621.
[8]. Yun-Han Lee et al, Improving Job Scheduling Algorithms in a Grid Environment, Future Generation Computer Systems, 27
(2011) 991–998.
[9]. WeiWang et al, Bayesian Cognitive Model in Scheduling Algorithm for Data Intensive Computing, Journal Grid Computing 10
(2012) 173–184
[10]. Navendu Jain et al, A Truthful Mechanism for Value-Based Scheduling in Cloud Computing, SAGT 2011, LNCS 6982,(2011)
178–189.
[11]. Wei Wang, Cloud-DLS: Dynamic Trusted Scheduling for Cloud Computing, Expert Systems with Applications 39 (2012) 2321–
2329.
[12]. Sunita Bansal et al, Dynamic Task-Scheduling in Grid Computing Using Prioritized Round Robin Algorithm, IJCSI International
Journal of Computer Science Issues, 8(2)( 2011) 472-477.
[13]. Mousumi Paul et al, Dynamic job Scheduling in Cloud Computing Based on Horizontal Load Balancing, Int. J. Comp. Tech.
Appl., 2 (5)( 2011) 1552-1556.
[14]. Li Yang et al, A new Class of Priority-based Weighted Fair Scheduling Algorithm, Physics Procedia ,33 ( 2012 ) 942 – 948.
[15]. Domagoj Jakobovi´c et al, Evolving priority scheduling heuristics with genetic programming, Applied Soft Computing 12 (2012)
2781–2789.
[16]. Kyriaki Z, Multi-Criteria Job Scheduling in Grid Using an Accelerated Genetic Algorithm, J Grid Computing ,10 (2012) 311–323.
[17]. Patrick S. Chen, On Vargas's Proof of Consistency test for 3 x 3 Comparison Matrices in AHP, Journal of the Operations
Research Society of Japan, 45(3) (2002) 233-241.
[18]. Strassen, Gaussian Elimination is not Optimal, Numerical Math., 13(1969) 354-356.
[19]. Perron, O., Zur Theorie der Matrizen, Math. Ann., 64 (1907) 248-263.
[20]. Jose Antonio Alonso, Consistency in the Analytic Hierarchy Process: A New Approach, International Journal of Uncertainty,
Fuzziness and Knowledge-Based Systems 14(4) (2006) 445-459.
[21]. Madhooshi, Mehrdad, Developing an integrated model for calculating the customer lifetime value, The 4th International
Management conference, 2007, Iran.
[22]. Monir Abdullah, Mohamed Othman et al, Optimal Workload Allocation Model for Scheduling Divisible Data Grid Applications,
Future Generation Computer Systems 26 (2010) 971-978.
[23]. Amin Shokripour , Mohamed Othman et al, New Method for Scheduling Heterogeneous Multi-Installment Systems, Future
Generation Computer Systems 28 (2012) 1205–1216.