Scheduling Independent Jobs on Computational Grid Using Biogeography Based Optimization Algorithm for Makespan Reduction

Due to the development of information and network technologies, idle computers all over the world can be organized and utilized to enhance the overall computation performance. Grid computing refers to the combination of computer resources from multiple administrative domains used to reach a common goal. Grids offer a way of using the information technology resources optimally inside an organization. As the grid environments facilitate distributed computation, the scheduling of grid jobs has become an important issue. This study introduces a novel approach based on Biogeography Based Optimization algorithm (BBO) for scheduling jobs on computational grid. The proposed approach generates an optimal schedule so as to complete the jobs within a minimum period of time. The performance of the proposed algorithm has been evaluated with Genetic Algorithm (GA), Differential Evolution algorithm (DE), Ant Colony Optimization algorithm (ACO) and Particle Swarm Optimization algorithm (PSO).


INTRODUCTION
Grid computing is a form of distributed computing that involves coordinating and sharing computing, application, data and storage or network resources across dynamic and geographically dispersed organization (Foster and Kesselmann, 2004).Grid technologies promise to change the way organizations tackle complex computational problems.Grid computing is an evolving area of computing where standards and technology are still being developed to enable this new paradigm.
Users can share grid resources by submitting computing tasks to grid system.The resources of computational grid are dynamic and it belongs to different administrative domains.The participation of resources may be active or inactive within the grid.Hence it is impossible for anyone to manually assign jobs to computing resources in grids.Therefore grid job scheduling is one of the challenging issues in grid computing.Grid scheduling system selects the resources and allocates the user submitted jobs to appropriate resources in such a way that the user and application requirements are met.
To achieve the promising potentials of tremendous distributed resources, effective and efficient scheduling algorithms are fundamentally important.In grid computing, as resources are distributed in multiple domains in the Internet, the computational and storage nodes and the underlying networks connecting them are heterogeneous.Thus the heterogeneity results in different capabilities for job processing and data access.In a Grid, resources are usually autonomous and the grid schedulers do not have full control of the resources.The autonomy results in the diversity in local resource management and access control policies and hence grid scheduler is required to be adaptive to different local policies.Grid schedulers work in a dynamic environment where the performance of available resources is constantly changing.A feasible scheduling algorithm should be able to be adaptive to dynamic behaviors.As grid consists of a large number of heterogeneous computing and storage sites connected via wide area networks, grid scheduler has to select the computation sites of an application according to resource status and performance models.Hence the unique characteristics of grid computing such as heterogeneity and autonomy, performance dynamism and resource selection make the design of scheduling algorithms more challenging.
There are many research efforts aiming at job scheduling on the grid.Scheduling m jobs to n resources with an objective to minimize the total execution time had been shown to be NP-complete (Ibarra and Ki, 1977).Therefore the use of heuristics is the defacto approach in order to cope in practice with its difficulty.Krauter et al. (2002) provided a useful survey on grid resource management systems, in which most of the grid schedulers such as AppLes, Condor, Globus, Legion, Netsolve, Ninf and Nimrod use simple batch scheduling heuristics.Jarvis et al. (2003) proposed the scheduling algorithm using metaheuristics and compared First Come First Serve heuristic with genetic algorithm to minimize the makespan and it was found that metaheuristics generate good quality schedules than batch scheduling heuristics.Braun et al. (2001) studied the comparison of the performance of batch queuing heuristics, tabu search, genetic algorithm and simulated annealing to minimize the makespan.The results revealed that genetic algorithm achieved the best results compared with batch queuing heuristics.Liu et al. (2010) proposed a fuzzy Particle Swarm Optimization algorithm for scheduling jobs on computational grid with the minimization of makespan as the main criterion.They empirically showed that their method outperforms the genetic algorithm and simulated annealing approach.The results revealed that the PSO algorithm has an advantage of high speed of convergence and the ability to obtain faster and feasible schedules.In this study we introduce a novel approach based on Biogeography Based optimization for scheduling jobs on computational grid.
Biogeography Based Optimization (Simon, 2008) is a new evolutionary algorithm for global optimization that was introduced in 2008.BBO is an application of biogeography to evolutionary algorithms.Biogeography is the study of the distribution of biodiversity over space and time.It aims to analyze where organisms live and in what abundance.Biogeography not only gives a description of species distributions, but also a geographical explanation.Biogeography is modeled in terms of such factors as habitat area, immigration rate and emigration rate and describes the evolution, extinction and migration of species.BBO has certain features in common with other population-based optimization methods.Like GA and PSO, BBO can share information between solutions.This makes BBO applicable to many of the same types of problems that GA and PSO are used for, including unimodal, multimodal and deceptive functions.One distinctive feature of BBO is that the original population is not discarded after each generation (Simon, 2008).It is rather modified by migration.Another distinctive feature is that, for each generation, BBO uses the fitness of each solution to determine its immigration and emigration rate.BBO has also demonstrated good performance on various unconstrained bench mark functions (Du et al., 2009;Ma et al., 2009;Simon, 2008).It has also been applied to real-world optimization problems, including sensor selection (Simon, 2008), economic load dispatch problem (Bhattacharya and Chattopadhyay, 2010), satellite image classification (Panchal et al., 2009), rectangular micro strip antenna design (Lohokare et al., 2009), design of Yagi-Uda Antenna (Singh et al., 2010), traveling salesman problem (Song et al., 2010) and robot controller tuning (Lozovyy et al., 2011).This is a pioneer effort in the research area of Grid scheduling, which makes use of Biogeography Based optimization technique to dynamically generate an optimum schedule so as to complete the tasks within a minimum period of time as well as utilizing the resources in an efficient way.

METHODOLOGY
The grid job scheduling problem: A computational grid is a hardware and software infrastructure that provides dependable, consistent pervasive and inexpensive access to high end computational capabilities (Foster and Kesselmann, 2004).It is a shared environment implemented via the deployment of a persistent, standards-based service infrastructure that supports the creation of and resource sharing within, distributed communities.Resources can be computers, storage space, instruments, software applications and data, all connected through the Internet and a middleware layer that provides basic services for security, monitoring, resource management and so forth.Resources owned by various administrative organizations are shared under locally defined policies that specify what is shared, who is allowed to access what and under what conditions (Foster and Iamnitchi, 2003).The real and specific problem that underlies the grid concept is coordinated resource sharing and problem solving in dynamic, multi-institutional virtual organizations (Foster et al., 2001).For clarity, some key terminologies (Dong and Akl, 2006) are defined as follows.
Grid node: A grid node is an autonomous entity composed of one or multiple resources.The computational capacity of the node depends on its number of CPUs, amount of memory, basic storage space and other specifications.In other words, each node has its own processing speed, which can be expressed in number of Cycles per Unit Time (CPUT).

Jobs and operations:
A job is considered as a single set of multiple atomic operations/tasks.Each operation is typically allocated to execute on one single node without pre-emption.It has input and output data and processing requirements in order to complete its task.The operation has a processing length expressed in number of cycles.
Task scheduling: A task scheduling is the mapping of tasks to a selected group of resources which may be The grid scheduling process and components: The grid scheduling process can be generalized into three stages: resource discovering and filtering, resource selecting and scheduling according to certain objectives and job submission (Schopf, 2001).Figure 1 depicts a model of grid scheduling system in which functional components are connected by two types of data flow: resource or application information flow and task or task scheduling command flow.
A Grid Scheduler (GS) receives applications from grid users, selects feasible resources for these applications according to acquired information from the Grid Information Service (GIS) module and finally generates application-to-resource mappings, based on certain objective functions and predicted resource performance.Grid schedulers usually cannot control grid resources directly.But they work like brokers or agents (Berman et al., 2003), or even tightly coupled with the applications as the application-level scheduling scheme proposes (Berman et al., 1996;Sun and Ming, 2003).They are not necessarily located in the same domain with the resources which are visible to them.
Figure 1 shows only one grid scheduler, but in reality multiple schedulers might be deployed and organized to form different structures (centralized, hierarchical and decentralized (Hamscher et al., 2000) according to different concern, such as performance or scalability.Grid level scheduler is referred as Meta scheduler in the literature (Mateescu, 2003) and which is not an indispensible component in the Grid infrastructure.
The role of GIS is to provide information about the status of available resources to grid schedulers.GIS is responsible for collecting and predicting the resource state information, such as CPU capacity, memory size, network bandwidth, software availabilities and load of a site in a particular period.Application Profiling (AP) is used to extract properties of applications.Analogical Bench marking (AB) provides a measure of how well a resource can perform a given type of job (Khokhar et al., 1993;Siegel et al., 1996).On the basis of knowledge from AP and AB and following a certain performance model (Berman, 1998), cost estimation computes the cost of candidate schedules, from which the scheduler chooses those that can optimize the objective functions.
The Launching and Monitoring (LM) module is known as the 'binder' which implements a finally determined schedule by submitting applications to selected resources, staging input data and executables and monitoring the execution of the applications.
A Local Resource Manager (LRM) is mainly responsible for local scheduling inside a resource domain and reporting resource information to GIS.

Scheduling problem formulation:
The objective of the proposed job scheduling algorithm is to minimize the completion time and to utilize the nodes effectively.Any job J j has to be processed in one of the Grid nodes R i until completion.Since all nodes at each stage are identical and pre-emption is not allowed, to define a schedule it suffices to specify the completion time for all tasks.
The grid job scheduling problem consists of scheduling m jobs with given processing time on n resources.Let J j be the independent user jobs, j = {1, 2, 3, … m}.Let R i be the heterogeneous grid nodes, i = {1, 2, 3, .., n}.The speed of each resource is expressed in number of Cycles per Unit Time (CPUT).The length of each job is expressed in number of cycles.The information related to job length and speed of the resource is assumed to be known based on user supplied information, experimental data and application profiling or other techniques (Garg et al., 2010).
Let C ij (i є {1, 2, ….n}, j є {1, 2, ….m}) be the completion time that the grid node R i finishes the job J j , ∑ C i represents the time that the resource R i finishes all the jobs scheduled for itself.Makespan is a measure of the throughput of the heterogeneous computing system.Makespan is defined as: For example thirteen jobs with job length 6,12,16,20,24,28,30,36,40,42,48,52 and 60 number of cycles, respectively, which are allocated to three grid nodes with speed 5, 3 and 2 CPUT, respectively.The completion time of a particular job is its job length divided by the speed of the grid node for which it has been allocated.
The schedule solution with the mapping of jobs with grid nodes is as follows.
J 1 , J 2 , J 6 and J 8 , respectively are mapped to grid node 3. The completion time for individual node is given below:

BBO ALGORITHM FOR SCHEDULING JOBS ON COMPUTATIONAL GRID
This section describes the biogeography based optimization technique and the different steps involved therein.Methodology of application of BBO technique to different cases of Grid Job Scheduling problem has also been presented in this section.
BBO algorithm: Biogeography describes how species migrate from one island to another, how new species arise and how species become extinct.An island is any habitat that is geographically isolated from other habitats.Geographical areas that are well suited as residences for biological species are said to have a high Habitat Suitability Index (HSI).The variables that characterize habitability are called Suitability Index Variables (SIVs).Habitats with a high HSI tend to have large number of species, while those with a low HSI have a small number of species.Habitats with a high HSI have many species that migrate to nearby habitats, simply by virtue of the large number of species that they host.Migration of some species from one habitat to other habitat is known as emigration process.When some species enter into one habitat from any other outside habitat, it is known as immigration process.Habitats with a high HSI have a low species immigration rate because they are already nearly saturated with species.By the same token, high HSI habitats have a high emigration rate.Habitats with a low HSI have a high species immigration rate because of their sparse populations.This immigration of new species to low HSI habitats may raise the HSI of that habitat, because the suitability of a habitat is proportional to its biological diversity.In BBO, each individual has its own immigration rate λ and emigration rate µ.A good solution has higher µ and lower λ, vice versa.The immigration rate and the emigration rate are functions of the number of species in the habitat.They can be calculated using ( 2) and (3): where, I is the maximum possible immigration rate, E is the maximum possible emigration rate, k is the number of species of the k th individual and n is the maximum number of species.Equation ( 2) and (3) are just one method for calculating λ and µ.There are other different options to assign them based on different specie models (Simon, 2008).
BBO concept is based on the two major steps, migration and mutation.Mathematically the concept of emigration and immigration can be represented by a probabilistic model.Let us consider the probability P s that the habitat contains exactly S species at time t.P s changes from time t to time t+∆t as follows: where, λ s and µ s are the immigration and emigration rates when there are S species in the habitat.If time ∆t is small enough so that the probability of more than one immigration or emigration can be ignored then taking the limit of (4) as ∆t →0 gives (5).Mutation rate of each set of solution can be calculated in terms of species count probability using the Eq. ( 6): where, m max is the maximum mutation rate and P max is the maximum probability.The pseudo code for BBO algorithm is illustrated in Algorithm 1.

Solution representation:
The solution for the job scheduling problem is used to represent individual habitat.The complete habitat set (population) with size N is represented in (7): where i = 1, 2, ….. N, j = 1, 2, 3, ……n and 1≤SIV≤m (n is the number of jobs, m is the number of Grid nodes and SIV is the Suitability Index Variable).Here H i is the position vector of the habitat i.Each habitat (chromosome) is one of the possible solutions for the job scheduling problem.The element H ij of H i is the j th position component of habitat i or in other words H ij is the j th SIV of the i th habitat.All SIVs in each habitat are represented as integers.
The solution is represented as an array of length equal to the number of jobs.The value corresponding to each position j in the array represents the SIV in a habitat which is actually the resource to which job j was allocated.Table 1 illustrates the representation of the SIV for the job resource pair (13, 3).The first element of the array denotes the first job (J 1 ) which is assigned to the Grid resource 2; the second element denotes the second job (J 2 ) which is assigned to the Grid resource 1 and so on.

Initialization of SIV:
Each element of the habitat matrix, i.e., each SIV of a given habitat set H, is initialized randomly with the value satisfying the resources limit R j , where, j = 1, 2,… m (Table 1

SIMULATION ON BBO BASED GRID JOB SCHEDULING ALGORITHM
Proposed BBO algorithm has been applied to grid job scheduling problem in four different test cases for verifying its feasibility.These are a (3, 13) -resource job pair, a (5, 100) -resource job pair, a (8, 60)resource job pair and a (10, 50) -resource job pair.The numerical simulations are carried out with the dataset used and tested in the study (Liu et al., 2010).The performance of the proposed algorithm is compared with ACO, PSO, DE and GA.Specific parameter settings of all the considered algorithms after performing the extensive experiments are described in Table 2.The adopted procedure for the determination of the parameters of the proposed algorithm is detailed in this study.

Determination of parameters for BBO algorithm:
To get optimal solution using the BBO algorithm, the suitable value of the parameters like mutation probability, step of integration dt and habitat size N have to be determined.As the job scheduling problem (5.100) is a large scale problem, (5.100) has been chosen to determine the various parameters of BBO algorithm.To find optimum values for "step size of integration dt" and "mutation probability", the following procedures have been adopted: • The habitat size is fixed at 50. • Step of integration is increased from 0.1 to 2 in suitable steps as shown in Table 1 and mutation probability is changed to three different values of 0.005, 0.05 and 0.5, respectively.Performance of BBO algorithm in grid job scheduling system for the resource job pair (5, 100) is calculated for all the above mentioned combinations.For each combination, 50 independent trails have been made with 500 iterations per trail.• Step of integration is again increased from 0.1 to 2 in same steps for the same problem as mentioned above and mutation probability is not considered in this case.• In case of BBO algorithm, based on simulation results obtained for different combination of parameters given in Table 3, step size of integration dt 0.2 and mutation probability 0.005 gave better makespan more consistently.The obtained minimum makespan 85.443 is also less when compared to the remaining cases.
Effect of habitat size and maximum number of iteration on BBO algorithm: Change in habitat size affects the performance of BBO algorithm.Large or a small habitat size may not be capable of searching for the minimum, particularly in complex multimodal problems.The optimum habitat size is found to be related to the problem dimension and complexity.Table 4 shows the performance of the BBO algorithm for different habitat size of 20, 50, 75, 100, 125 and 150, respectively for the resource job pair (5, 100) of Grid job scheduling system.A habitat size of 125 resulted in achieving global solutions more consistently for the test system.From Table 4, it is found that the habitat size 125 recorded the best result compared with other habitat sizes.Increasing the habitat size beyond this value did not produce any significant improvement; rather it increases the simulation time which is not desirable in real-time problems.
The nature of convergence of BBO algorithm had been observed for all kind of problems by few tests.After that, the number of iterations had been fixed as 100.In the proposed algorithm, the parameters are set as specified in Table 2.
Comparative study: All the jobs and the nodes were submitted at one time.Each experiment (for each algorithm) was repeated 25 times with different random seeds.Each trail had a fixed number of 100 iterations.The makespan values of the best solutions throughout the optimization run were recorded and the averages and the standard deviations were calculated from the 25 different trails.The grid scheduling algorithm should generate the schedules as fast as possible in a grid environment.So the completion time is used as one of the criteria for improving their performance.

Solution quality:
Table 5 shows the performance comparison of BBO algorithm with ACO, PSO, GA and DE. Figure 2 illustrates the performance for the pair (3, 13).As the performance plot of PSO had many fluctuations, it average makespan and the standard deviation are recorded by both GA and BBO.It is noticed that all algorithms except PSO allocate the jobs evenly for all grid nodes from Fig. 3.   Figure 4 illustrates the performance for GA, ACO, BBO and DE algorithms during the search process for (5, 100).For this case, the BBO algorithm yields the minimum average makespan and the standard deviation.
Individual node flow time of best run is found to be {85.22, 84.76, 85.66, 85.67, 85.51} for BBO.GA produces the flowtime as {85.26,85.55,84.68,85.76,85.64}. The result for DE is {85.24,86.73,87.50,84.97,84.11}. ACO reports {76.71,84.26,83.15,89.30,91.93} and PSO yields {83.39,96.8,74.04,79.87,97.24}.It is realized that the performance of BBO and GA is good when compared with other algorithms from Fig. 5 and 6.The average makespan for (8, 60) is found to be 43.01 for BBO which is the minimum value as evident from the Table 5.Individual node flow time for this case is illustrated in Fig. 7.This reveals that BBO is better than other algorithms.
Figure 8 illustrates the performance for the pair (10, 50).The minimum average makespan is recorded by BBO as 37.46 and the standard deviation for BBO and GA is found to be the same for this case which is also the minimum value compared with others.It is noted that the resources are effectively utilized by BBO algorithm than others when referring to Fig. 9.In general, it is found that the performance of BBO is better and competitive with GA while producing good quality schedules.Next DE places its remark and it is followed by PSO and ACO in producing quality schedules.
Computational efficiency: In general, for large (R, J) pairs, the completion time is comparatively larger.BBO usually spent the least time for allocating all the jobs on the grid node, GA was the second.For large resource job pair, the completion time of PSO is competitive with DE as referred from Table 5. ACO had to spend more time to complete the scheduling.It is noted that Performance assessment: From Table 5, it is found that BBO gives the best makespan value for all cases, then GA follows next and then DE in giving better results.Hence GA and DE are taken into account to assess the performance with BBO.In order to compare the performance of the proposed algorithm with other scheduling algorithms, it is necessary to examine the extent of minimization of the obtained non-dominated solutions produced by each algorithm for the considered objective and the spread of their solutions.Figure 10 to 12 show the non-dominated solutions obtained at the end of simulation trial (average over 25 runs) for BBO, GA and DE algorithms for 3 different test cases.
For all problems, the solution obtained by BBO is better than solutions found by GA and DE.In order to present a comprehensive comparison of the overall quality of these alternative approaches, the experiment for each algorithm was repeated 25 times with different random seeds for each resource job pair.The reference set, R had been constructed by merging all of the archival non-dominated solutions found by each of the algorithms for a given resource job pair across 25 runs.Then the hyper volume difference indicator IH¯ (Huband et al., 2006) had been used to measure the differences between non-dominated fronts generated by the algorithms and the reference set R.
The objective values are normalized to find the hyper volume difference indicator (Huang et al., 2007).IH¯ measures the portion of the objective space that is dominated by R. The lower the value of IH¯, the better the algorithm performs.Box plots for different test cases clearly prove that BBO algorithm is better than GA and DE (Fig. 13 to 15).
From the simulation result of BBO algorithm in solving grid job scheduling problems, it is seen that the performance of BBO algorithm is much better than other optimization techniques mentioned in this study.

CONCLUSION
In this study, we analyzed the job scheduling problems on grids.For scheduling problems, we consider genetic algorithm, differential evolution algorithm, ant colony optimization, particle swarm optimization and BBO algorithm.
This study presents a novel grid job scheduling approach based on BBO algorithm to optimize the makepan and flowtime.The BBO algorithm has an ability to find better quality solution and has better convergence characteristics and computational efficiency.It is clear from the results obtained by different trials that the proposed BBO method has good convergence property and it avoids the shortcoming of premature convergence of other optimization techniques to obtain better quality solution.As the status of resource is dynamic within the grid environment, it is necessary to produce the faster and feasible schedules.Simulation results show that BBO is capable of generating the solution within a minimum period of time.The comparative study demonstrates the efficiency and effectiveness of the proposed approach and the IH¯ indicator shows that BBO performs better than other algorithms.Hence BBO can be applied for grid job scheduling problems.In future work, we will develop adaptive BBO algorithm for multi-objective complex scheduling problems and stochastic scheduling problems.

Fig. 1 :
Fig. 1: A logical grid scheduling architecture distributed in multiple administrative domains.A scheduling problem is specified by a set of machines, a set of jobs/operations, optionality criteria, environmental specifications and by other constraints.

Table 2 :
Parameter settings for the algorithms

Table 3 :
Influence of parameters on BBO performance for job scheduling problem(5, 100)

Table 5 :
Performance comparison between ACO, BBO, GA, DE and PSO