# Using Parallel Genetic Algorithm in a Predictive Job Scheduling

## Presentation on theme: "Using Parallel Genetic Algorithm in a Predictive Job Scheduling"— Presentation transcript:

Using Parallel Genetic Algorithm in a Predictive Job Scheduling
By: Amseena Mansoor Rayan Alsemmeari

Introduction Literature survey Why does Genetic Algorithm work?
Parallel Genetic Algorithm Predictive Job Scheduling System Conclusion

Literature Survey Types of scheduling: System level scheduling
Application level scheduling

System level Scheduling
The scheduling system will analyze load situation of each node and choose one node to run the task. The scheduling system has to realize the load balancing and increase the throughput and resource utilization under restricted condition, when the system is heavily loaded

Application level scheduling
If multiple task arrive during a unit scheduling time slot, then scheduling system will be responsible to allocate an appropriate number of jobs to each node in order to finish these jobs under a defined objective. The objective is usually the minimal average execution time. This scheduling policy is application- oriented. So, this schedule is called application level scheduling.

Genetic Algorithm Powerful search technique based on mechanics of biological evolution Used to solve a difficult problem in many disciplines Can provide efficient and effectives techniques for optimization and machine leaning applications

Basic Principle of GA In GA, It is necessary to select a specific number of inputs For instance, x1, x2 ... xn which belong to the input space X. Each input in the GA terminology called an organism or chromosome. The set of chromosomes is designated as a colony or population. Computation is done over epochs. In each epoch the colony will evolve according to specific rules reminiscent of biological evolution.

Genetic Algorithm G.A phases Initial Population
Evaluation of fitness function Parent selection Crossover operation Mutation

Initial Population G.A begins with a set of k randomly generated states These states are satisfactory to the problem The representation of solutions should be encoded as Real numbers (1,2,….9) Binary encoding (0s,1s) List of rules (R1,R2,R3)

Evaluation of fitness function
To each chromosome xi, we assign a fitness value that is the function of xi(f(xi)) Fitness: string value Properties: best string highest fitness function If s1 is better than s f(s1)> f(s2)

Parent selection Stronger individual chromosomes with fitness values closer to the colony optimal will have greater chance to survive across epochs and to reproduce than weaker individuals which will tend to die.

Crossover operation The important step in the algorithm is reproduction or breeding which happens once per epoch. The content of the two chromosomes participating in reproduction are literally merged together to form a new chromosome that a child. This heuristic allows us to possibly combine the best of both individuals to yield a better one

Crossover operation How does the crossover wok? Single point crossover
Multi point crossover Uniform crossover

Mutation Perform exploitation on the current best strings (performs random local search) Let e an element of the string e The value of e, ᵾ e € string is changed with some probability p (usually low)

8 queen puzzle example

Why does genetic algorithm work?
Genetic Algorithm application level scheduling algorithm generates the initial population, evaluates each individual’s fitness, and performs genetic operations on the Individuals with high fitness such copying, crossover and mutation, to generate a new population. The genetic process continues with the new population until a nearly optimal jobs assignment strategy is obtained. Finally, the jobs are assigned to each node based on the strategy

The parameters in job scheduling
Total execution time is the time between the beginning of execution of the first job of a series and completion of the last job. Average turnaround time is the average, for each job from when the job arrives to when the job finished

What is PGA? Parallel implementation of GA
Provide considerable gains in terms of performance and scalability It can easily implemented on network of heterogeneous computers or in parallel mainframes

GA can be parallelized depends on
1.how fitness is evaluated and mutation is applied 2.if single or multiple subpopulation are used 3.if multiple populations are used, how individuals are exchanged 4.how selection is applied

Parallel search from multiple points in a space Works on a coding of the problem. Independent of the problem. It can change solutions to the problem. Better search even if no parallel hardware is used. Higher efficiency than sequential Genetic Algorithms. Easy cooperation with other search procedures.

PGA Taxonomy a. Master-Slave Parallelization
b. Subpopulation with migration c. Overlapping subpopulation d. Massively parallel genetic algorithm e. Dynamic demes f. Parallel steady-state algorithm g. Parallel messy genetic algorithm

Master-Slave Parallelization
One of the first successful applications of parallel GA. This is also called global parallelization, master-slave model or distributed-fitness evaluation The evaluation of the individuals are performed in parallel

Master-Slave Parallelization
The selection and mating is done globally Each individual may compete and mate with any other

Master-Slave Algorithm
Master stores the population a. executes the Genetic operators b. distributes individuals to the slaves. The slave evaluates the fitness of the individual a. reports the fitness value to the master

Predictive Job Scheduling System
A model of the scheduling algorithm The scheduler can learn from the previous experiences. Selection and crossover are considered in the entire population; each individual may compete and mate.

Predictive Job Scheduling System
A binary encoding is used to convert the scheduling problem to chromosomes Each chromosome has genes. The efficiency may be high if the same jobs have to be scheduled. The scheduler starts with no prior information about the jobs at first After each allocation the information is stored to the history base. The job of specific requirement comes again a different combination is tried according to the resource availability if the execution time is lower then it is recorded. This is called the learning phase.

Predictive Job Scheduling System
If a new job which has not yet scheduled by the scheduler, then the system is put to a brief learning phase again. The encoding process is done by assuming that a chromosome has the following gene structure. Chromosome {gene1, gene2, gene3} Gene1 is the job identifier. Gene2 is the resource identifier. Gene3 is the node identifier

Predictive Job Scheduling System
The fitness function f is the execution time of that job at the node. The population generation is done by assigning binary set values for each of the genes. Job A may be encoded as 00 and job B may be encoded as 01 and so on. The same method can be used to represent all genes.

Predictive Job Scheduling System
The sample population may have individuals such as After the population is built in the learning phase, the fitness of the individual is recorded as the execution time of the job at the node. The next time the same job is to be Scheduled the history information is checked

Predictive Job Scheduling System
a new gene combination is found and job scheduled and the fitness recorded. After time T the genetic operator of crossover is applied and the individuals of the same job type are selected for crossover.

The proposed algorithm
Procedure for the learning phase { Create the population by encoding the problem. Add chromosome to the history if it does not exist in the history Else Try a different combination of genes. } If job details available in history Then

The proposed algorithm
If the resource availability Then send the job to the node Else Try a different resource if it is available. Initiate the learning procedure After time T apply the Genetic Operators on the history information.

Conclusion The Genetic Algorithm Scheduling increase execution time at first and then, improved as time progressed. The future work may involve the different and more efficient methods of encoding a problem and different genetic operators and methods.

References [1] Yang, Hongquiang, Joshua, Adaptive grid
job scheduling with genetic algorithm, Elsevier Future Generation Computer Systems 2005. [2] D.E Goldberg, “Genetic Algorithm in Search, Optimization and Machine Learning “, Prentice Hall of India, 2004. [3]R.Stuart, N.Norvig, ”Artificial Intelligence A Modern Approach”, Pearson Education,Inc.

Thank You for listening to us!!!!!