Resource Sharing Models and Heuristic Load Balancing Methods for
Grid Scheduling Problems
Wanneng Shu
1,2, Lixin Ding
2,3,*, Shenwen Wang
2,3 1College of Computer Science, South-Central University for Nationalities, Wuhan 430074,
China
[email protected]
2State Key Lab of Software Engineering, Wuhan University, Wuhan 430072, China
[email protected]
3
Computer School, Wuhan University, Wuhan 430072, China
[email protected]
Abstract
Grid computing utilizes distributed heterogeneous resources to support large-scale or complicated computing tasks, and an appropriate resource scheduling algorithm is fundamentally important for the success of grid applications. Due to the complex and dynamic properties of grid environments, traditional model-based methods may result in poor scheduling performance in practice. In this paper, we propose a heuristic genetic load balancing algorithm. The implementation and simulation results indicate that our approaches can allocate jobs efficiently and effectively.
Keywords
: Load Balancing, Resource Sharing, Grid Environments, Job Scheduling, Heuristic Genetic Load Balancing Algorithm1. Introduction
Grid computing has emerged as a potential next generation platform for solving large-scale problems in science, engineering, and commerce. It is expected to involve millions of resources scattering across multiple organizations, administrative domains, and policies. Grid computing provides a distributed computing infrastructure for solving large-scale advanced scientific and engineering problems through sharing of resources, usually over high-speed communication networks [1]. It can be said that the Internet was born in the 1980s, the World Wide Web technology in the early 1990s, the emergence and rapid spread of the early 21st century, the grid computing technology, the formation of the three major milestone in the history of the development of the Internet. An important purpose in grid computing is the implement of unified description method for the geographically distributed, heterogeneous resource, so that the grid system can give users the virtual unified resource interface and execute the task scheduling by the users on the fittest computational resource node dynamically. Grid computing enables the sharing, selection, and aggregation of geographically distributed heterogeneous resources and becomes an important solution paradigm for supporting complicated computing problems. Grids of computational resources usually include heterogeneous processors [2], and heterogeneous network links that are orders of magnitude slower than in a parallel computer. Therefore, the execution on grids of applications designed for parallel computers usually leads to poor performance as the distribution of workload does not take the heterogeneity into account [3].
An important issue of such grid computing systems is the efficient assignment of jobs and utilization of resources of unused devices, commonly referred to as the load balancing or job scheduling problem. Due to the randomness of task arrival and each node on the ability difference in grid environment will cause some of the nodes assigned task is too heavy, and some nodes are idle, that is load imbalances. Therefore, load balancing is also an important issue in grid environment, which the scheduling algorithm should consider the load balancing problem. Load balancing has two meanings: First, a large number of concurrent access to data traffic share to be treated separately in the multiple node devices, reduce the time users wait for a response; Secondly, computing a single heavy load sharing to multiple nodes on the device to do parallel processing, after the end of each node device processing, summary of the results returned to the user, the system processing capacity has been greatly improved. The main purpose of load balancing is to balance the load of each resource in order
to enhance the resource utilization and increase the system throughput [4]. The assessment methods is load balancing is the ratio of the maximum execution time of each scheduling program host with the shortest execution time, the smaller the value, the host load balancing, the better the scheduling scheme.
Our problem is thus to load balancing the execution by computing a data distribution depending on the processors speeds and network links bandwidths. In grid computing, an effective and efficient scheduling algorithm is a critical problem for efficient job execution [5, 6]. The availability of the selected resources for job execution is a primary factor to determine computing performance. Therefore, it is necessary to develop more robust and adaptive scheduling algorithms, which is one of the main motivations of this paper. An important issue here is how to formally define the grid scheduling problem. Grid users submit computing tasks to share grid resources, and grid scheduler according to some strategies assigns these tasks to the appropriate resources. Efficient scheduling policy or algorithm can take advantage of the processing capacity of the grid system so as to improve application performance. The goal of grid scheduling algorithm is mainly to increase the throughput and utilization of the system, to grid task completion time is shortest in the whole system. In the following, the job scheduling problem, which is the key issue for balancing the entire system load while completing all the jobs at hand as soon as possible, is studied. Then, we focus on the design of efficient grid schedulers using heuristic load balancing methods.
The rest of the paper is organized as follows. Sections 2 describe the related works. Resource sharing models for grid computing are given in section 3.In section 4, we show the implementation and simulation results. Finally, we conclude the paper in Section 5.
2. Related works
A grid system is formed using many heterogeneous or homogeneous resources to deal with large-scale scientific problems. How to appropriately and efficiently assign resources to tasks, generally called job scheduling, is one of the important issues. The main purpose of job scheduling is to shorten the job completion time and enhance the system throughput. In this section, we give lots of algorithms have been studied for job scheduling problems in grid computing.
D. Paranhos et al. [7] developed a dynamic FPLTF (Fastest Processor to Largest Task First) algorithm that schedules tasks to resources according to the workload of tasks in the grid system. Casanova et al. [8] developed a general adaptive job scheduling algorithm for a class of grid applications with large numbers of independent tasks in grid. Kwang Mong Sim et al [9] use multiple kinds of ant to find multiple available resources to balance resources utilization in job scheduling. In [10], the authors presented an approach for grid system adaptation, in which grid jobs are maintained, using an adaptable resource broker. Huedo et al. [11] reported a job scheduling algorithm based on top of the grid framework, which uses internally adaptive job scheduling. T. Phan et al. [12] proposed a proxy-based clustered architecture for mobile grids, which the job scheduling policies in mobile grids need to manage resources and application execution depending on the requirements of resource consumers. K.S. Chatrapati et al. [13] proposed a FCFS algorithm (First come first served scheduling algorithm) that jobs are executed according to the order of job arriving time and the next job will be executed in turn. Pilar Herrero et al. [14] proposed a RR algorithm (Round robin scheduling algorithm) mainly focuses on the fairness problem, which defines a ring as its queue and also defines a fixed time quantum. Each job in queue has the same execution time and it will be executed in turn. The major advantage of RR algorithm is that jobs are executed in turn and do not need to wait for the previous job completion.
Thomas Rings et al. [15] proposed a Min-min scheduling algorithm. It set the jobs that can be completed earliest with the highest priority, and each job will always be assigned to the resource that can complete it earliest. The main idea of Min-min is that it assigns tasks to resources which can execute tasks the fastest. Max-min algorithm sets the highest priority to the job with the maximum earliest completion time. In [16], the authors proposed a MFTF algorithm (Most fit task scheduling algorithm), which mainly attempts to discover the fitness between tasks and resources for user. It assigns resources to tasks according to a fitness value.P.K. Suri et al. [17] proposed a dynamic load balancing algorithm (DLBA) which performs an intra-cluster and inter-cluster load balancing. It considers load index and other conventional influential parameters at each node in dynamically scheduling the tasks. Ruay-Shiung et al. [18] proposed a balanced ant colony optimization (BACO)
algorithm for job scheduling in the grid environment; the main purposes of the proposed algorithm are to balance the entire system load while trying to minimize the makespan of a given set of jobs. Jun Wu et al. [19] proposed an ordinal sharing learning (OSL) method for job scheduling problems. The algorithm circumvents the scalability problem by using an ordinal distributed learning strategy, and realizes multi-agent coordination based on an information sharing mechanism with limited communication. Preetam Ghosh et al. [20] proposed a pricing strategy for job allocation in mobile grids using a non-cooperative bargaining theory framework.
3. Resource sharing models
It is well known that the problem of finding optimum scheduling in heterogeneous systems is in general NP-hard. Due to the NP-Complete nature and the difficulty to prove the optimality of scheduling algorithms in grid scenarios, current research always tries to find suboptimal solutions. Traditional scheduling algorithm doesn’t well adapt to the characteristics of grid resources in resource heterogeneity, and the resource allocation decisions, parallelism and distribution, etc. of efficient scheduling algorithm. Therefore, how rational allocation and management of grid resources to meet the service needs of a wide range of applications to achieve optimal use of resources, has become the areas of grid research focus and hotspots. A typical grid scenario is as follows: an application can generate several jobs, which in turn can be composed of subtasks; the grid system is responsible for sending each subtask to a resource to be solved. Each of the schedulers can submit jobs to any of the computing resources, and finally generate job-to-resource mappings. Our resource manager automatically selects the set of optimal resources among the set of candidate resources using a heuristic algorithm and requests resource allocation, so it provides convenience for a user to execute a job. It also guarantees efficient and reliable job execution through a fault tolerance service.
In general, the decentralized job scheduling problem in Grids can be denoted as a 3-tuple
{ , , }
R J F
, the set of available resources is denoted byR
{ , ,..., }
r r
1 2r
m , the computing powerof resource
r
i are denoted byT i k
e( , )
andT i k
r( , )
,T i k
e( , )
is the expected time to compute jobj
kin resource
r
i,is assumed to be known in this model,T i k
r( , )
is the received time to jobj
k from theroot resource.
J
{ , ,..., }
j j
1 2j
n denote a set of jobsF J R
:
[0,1]
is a job submission function. Thus,we look for a distribution
n
of these jobs over them
resources that minimizes the overall computation time. Therefore, resourcer
i ends its processing at time:1
( , )
( , )
i i e r kT
T i k
T i k
(1) Several performance requirements and optimization criteria can be considered for grid job scheduling problem, which is multi-objective in its general formulation. Job scheduling optimization criteria include makespan, resource utilization, load balancing, matching proximity, turnaround time, total weighted completion time, weighted response time, etc. One of the most popular and extensively studied optimization criteria is the minimization of the makespan. Makespan is an indicator of the general productivity of the grid system: small values of makespan mean that the scheduler is providing good and efficient planning of tasks to resources.The time,
Makespan
,taken by grid system to compute the set ofn
jobs is therefore:1 1 1
max
max(
( , )
( , ))
i m e r i m i m kMakespan
T
T i k
T i k
(2) Eq.(2) can be written as follows:2 2
(1,1) max{ (1,1), max[
( , )
( , )]}
i r e e r i m kMakespan T
T
T i k
T i k
(3) The job scheduling problem is formulated as follow:Minimize
Makespan
(4) Numbers of GA (Genetic Algorithms) [21] methods have been presented for minimizing the total job completion time in grid environments. By making use of stochastic or autocorrelation models of grid workloads, it is possible to study job scheduling algorithms for dealing with the dynamicity, randomness, heterogeneity of grid job scheduling problems. GA is probabilistic meta-heuristic methods inspired by the ‘survival of the fittest’ principle. GA is a popular evolutionary optimization approach that can find the global optimal solution in complex multidimensional search spaces. R.Subra et al. [22] proposed a GA based scheduling algorithm for grid computing environments. Ye et al. [23] discussed the use of a GA for allocating network resources to find the best possible solution without any constrains, such as cost or time. Selects the set of optimal resources using a GA, it provides a user with the convenience of job execution and ensures that the job is executed efficiently. GA has the advantage of simple, versatile, and robustness in solving optimization problems, premature convergence but later in the search because of the blindness and randomness of the algorithm.The main research of task scheduling is how to shield the underlying computing resources in homogeneous or heterogeneous grid computing system, to provide users with a uniform grid system within the resource view, to find the best match strategy between tasks and resources, management and scheduling tasks executed in parallel implementation, so that system resources to rational use of the final system of computing resources utilization. In the following section, aiming at the conditions and characteristic of application of task scheduling a heuristic genetic load balancing algorithm (HGLBA) is proposed to solve the problem of selecting optimal resources that minimize the total execution time of a task. Application of the HGLBA dramatically reduces the computing complexity in resource allocating meeting the requests of real time schedule. Here, optimal resources are those that minimize the longest execution time of jobs that are running in grids. The HGLBA uses the following components:
(ⅰ) Representation of a gene
In the HGLBA, each chromosome represents a schedule of independent jobs.
a
i
{
0,...,
n1}
.|
a
i|
n
.(ⅱ) Population:
Generate an initial population
A t
( )
,| ( ) |
A t
PopSize
. (ⅲ) Fitness function:( )
i
a
A t
,
Fit a
( )
i
exp(
Makespan
)
(ⅳ)
Selection A t
( ( ))
P
1 1
{ ,
i i,...,
i j|
nP
b b
b
g
p
,
Fitness b
( )
i
Fit b
(
i1)
...
Fit b
(
i j 1)}
(ⅴ) Crossover:
,
( )
i ja a
A t
,k
:
crossover point ' '( ,
i j)
i ja
Crossover a a
a
, ' 0 1 1{ ,...,
,
,...,
}
i k i k n ja
a r
r
a
, ' 0 1 1{ ,...,
,
,...,
}
j k j k n ia
a
a
, 0 1{
,...,
}
i na
,a
j
{ ,...,
r
0r
n1}
(ⅵ) Mutation:( )
ia
A t
,k
:
mutation point ''( )
i iMutation a
a
, '' ' 0 1 1{ ,...,
,
,...,
}
i k k na
, ' 11
k k
,a
i
{
0,...,
n1}
4. Simulation results
In this section, the goals of this evaluation are to measure the performance of our proposed algorithm. We use the simulation tool which is called GridSim [24]. The GridSim toolkit allows modeling and simulation of entities in parallel and distributed computing systems-users, applications, resources, and resource brokers (schedulers) for design and evaluation of scheduling algorithms. It provides a comprehensive facility for creating different classes of heterogeneous resources that can be aggregated using resource brokers. GridSim provides some applications for the grid environment, such as VM (visual modeler), job scheduling.
Fig.1. shows the declination of the execution time as the number of generations.Fig.2 is the ascending response time as the number of jobs, and Fig. 10 shows the comparison of the average completion time for four different approaches to select resources: i.e. GA, DLBA, HGLBA, and FPLTF.
By the experimental results, we can easily find out the HGLBA can achieve grid system load balance in any situation and take less time to execute jobs. It means that HGLBA can handle different size jobs and also keeps the grid system load more balanced and have better performances. In FPLTF algorithm, a job is always assigned to the resource with highest fitness value. It means that the resource with higher fitness value is the resource with higher computing power. However, FPLTF algorithm always assigns job to the fastest resource, it does not consider the load of the resource. Therefore, the load of the resource become heavy and many assigned jobs will wait in the queue. Therefore, the makespan is larger than HGLBA. GA and DLBA algorithm do not consider any status of resource. Therefore, those performance are poor than HGLBA algorithm.
50 100 150 200 250 300 350 400 450 150 200 250 300 350 400 450 500 550 600 Number of Generations(g) Ti m e (s ) GA DLBA HGLBA FPLTF
0 0.5 1 1.5 2 2.5 3 3.5 x 104 3 4 5 6 7 8 9 Number of jobs Res pons e t im e (s ) GA DLBA HGLBA FPLTF
Figure.2 The ascending response time as the number of jobs
0 0.5 1 1.5 2 2.5 x 104 0 200 400 600 800 1000 1200 1400 Number of jobs ti m e (s ) GA DLBA HGLBA FPLTF
Figure 3.The average completion time in different number of jobs
5. Conclusions
Grid computing and grid technologies primarily emerged for satisfying the increasing demand of the scientific computing community for more computing power. In grid computing, the key technology is efficient allocation and use of grid resources. A good scheduling algorithm can assign jobs to resources efficiently and can balance the system load. In this paper, we propose a HGLBA algorithm to choose suitable resources to execute jobs according to resources status and the size of given job in the Grid environment.
6. Acknowledgments
The Project was supported by the Special Fund for Basic Scientific Research of Central Colleges, South-Central University for Nationalities (Grant No. CZY11005), Natural Science Foundation of South-Central University for Nationalities (Grant No. YZY10004), National Natural Science Foundation of China (Grant No. 60975050 and 60902053), the Research Fund for the Doctoral Program of Higher Education (Grant No.20070486081), and the Fundamental Research Funds for the
Central Universities (Grant No.6081014).The authors gratefully acknowledge the helpful comments and suggestions of the reviewers, which have improved the presentation.
7. References
[1] Nicola Tonellotto, Ramin Yahyapour, Philipp Wieder, “A Proposal for a Generic Grid Scheduling Architecture”, Integrated Research in GRID Computing, vol. 2, no. 6, pp.227-239, 2007.
[2] Liu Xiaoxia, "A Grid Scheduling Model with Competitive Negotiation", IJACT: International Journal of Advancements in Computing Technology, vol. 3, no. 9, pp.173-180, 2011.
[3] Amid Khatibi Bardsiri, Marjan Kuchaki Rafsanjani, "A New Heuristic Approach Based on Load Balancing for Grid Scheduling Problem", JCIT: Journal of Convergence Information Technology, vol. 7, no. 1, pp. 329-336,2012.
[4] Preetam Ghosh, Nirmalya Roy, Sajal K. Das, Kalyan Basu, "A pricing strategy for job allocation in mobile grids using a non-cooperative bargaining theory framework",Journal of Parallel and Distributed Computing, vol. 65, no. 4, pp.1366–1383,2005.
[5] Zhun Cai, Mengfei Liu, Xiangguo Guo,Qingsheng Zhang,Fang Geng, "An Improved IBE Authorization Protocol on Grid Computing System", IJACT: International Journal of Advancements in Computing Technology, vol. 3, no. 1, pp. 53-57,2011.
[6] F. Xhafa, A. Abraham, "Computational models and heuristic methods for grid scheduling problems", Future Generation Computer Systems, vol. 26, no. 3, pp.608-621, 2010.
[7] D. Paranhos, W. Cirne, F. Brasileiro, "Trading cycles for information: Using replication to schedule bag-of-tasks applications on computational grids", In Proceeding of International Conference on Parallel and Distributed Computing (Euro-Par), in: Lecture Notes in Computer Science, vol. 2790, pp.169-180, 2003.
[8] H. Casanova, M. Kim, J.S. Plank, J.J. Dongarra, "Adaptive scheduling for task farming with grid middleware", Int. J. High Perform. Comput. Appl., vol. 13, no. 3, pp.231-240, 1999.
[9] Kwang Mong Sim, Weng Hong, Sun, "Multiple ant-colony optimizations for network routing ", In Proceeding of the First International Symposium on Cyber Worlds, pp. 277-281,2002.
[10]A. Othman, P. Dew, K. Djemame, K. Gourlay, "Adaptive grid resource brokering", IEEE International Conference on Cluster Computing ,pp.172-178,2003.
[11]E. Huedo, R.S. Montero, I.M. Llorente, "Experiences on adaptive Grid scheduling of parameter sweep applications", In Proceeding of the 12th Euro micro Conference on Parallel, Distributed and Network-based Processing, pp.28-35,2004.
[12]T. Phan, L. Huang, Chris Dulan, "Challenge: Integrating mobile wireless devices into the computational grid", ACM MOBICOM’02, pp.321-328, 2002.
[13]K.S. Chatrapati, J.U. Rekha, A.V. Babu, "Competitive equilibrium approach for load balancing a computational grid with communication delays", Journal of Theoretical and Applied Information Technology , vol.19, no. 2,pp.126-133,2010.
[14]Pilar Herrero, José Luis Bosque, María S. Pérez, "An agents-based cooperative awareness model to cover load balancing delivery in grid environments", Lecture Notes in Computer Science 4805, pp. 64-74,2007.
[15]Thomas Rings, Geoff Caryer, Julian Gallop, Jens Grabowski, Tatiana Kovacikova, Stephan Schulz, Ian Stokes-Rees, "Grid and cloud computing: opportunities for integration with the next generation network", Journal of Grid Computing vol.7, no. 2,pp.375-393,2009.
[16]Kunfang Song, Shufen Ruan, Minghua Jiang, "A Flexible Grid Task Scheduling Algorithm Based on QoS Similarity", JCIT: Journal of Convergence Information Technology, vol.5,no.7, pp.161- 166,2010.
[17]P.K. Suri, Singh Manpreet, "An efficient decentralized load balancing algorithm for grid", In Proceeding of the 2nd International Advance Computing Conference, pp.10-13,2010.
[18]Ruay-Shiung Chang,Jih-Sheng Chang,Po-Sheng Lin, "An ant algorithm for balanced job scheduling in grids", Future Generation Computer Systems, vol.25,no.6,pp. 20-27,2009.
[19]Jun Wu,Xin Xu,Pengcheng Zhang , " A novel multi-agent reinforcement learning approach for job scheduling in grid computing", Future Generation Computer Systems, vol.27,no.5, pp.430-439,2011.
[20]Preetam Ghosh,Nirmalya Roy,Sajal K, "pricing strategy for job allocation in mobile grids using a non-cooperative bargaining theory framework", Journal Parallel Distributed Computing, vol.65,no.1,pp.1366-1383,2005.
[21]D.P.Spooner and S.A.Jarvis, "local grid scheduling techniques using performance prediction", IEEE procedure computers and digital techniques, vol.150, no.2, pp.87-96, 2003.
[22]R.Subra, A.Y.Zomaya and B.Landfeldt, "Artificial life techniques for load balancing in computational grids”, Journal of Computer and System Sciences, vol.73, no.8, pp.76-110, 2007. [23]Ye J,Papavassiliou, "Dynamic market driven allocation of network resources using genetic
algorithm in a competitive electronic commerce", International Journal Network Management, vol.11, no.3,pp.375-385,2001.
[24]Anthony Sulistio, Chee Shin Yeo, Rajkumar Buyya, "Visual modeler for grid modeling and simulation (GridSim) Toolkit", International Conference on Computational Science ,pp.1123–