35
USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

Embed Size (px)

Citation preview

Page 1: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING

By:

Amseena Mansoor

Rayan Alsemmeari

Page 2: 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

Page 3: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

Literature Survey

Types of scheduling:

1. System level scheduling

2. Application level scheduling

Page 4: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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

Page 5: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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.

Page 6: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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

Page 7: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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.

Page 8: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

Genetic Algorithm

G.A phases

1. Initial Population

2. Evaluation of fitness function

3. Parent selection

4. Crossover operation

5. Mutation

Page 9: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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

1. Real numbers (1,2,….9)

2. Binary encoding (0s,1s)

3. List of rules (R1,R2,R3)

Page 10: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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 s2 f(s1)> f(s2)

Page 11: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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.

Page 12: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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

Page 13: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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

Page 14: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

Mutation•Perform exploitation on the current best strings (performs random local search)•Let e an element of the string

e

10011010• The value of e, ᵾ e € string is changed with some

probability p (usually low)

10001010

Page 15: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

8 queen puzzle example

Page 16: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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

Page 17: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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

Page 18: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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

Page 19: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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

Page 20: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

The advantages of using PGA • 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.

Page 21: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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

Page 22: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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

Page 23: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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

Page 24: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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

Page 25: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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.

Page 26: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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.

Page 27: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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

Page 28: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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.

Page 29: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

Predictive Job Scheduling System• The sample population may have individuals such as 00

01 10.• 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

Page 30: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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.

Page 31: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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

Page 32: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

The proposed algorithm

If the resource availability

Then send the job to the node

Else

Try a different resource if it is available.

Else

Initiate the learning procedure

After time T apply the Genetic Operators on the

history information.

Page 33: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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.

Page 34: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

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.

Page 35: USING PARALLEL GENETIC ALGORITHM IN A PREDICTIVE JOB SCHEDULING By: Amseena Mansoor Rayan Alsemmeari

Thank You for listening to us!!!!!