SlideShare a Scribd company logo
1 of 12
Download to read offline
Genetic Algorithm
             For
     Process Scheduling
              In
Distributed Operating System

              Adhokshaj Mishra
 Department of Computer Science and Engineering,
 University Institute of Engineering and Technology,
                   CSJM University
                    Kanpur, INDIA

      Email: adhokshajmishra@indidigilabs.in


                 Ankur Verma
 Department of Computer Science and Engineering,
 University Institute of Engineering and Technology,
                   CSJM University
                    Kanpur, INDIA

        Email: ankurverma@indidigilabs.in
Abstract
The problem of process scheduling in distributed system is one of
the important and challenging area of research in computer
engineering. Scheduling in distributed operating system has an
important role in overall system performance. Process scheduling in
distributed system can be defined as allocating processes to
processor so that total execution time will be minimized, utilization
of processors will be maximized and load balancing will be
maximized. The scheduling in distributed system is known as NP-
Complete problem even in the best conditions, and methods based
on heuristic search have been proposed to obtain optimal and
suboptimal solutions. Genetic algorithm is one of the widely used
techniques for constrain optimization. Genetic algorithm is basically
search algorithm based on natural selection and natural genetics. In
this paper, using the power of genetic algorithms, we solve this
problem considering load balancing efficiently.


Keywords: Genetic Algorithm, Distributed Systems, Load Balancing


  1. Introduction
The computational complicated process cannot be executed on the
computing machine in an accepted interval time. Therefore, they
must be divided into small sub-process. The sub-process can be
executed either in the expensive multiprocessor or in the
distributed system. Distributed system is preferred due to better
ratio of cost per performance. Scheduling in distributed operating
systems is a critical factor in overall system performance. Process
scheduling in a distributed operating system can be stated as
allocating processes to processors so that total execution time will
be minimized, utilization of processors will be maximized, and load
balancing will be maximized. Process scheduling in distributed
system is done in two phases: in first phase processes are
distributed on computers and in second processes execution order
on each processor must be determined.

The methods used to solve scheduling problem in distributed
computing system can be classified into three categories graph
theory based approaches, mathematical models based methods and
heuristic techniques.

Heuristic algorithm can be classified into three categories iterative
improvement algorithms, the probabilistic optimization algorithms
and constructive heuristics. Heuristic can obtain sub optimal
solution in ordinary situations and optimal solution in particulars.

The first phase of process scheduling in a distributed system is
process distribution on computer. The critical aspects of this phase
are load balancing. Recently created processes may be overloaded
heavily while the others are under loaded or idle. The main
objectives of load balancing are to speared load on processors
equally, maximizing processors utilization and minimizing total
execution time.

The second phase of process scheduling in distributed computing
system is process execution ordering on each processor. Genetic
algorithm used for this phase. Genetic algorithm is guided random
search method which mimics the principles of evolution and natural
genetics. Genetic algorithms search optimal solution from entire
solution space. They often can obtain reasonable solution in all
situations. Nevertheless, their main drawback is to spend much time
for schedule. Hence, we propose a modified genetic algorithm to
overcome from drawback through this paper.
In this paper using the power of genetic algorithms we solve this
problem. Process distribution on different processor done based on
processors load. The proposed algorithm maps each schedule with a
chromosome that shows the execution order of all existing process
on processors. The fittest chromosomes are selected to reproduce
offspring: chromosomes which their corresponding schedules have
less total execution time, better load balance and processor
utilization. We assume that the distributed system processes are
non uniform and non-preemptive, that is the processors may be
different and a processor completes current process before
executing a new one the load balancing mechanism used in this
paper only schedule process without process migration.


  2. Preliminaries
  2.1 System and Process Model

The system used for simulation is loosely coupled non-uniform
system, all tasks are non-pre-emptive and no process migration is
assumed. The process scheduling problem considered in this paper
is based on the deterministic model. A distributed system with m
processors, m>1 should be modeled as follows:

P= {p1, p2, p3...pm} is the set of processors in the distributed system.
Each processor can only execute one process at each moment; a
processor completes current process before executing a new one,
and a process cannot be moved to another processor during
execution. R is an m × m matrix, where the element ruv 1≤ u, v ≤ m of
R, is the communication delay rate between Pu and Pv. H is an m × m
matrix, where the element huv 1≤ u, v ≤m of H, is the time required to
transmit a unit of data from Pu and Pv. It is obvious that huu=0 and
ruu=0.
T= {t1, t2, t3…tm} is the set of processes to execute. A is an n x m
matrix, where the element aij 1 ≤i ≤n, 1 ≤ j ≤ m of A, is the execution
time of process ti on processor pj. In homogeneous distributed
systems the execution time of an individual process on all
processors is equal, that means: 1 ≤i ≤ n; ai1 = ai2 = ai3 = … = aim. D is
a linear matrix, where the element di 1 ≤ i ≤ n of D, is the data
volume for process ti to be transmitted, when the process ti is to be
executed on a remote processor.

F is a linear matrix, where the element fi 1 ≤ i ≤ n of F is the target
processor that is selected for the process ti to be executed on. C is a
linear matrix, where the element ci 1 ≤ i ≤ n of C, is the processor
that the process ti is presented on just now.

The problem of process scheduling is to assign for each process
tia processor fiP so that the total execution time is minimized,
utilization of processors is maximized, and load balancing will be
maximized. In such systems, there are finite numbers of processes,
each having a process number and an execution time and placed in a
process pool from which processes are assigned to processors. The
main objective is to find a schedule with minimum cost. The
following definitions are also needed:

Definition 1

The processor load for each processor is the sum of processes
execution times allocated to that processor. However, as the
processors may not always be idle when a chromosome (schedule)
is evaluated, the current existing load on individual processor must
also be taken into account. Therefore:
                  ������������ .������������ ������������������������������������������������������                ������������ .������������ ������������������ ������������������������������������������������
                     ������������������������������������������������������ ������������                          ������������������������������������������������������ ������������
                       ������������������������������������������������������ ������                           ������������������������������������������������������ ������
������������������������ ������������ =                                   ������������ ,������ +   ������=1                                 ������������,������ …….. (1)
                  ������ =1
Definition 2

The length or maxspan of schedule T is the maximal finishing time of
all the processes or maximum load. Also, communication cost (CC)
to spread recently created processes on processors must be
computed:

  Maxspan(T) = max(Load(pi))  1≤i≤ Number of processors …(2)

                           ������������������ .������������ ������������������ ������������������������������������������������������
      CC T =                                                        (rc i f i + hc i f i X di ) ……. (3)
                           ������=1

Definition 3

The Processor utilization for each processor is obtained by dividing
the sum of processing times by maxspan, and the average of
processors utilization is obtained by dividing the sum of all
utilizations by number of processors:

                                       ������������������������ (������������ )
                    ������(������������ ) =                             ������������������������������������������ ……….. (4)

                     ������������ .������������ ������������������������������������������������������������
                (    ������=1                              ������(������������ ))
   ������������������������ =                                                        ������������. ������������ ������������������������������������������������������������ …….. (5)


Definition 4

Number of Acceptable Processor Queues (NoAPQ): We must define
thresholds for light and heavy load on processors. If the processes
completion time of a processor (by adding the current system load
and those contributed by the new processes) is within the light and
heavy thresholds, this processor queue will be acceptable. If it is
above the heavy threshold or below the light-threshold, then it is
unacceptable, but what is important is average of number of
acceptable processors queues, which is achievable by:

                              ������������������������������
         ������������������������������������������������ =                ������������. ������������ ������������������������������������������������������������ …… (6)

Definition 5

A Queue associated with every processor, shows the processes that
processor has to execute. The execution order of processes on each
processor is based on queues.

The Proposed Genetic Algorithm

Genetic algorithms, as powerful and broadly applicable stochastic
search and optimization techniques, are the most widely known
types of evolutionary computation methods today. In general, a
genetic algorithm has five basic components as follows:

  1. An encoding method that is a genetic representation
     (genotype) of solutions to the program.
  2. A way to create an initial population of individuals
     (chromosomes).
  3. An evaluation function, rating solutions in terms of their
     fitness, and a selection mechanism.
  4. The genetic operators (crossover and mutation) that alter the
     genetic composition of offspring during reproduction.
  5. Values for the parameters of genetic algorithm.

Genotype
In the GA-Based algorithms each chromosome corresponds to a
solution to the problem. The genetic representation of individuals is
called Genotype. In this paper a chromosome consists of an array of
n digits, where n is the number of processes. Indexes show process
numbers and a digit can take any one of the 1...m values, which
shows the processor that the process is assigned to. If more than
one process is assigned to the same processor, the left to-right order
determines their execution order on that processor.

Initial Population

As discussed before, the main objective of GA is to find a schedule
with optimal cost while load-balancing; processors utilization and
cost of communication are considered. We take into account all
objectives in following equation. The fitness function of a Schedule T
is defined as follows:

                                    ������ ������ ������������������������ ������ (������ ������ ������������������������������������������������ )
            ������������������������������������������(������) =                                                  ……. (7)
                                   ������ ������ ������������������������������������������ ������ ������ (������ ������ ������������(������))


Where 0 < α, β, γ, θ ≤ 1 are control parameters to control effect of
each part according to special cases and their default value is one.
This equation shows that a fitter solution (Schedule) has less
maxspan, less communication cost, higher processor utilization and
higher Average number of acceptable processor queues.

Selection

The selection process used here is based on spinning the roulette
wheel, which each chromosome in the population has a slot sized in
proportion to its fitness. Each time we require an offspring, a simple
spin of the weighted roulette wheel gives a parent chromosome. The
probability pi that a parent Ti will be selected is given by:
������(������������ )
                     ������������ =   ������������������������������������������               ……. (8)
                              ������ =1            ������(������������ )


Where F(Ti) is the fitness of chromosome Ti.

Crossover

Crossover is generally used to exchange portions between strings.
Crossover is not always affected; the invocation of the crossover
depends on the probability of the crossover Pc. We have
implemented two crossover operators. The GA uses one of them,
which is decided randomly.

Single-Point Crossover

This operator randomly selects a point, called Crossover point, on the
selected chromosomes, then swaps the bottom halves after
crossover point, including the gene at the crossover point and
generate two new chromosomes called children.

Proposed Crossover

This operator randomly selects points on the selected
chromosomes, then for each child non-selected genes are taken from
one parent and selected genes from the other.

Mutation

Mutation is used to change the genes in a chromosome. Mutation
replaces the value of a gene with a new value from defined domain
for that gene. Mutation is not always affected, the invocation of the
Mutation depend on the probability of the Mutation Pm. We have
implemented two mutation operators. The GA uses one of them,
which is decided randomly.
First Mutation Operator

This operator randomly selects two points on the selected
chromosome, and then generates a chromosome by swapping the
genes at the selected points.

Second Mutation Operator

The other approach is to check if any jobs could be swapped
between processors which would result in a lower make span. If we
want to test every possible swap, it would be computationally very
intensive, and in larger problems would take an unfeasible amount
of time. It also seems unreasonable to consider swapping processes
on processors which their load is significantly below the make span,
therefore we try to swap processes between overloaded and under
loaded processors. This concept can be implemented as follows:

  1. First, select a processor, say pv, which has maximum finish
     time.
  2. Second, select a processor, say pu, which has minimum finish
     time.
  3. Third, try to transfer a process from pv to pu or swap a single
     pair of processes between pv and pu that improves the make
     span of both processors the most.
  4. This process is repeated until no improvement is possible.

Replacement Strategy

With genetic operators (crossover, mutation) are applied on
selected patterns T1, T2 two new chromosomes T’ and T” are
generated. These chromosomes are added to new temporary
population. By repeating this operation, a new temporary
population with size of 2*POPSIZE is generated. After that fitter
chromosomes are selected from current population and new
temporary population, at last selected chromosomes made new
population and algorithm restarts.

Termination Condition

We can apply multiple choices for termination condition: Max
number of generation, algorithm convergence, and equal fitness for
fittest selected chromosomes in respective iterations.

The Structure of Proposed Genetic Algorithm

Our proposed GA-Based algorithm starts with a generation of
individuals. A certain fitness function is used to evaluate the fitness
of each individual. Good individuals survive after selection
according to the fitness of individuals. Then the survived individuals
reproduce offspring through crossover and mutation operators. This
process iterates until termination condition is satisfied. It is
Considerable to say that parameters such as pc, pm, POPSIZE,
NOGEN, α, β, γ and θ must be determined before GA is started. The
algorithm is as below:

Procedure GA-based algorithm
Begin
    Initialize P (k): {Create an initial population}
    Evaluation P (k): {evaluate all individuals in the population}
    Repeat
          For i=1 to 2*POPSIZE do
                Select 2 chromosomes as parent1 and parent2 from
                population
                Child1 and Child2←Crossover (parent1, parent2);
                Child1←Mutation (Child1);
                Child2←Mutation (Child2);
                Add (new temp population, Child1, Child2);
End For
           Make (new population, new temp population, population);
           Population = new Population;
      While (not termination condition);
      Select best chromosome in population as solution and return it;
End

Conclusions

Scheduling in distributed operating systems has a significant role in
overall system performance and throughput. The scheduling in
distributed systems is known as an NP-complete problem even in
the best conditions. We have presented and evaluated new GA-
Based method to solve this problem. This algorithm considers multi
objectives in its solution evaluation and solves the scheduling
problem in a way that simultaneously minimizes maxspan and
communication cost, and maximizes average processor utilization
and load-balance. Most existing approaches tend to focus on one of
the objectives. Experimental results prove that our proposed
algorithm tend to focus on all of the objectives simultaneously and
optimize them.

References

  1. A Genetic Algorithm for Process Scheduling in Distributed
     Operating Systems considering Load Balancing, by M. Nikravan
     and M. H. Kashani
  2. A Modified Genetic Algorithm for Process Scheduling in
     Distributed System, by Vinay Harsora and Dr. Apurva Shah,
     International Journal of Computer Applications, AIT – 2011

More Related Content

What's hot

Task Scheduling using Tabu Search algorithm in Cloud Computing Environment us...
Task Scheduling using Tabu Search algorithm in Cloud Computing Environment us...Task Scheduling using Tabu Search algorithm in Cloud Computing Environment us...
Task Scheduling using Tabu Search algorithm in Cloud Computing Environment us...AzarulIkhwan
 
Energy-aware Task Scheduling using Ant-colony Optimization in cloud
Energy-aware Task Scheduling using Ant-colony Optimization in cloudEnergy-aware Task Scheduling using Ant-colony Optimization in cloud
Energy-aware Task Scheduling using Ant-colony Optimization in cloudLinda J
 
Scheduling Algorithm Based Simulator for Resource Allocation Task in Cloud Co...
Scheduling Algorithm Based Simulator for Resource Allocation Task in Cloud Co...Scheduling Algorithm Based Simulator for Resource Allocation Task in Cloud Co...
Scheduling Algorithm Based Simulator for Resource Allocation Task in Cloud Co...IRJET Journal
 
Improved Max-Min Scheduling Algorithm
Improved Max-Min Scheduling AlgorithmImproved Max-Min Scheduling Algorithm
Improved Max-Min Scheduling Algorithmiosrjce
 
An efficient approach for load balancing using dynamic ab algorithm in cloud ...
An efficient approach for load balancing using dynamic ab algorithm in cloud ...An efficient approach for load balancing using dynamic ab algorithm in cloud ...
An efficient approach for load balancing using dynamic ab algorithm in cloud ...bhavikpooja
 
Time Efficient VM Allocation using KD-Tree Approach in Cloud Server Environment
Time Efficient VM Allocation using KD-Tree Approach in Cloud Server EnvironmentTime Efficient VM Allocation using KD-Tree Approach in Cloud Server Environment
Time Efficient VM Allocation using KD-Tree Approach in Cloud Server Environmentrahulmonikasharma
 
(Slides) Task scheduling algorithm for multicore processor system for minimiz...
(Slides) Task scheduling algorithm for multicore processor system for minimiz...(Slides) Task scheduling algorithm for multicore processor system for minimiz...
(Slides) Task scheduling algorithm for multicore processor system for minimiz...Naoki Shibata
 
IRJET- Enhance Dynamic Heterogeneous Shortest Job first (DHSJF): A Task Schedu...
IRJET- Enhance Dynamic Heterogeneous Shortest Job first (DHSJF): A Task Schedu...IRJET- Enhance Dynamic Heterogeneous Shortest Job first (DHSJF): A Task Schedu...
IRJET- Enhance Dynamic Heterogeneous Shortest Job first (DHSJF): A Task Schedu...IRJET Journal
 
Load Balancing in Cloud using Modified Genetic Algorithm
Load Balancing in Cloud using Modified Genetic AlgorithmLoad Balancing in Cloud using Modified Genetic Algorithm
Load Balancing in Cloud using Modified Genetic AlgorithmIJCSIS Research Publications
 
Optimized Assignment of Independent Task for Improving Resources Performance ...
Optimized Assignment of Independent Task for Improving Resources Performance ...Optimized Assignment of Independent Task for Improving Resources Performance ...
Optimized Assignment of Independent Task for Improving Resources Performance ...ijgca
 
Max Min Fair Scheduling Algorithm using In Grid Scheduling with Load Balancing
Max Min Fair Scheduling Algorithm using In Grid Scheduling with Load Balancing Max Min Fair Scheduling Algorithm using In Grid Scheduling with Load Balancing
Max Min Fair Scheduling Algorithm using In Grid Scheduling with Load Balancing IJORCS
 
Configuration Optimization for Big Data Software
Configuration Optimization for Big Data SoftwareConfiguration Optimization for Big Data Software
Configuration Optimization for Big Data SoftwarePooyan Jamshidi
 

What's hot (17)

Task Scheduling using Tabu Search algorithm in Cloud Computing Environment us...
Task Scheduling using Tabu Search algorithm in Cloud Computing Environment us...Task Scheduling using Tabu Search algorithm in Cloud Computing Environment us...
Task Scheduling using Tabu Search algorithm in Cloud Computing Environment us...
 
genetic paper
genetic papergenetic paper
genetic paper
 
Energy-aware Task Scheduling using Ant-colony Optimization in cloud
Energy-aware Task Scheduling using Ant-colony Optimization in cloudEnergy-aware Task Scheduling using Ant-colony Optimization in cloud
Energy-aware Task Scheduling using Ant-colony Optimization in cloud
 
Scheduling Algorithm Based Simulator for Resource Allocation Task in Cloud Co...
Scheduling Algorithm Based Simulator for Resource Allocation Task in Cloud Co...Scheduling Algorithm Based Simulator for Resource Allocation Task in Cloud Co...
Scheduling Algorithm Based Simulator for Resource Allocation Task in Cloud Co...
 
Improved Max-Min Scheduling Algorithm
Improved Max-Min Scheduling AlgorithmImproved Max-Min Scheduling Algorithm
Improved Max-Min Scheduling Algorithm
 
E01113138
E01113138E01113138
E01113138
 
An efficient approach for load balancing using dynamic ab algorithm in cloud ...
An efficient approach for load balancing using dynamic ab algorithm in cloud ...An efficient approach for load balancing using dynamic ab algorithm in cloud ...
An efficient approach for load balancing using dynamic ab algorithm in cloud ...
 
Time Efficient VM Allocation using KD-Tree Approach in Cloud Server Environment
Time Efficient VM Allocation using KD-Tree Approach in Cloud Server EnvironmentTime Efficient VM Allocation using KD-Tree Approach in Cloud Server Environment
Time Efficient VM Allocation using KD-Tree Approach in Cloud Server Environment
 
cloud schedualing
cloud schedualingcloud schedualing
cloud schedualing
 
(Slides) Task scheduling algorithm for multicore processor system for minimiz...
(Slides) Task scheduling algorithm for multicore processor system for minimiz...(Slides) Task scheduling algorithm for multicore processor system for minimiz...
(Slides) Task scheduling algorithm for multicore processor system for minimiz...
 
IRJET- Enhance Dynamic Heterogeneous Shortest Job first (DHSJF): A Task Schedu...
IRJET- Enhance Dynamic Heterogeneous Shortest Job first (DHSJF): A Task Schedu...IRJET- Enhance Dynamic Heterogeneous Shortest Job first (DHSJF): A Task Schedu...
IRJET- Enhance Dynamic Heterogeneous Shortest Job first (DHSJF): A Task Schedu...
 
Load Balancing in Cloud using Modified Genetic Algorithm
Load Balancing in Cloud using Modified Genetic AlgorithmLoad Balancing in Cloud using Modified Genetic Algorithm
Load Balancing in Cloud using Modified Genetic Algorithm
 
Optimized Assignment of Independent Task for Improving Resources Performance ...
Optimized Assignment of Independent Task for Improving Resources Performance ...Optimized Assignment of Independent Task for Improving Resources Performance ...
Optimized Assignment of Independent Task for Improving Resources Performance ...
 
[IJET V2I2P18] Authors: Roopa G Yeklaspur, Dr.Yerriswamy.T
[IJET V2I2P18] Authors: Roopa G Yeklaspur, Dr.Yerriswamy.T[IJET V2I2P18] Authors: Roopa G Yeklaspur, Dr.Yerriswamy.T
[IJET V2I2P18] Authors: Roopa G Yeklaspur, Dr.Yerriswamy.T
 
Max Min Fair Scheduling Algorithm using In Grid Scheduling with Load Balancing
Max Min Fair Scheduling Algorithm using In Grid Scheduling with Load Balancing Max Min Fair Scheduling Algorithm using In Grid Scheduling with Load Balancing
Max Min Fair Scheduling Algorithm using In Grid Scheduling with Load Balancing
 
J0210053057
J0210053057J0210053057
J0210053057
 
Configuration Optimization for Big Data Software
Configuration Optimization for Big Data SoftwareConfiguration Optimization for Big Data Software
Configuration Optimization for Big Data Software
 

Viewers also liked

STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM
STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHMSTUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM
STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHMAvay Minni
 
Survival of the Fittest: Using Genetic Algorithm for Data Mining Optimization
Survival of the Fittest: Using Genetic Algorithm for Data Mining OptimizationSurvival of the Fittest: Using Genetic Algorithm for Data Mining Optimization
Survival of the Fittest: Using Genetic Algorithm for Data Mining OptimizationOr Levi
 
Airline scheduling and pricing using a genetic algorithm
Airline scheduling and pricing using a genetic algorithmAirline scheduling and pricing using a genetic algorithm
Airline scheduling and pricing using a genetic algorithmAlan Walker
 
Genetic algorithm raktim
Genetic algorithm raktimGenetic algorithm raktim
Genetic algorithm raktimRaktim Halder
 
genetic algorithm based music recommender system
genetic algorithm based music recommender systemgenetic algorithm based music recommender system
genetic algorithm based music recommender systemneha pevekar
 
Genetic algorithms
Genetic algorithmsGenetic algorithms
Genetic algorithmszamakhan
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithmgarima931
 
Data Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic AlgorithmsData Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic AlgorithmsDerek Kane
 

Viewers also liked (9)

STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM
STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHMSTUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM
STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM
 
Genetic Algorithm
Genetic AlgorithmGenetic Algorithm
Genetic Algorithm
 
Survival of the Fittest: Using Genetic Algorithm for Data Mining Optimization
Survival of the Fittest: Using Genetic Algorithm for Data Mining OptimizationSurvival of the Fittest: Using Genetic Algorithm for Data Mining Optimization
Survival of the Fittest: Using Genetic Algorithm for Data Mining Optimization
 
Airline scheduling and pricing using a genetic algorithm
Airline scheduling and pricing using a genetic algorithmAirline scheduling and pricing using a genetic algorithm
Airline scheduling and pricing using a genetic algorithm
 
Genetic algorithm raktim
Genetic algorithm raktimGenetic algorithm raktim
Genetic algorithm raktim
 
genetic algorithm based music recommender system
genetic algorithm based music recommender systemgenetic algorithm based music recommender system
genetic algorithm based music recommender system
 
Genetic algorithms
Genetic algorithmsGenetic algorithms
Genetic algorithms
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
 
Data Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic AlgorithmsData Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic Algorithms
 

Similar to Genetic Algorithm for Process Scheduling

International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)ijceronline
 
Bounded ant colony algorithm for task Allocation on a network of homogeneous ...
Bounded ant colony algorithm for task Allocation on a network of homogeneous ...Bounded ant colony algorithm for task Allocation on a network of homogeneous ...
Bounded ant colony algorithm for task Allocation on a network of homogeneous ...ijcsit
 
DYNAMIC TASK PARTITIONING MODEL IN PARALLEL COMPUTING
DYNAMIC TASK PARTITIONING MODEL IN PARALLEL COMPUTINGDYNAMIC TASK PARTITIONING MODEL IN PARALLEL COMPUTING
DYNAMIC TASK PARTITIONING MODEL IN PARALLEL COMPUTINGcscpconf
 
SWARM INTELLIGENCE SCHEDULING OF SOFT REAL-TIME TASKS IN HETEROGENEOUS MULTIP...
SWARM INTELLIGENCE SCHEDULING OF SOFT REAL-TIME TASKS IN HETEROGENEOUS MULTIP...SWARM INTELLIGENCE SCHEDULING OF SOFT REAL-TIME TASKS IN HETEROGENEOUS MULTIP...
SWARM INTELLIGENCE SCHEDULING OF SOFT REAL-TIME TASKS IN HETEROGENEOUS MULTIP...ecij
 
A report on designing a model for improving CPU Scheduling by using Machine L...
A report on designing a model for improving CPU Scheduling by using Machine L...A report on designing a model for improving CPU Scheduling by using Machine L...
A report on designing a model for improving CPU Scheduling by using Machine L...MuskanRath1
 
Scheduling Using Multi Objective Genetic Algorithm
Scheduling Using Multi Objective Genetic AlgorithmScheduling Using Multi Objective Genetic Algorithm
Scheduling Using Multi Objective Genetic Algorithmiosrjce
 
A Heterogeneous Static Hierarchical Expected Completion Time Based Scheduling...
A Heterogeneous Static Hierarchical Expected Completion Time Based Scheduling...A Heterogeneous Static Hierarchical Expected Completion Time Based Scheduling...
A Heterogeneous Static Hierarchical Expected Completion Time Based Scheduling...IRJET Journal
 
Distributed System Management
Distributed System ManagementDistributed System Management
Distributed System ManagementIbrahim Amer
 
Chapter 1 Data structure.pptx
Chapter 1 Data structure.pptxChapter 1 Data structure.pptx
Chapter 1 Data structure.pptxwondmhunegn
 
Efficient Dynamic Scheduling Algorithm for Real-Time MultiCore Systems
Efficient Dynamic Scheduling Algorithm for Real-Time MultiCore Systems Efficient Dynamic Scheduling Algorithm for Real-Time MultiCore Systems
Efficient Dynamic Scheduling Algorithm for Real-Time MultiCore Systems iosrjce
 
An Algorithm for Optimized Cost in a Distributed Computing System
An Algorithm for Optimized Cost in a Distributed Computing SystemAn Algorithm for Optimized Cost in a Distributed Computing System
An Algorithm for Optimized Cost in a Distributed Computing SystemIRJET Journal
 
Multiprocessor Real-Time Scheduling.pptx
Multiprocessor Real-Time Scheduling.pptxMultiprocessor Real-Time Scheduling.pptx
Multiprocessor Real-Time Scheduling.pptxnaghamallella
 

Similar to Genetic Algorithm for Process Scheduling (20)

International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
Bounded ant colony algorithm for task Allocation on a network of homogeneous ...
Bounded ant colony algorithm for task Allocation on a network of homogeneous ...Bounded ant colony algorithm for task Allocation on a network of homogeneous ...
Bounded ant colony algorithm for task Allocation on a network of homogeneous ...
 
DYNAMIC TASK PARTITIONING MODEL IN PARALLEL COMPUTING
DYNAMIC TASK PARTITIONING MODEL IN PARALLEL COMPUTINGDYNAMIC TASK PARTITIONING MODEL IN PARALLEL COMPUTING
DYNAMIC TASK PARTITIONING MODEL IN PARALLEL COMPUTING
 
SWARM INTELLIGENCE SCHEDULING OF SOFT REAL-TIME TASKS IN HETEROGENEOUS MULTIP...
SWARM INTELLIGENCE SCHEDULING OF SOFT REAL-TIME TASKS IN HETEROGENEOUS MULTIP...SWARM INTELLIGENCE SCHEDULING OF SOFT REAL-TIME TASKS IN HETEROGENEOUS MULTIP...
SWARM INTELLIGENCE SCHEDULING OF SOFT REAL-TIME TASKS IN HETEROGENEOUS MULTIP...
 
A report on designing a model for improving CPU Scheduling by using Machine L...
A report on designing a model for improving CPU Scheduling by using Machine L...A report on designing a model for improving CPU Scheduling by using Machine L...
A report on designing a model for improving CPU Scheduling by using Machine L...
 
M017327378
M017327378M017327378
M017327378
 
Scheduling Using Multi Objective Genetic Algorithm
Scheduling Using Multi Objective Genetic AlgorithmScheduling Using Multi Objective Genetic Algorithm
Scheduling Using Multi Objective Genetic Algorithm
 
A Heterogeneous Static Hierarchical Expected Completion Time Based Scheduling...
A Heterogeneous Static Hierarchical Expected Completion Time Based Scheduling...A Heterogeneous Static Hierarchical Expected Completion Time Based Scheduling...
A Heterogeneous Static Hierarchical Expected Completion Time Based Scheduling...
 
Chap5 slides
Chap5 slidesChap5 slides
Chap5 slides
 
Distributed System Management
Distributed System ManagementDistributed System Management
Distributed System Management
 
Matrix multiplication
Matrix multiplicationMatrix multiplication
Matrix multiplication
 
K017446974
K017446974K017446974
K017446974
 
M017419499
M017419499M017419499
M017419499
 
Chapter 1 Data structure.pptx
Chapter 1 Data structure.pptxChapter 1 Data structure.pptx
Chapter 1 Data structure.pptx
 
K017617786
K017617786K017617786
K017617786
 
Efficient Dynamic Scheduling Algorithm for Real-Time MultiCore Systems
Efficient Dynamic Scheduling Algorithm for Real-Time MultiCore Systems Efficient Dynamic Scheduling Algorithm for Real-Time MultiCore Systems
Efficient Dynamic Scheduling Algorithm for Real-Time MultiCore Systems
 
An Algorithm for Optimized Cost in a Distributed Computing System
An Algorithm for Optimized Cost in a Distributed Computing SystemAn Algorithm for Optimized Cost in a Distributed Computing System
An Algorithm for Optimized Cost in a Distributed Computing System
 
1844 1849
1844 18491844 1849
1844 1849
 
1844 1849
1844 18491844 1849
1844 1849
 
Multiprocessor Real-Time Scheduling.pptx
Multiprocessor Real-Time Scheduling.pptxMultiprocessor Real-Time Scheduling.pptx
Multiprocessor Real-Time Scheduling.pptx
 

Recently uploaded

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Recently uploaded (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

Genetic Algorithm for Process Scheduling

  • 1. Genetic Algorithm For Process Scheduling In Distributed Operating System Adhokshaj Mishra Department of Computer Science and Engineering, University Institute of Engineering and Technology, CSJM University Kanpur, INDIA Email: adhokshajmishra@indidigilabs.in Ankur Verma Department of Computer Science and Engineering, University Institute of Engineering and Technology, CSJM University Kanpur, INDIA Email: ankurverma@indidigilabs.in
  • 2. Abstract The problem of process scheduling in distributed system is one of the important and challenging area of research in computer engineering. Scheduling in distributed operating system has an important role in overall system performance. Process scheduling in distributed system can be defined as allocating processes to processor so that total execution time will be minimized, utilization of processors will be maximized and load balancing will be maximized. The scheduling in distributed system is known as NP- Complete problem even in the best conditions, and methods based on heuristic search have been proposed to obtain optimal and suboptimal solutions. Genetic algorithm is one of the widely used techniques for constrain optimization. Genetic algorithm is basically search algorithm based on natural selection and natural genetics. In this paper, using the power of genetic algorithms, we solve this problem considering load balancing efficiently. Keywords: Genetic Algorithm, Distributed Systems, Load Balancing 1. Introduction The computational complicated process cannot be executed on the computing machine in an accepted interval time. Therefore, they must be divided into small sub-process. The sub-process can be executed either in the expensive multiprocessor or in the distributed system. Distributed system is preferred due to better ratio of cost per performance. Scheduling in distributed operating systems is a critical factor in overall system performance. Process scheduling in a distributed operating system can be stated as allocating processes to processors so that total execution time will
  • 3. be minimized, utilization of processors will be maximized, and load balancing will be maximized. Process scheduling in distributed system is done in two phases: in first phase processes are distributed on computers and in second processes execution order on each processor must be determined. The methods used to solve scheduling problem in distributed computing system can be classified into three categories graph theory based approaches, mathematical models based methods and heuristic techniques. Heuristic algorithm can be classified into three categories iterative improvement algorithms, the probabilistic optimization algorithms and constructive heuristics. Heuristic can obtain sub optimal solution in ordinary situations and optimal solution in particulars. The first phase of process scheduling in a distributed system is process distribution on computer. The critical aspects of this phase are load balancing. Recently created processes may be overloaded heavily while the others are under loaded or idle. The main objectives of load balancing are to speared load on processors equally, maximizing processors utilization and minimizing total execution time. The second phase of process scheduling in distributed computing system is process execution ordering on each processor. Genetic algorithm used for this phase. Genetic algorithm is guided random search method which mimics the principles of evolution and natural genetics. Genetic algorithms search optimal solution from entire solution space. They often can obtain reasonable solution in all situations. Nevertheless, their main drawback is to spend much time for schedule. Hence, we propose a modified genetic algorithm to overcome from drawback through this paper.
  • 4. In this paper using the power of genetic algorithms we solve this problem. Process distribution on different processor done based on processors load. The proposed algorithm maps each schedule with a chromosome that shows the execution order of all existing process on processors. The fittest chromosomes are selected to reproduce offspring: chromosomes which their corresponding schedules have less total execution time, better load balance and processor utilization. We assume that the distributed system processes are non uniform and non-preemptive, that is the processors may be different and a processor completes current process before executing a new one the load balancing mechanism used in this paper only schedule process without process migration. 2. Preliminaries 2.1 System and Process Model The system used for simulation is loosely coupled non-uniform system, all tasks are non-pre-emptive and no process migration is assumed. The process scheduling problem considered in this paper is based on the deterministic model. A distributed system with m processors, m>1 should be modeled as follows: P= {p1, p2, p3...pm} is the set of processors in the distributed system. Each processor can only execute one process at each moment; a processor completes current process before executing a new one, and a process cannot be moved to another processor during execution. R is an m × m matrix, where the element ruv 1≤ u, v ≤ m of R, is the communication delay rate between Pu and Pv. H is an m × m matrix, where the element huv 1≤ u, v ≤m of H, is the time required to transmit a unit of data from Pu and Pv. It is obvious that huu=0 and ruu=0.
  • 5. T= {t1, t2, t3…tm} is the set of processes to execute. A is an n x m matrix, where the element aij 1 ≤i ≤n, 1 ≤ j ≤ m of A, is the execution time of process ti on processor pj. In homogeneous distributed systems the execution time of an individual process on all processors is equal, that means: 1 ≤i ≤ n; ai1 = ai2 = ai3 = … = aim. D is a linear matrix, where the element di 1 ≤ i ≤ n of D, is the data volume for process ti to be transmitted, when the process ti is to be executed on a remote processor. F is a linear matrix, where the element fi 1 ≤ i ≤ n of F is the target processor that is selected for the process ti to be executed on. C is a linear matrix, where the element ci 1 ≤ i ≤ n of C, is the processor that the process ti is presented on just now. The problem of process scheduling is to assign for each process tia processor fiP so that the total execution time is minimized, utilization of processors is maximized, and load balancing will be maximized. In such systems, there are finite numbers of processes, each having a process number and an execution time and placed in a process pool from which processes are assigned to processors. The main objective is to find a schedule with minimum cost. The following definitions are also needed: Definition 1 The processor load for each processor is the sum of processes execution times allocated to that processor. However, as the processors may not always be idle when a chromosome (schedule) is evaluated, the current existing load on individual processor must also be taken into account. Therefore: ������������ .������������ ������������������������������������������������������ ������������ .������������ ������������������ ������������������������������������������������ ������������������������������������������������������ ������������ ������������������������������������������������������ ������������ ������������������������������������������������������ ������ ������������������������������������������������������ ������ ������������������������ ������������ = ������������ ,������ + ������=1 ������������,������ …….. (1) ������ =1
  • 6. Definition 2 The length or maxspan of schedule T is the maximal finishing time of all the processes or maximum load. Also, communication cost (CC) to spread recently created processes on processors must be computed: Maxspan(T) = max(Load(pi))  1≤i≤ Number of processors …(2) ������������������ .������������ ������������������ ������������������������������������������������������ CC T = (rc i f i + hc i f i X di ) ……. (3) ������=1 Definition 3 The Processor utilization for each processor is obtained by dividing the sum of processing times by maxspan, and the average of processors utilization is obtained by dividing the sum of all utilizations by number of processors: ������������������������ (������������ ) ������(������������ ) = ������������������������������������������ ……….. (4) ������������ .������������ ������������������������������������������������������������ ( ������=1 ������(������������ )) ������������������������ = ������������. ������������ ������������������������������������������������������������ …….. (5) Definition 4 Number of Acceptable Processor Queues (NoAPQ): We must define thresholds for light and heavy load on processors. If the processes completion time of a processor (by adding the current system load and those contributed by the new processes) is within the light and
  • 7. heavy thresholds, this processor queue will be acceptable. If it is above the heavy threshold or below the light-threshold, then it is unacceptable, but what is important is average of number of acceptable processors queues, which is achievable by: ������������������������������ ������������������������������������������������ = ������������. ������������ ������������������������������������������������������������ …… (6) Definition 5 A Queue associated with every processor, shows the processes that processor has to execute. The execution order of processes on each processor is based on queues. The Proposed Genetic Algorithm Genetic algorithms, as powerful and broadly applicable stochastic search and optimization techniques, are the most widely known types of evolutionary computation methods today. In general, a genetic algorithm has five basic components as follows: 1. An encoding method that is a genetic representation (genotype) of solutions to the program. 2. A way to create an initial population of individuals (chromosomes). 3. An evaluation function, rating solutions in terms of their fitness, and a selection mechanism. 4. The genetic operators (crossover and mutation) that alter the genetic composition of offspring during reproduction. 5. Values for the parameters of genetic algorithm. Genotype
  • 8. In the GA-Based algorithms each chromosome corresponds to a solution to the problem. The genetic representation of individuals is called Genotype. In this paper a chromosome consists of an array of n digits, where n is the number of processes. Indexes show process numbers and a digit can take any one of the 1...m values, which shows the processor that the process is assigned to. If more than one process is assigned to the same processor, the left to-right order determines their execution order on that processor. Initial Population As discussed before, the main objective of GA is to find a schedule with optimal cost while load-balancing; processors utilization and cost of communication are considered. We take into account all objectives in following equation. The fitness function of a Schedule T is defined as follows: ������ ������ ������������������������ ������ (������ ������ ������������������������������������������������ ) ������������������������������������������(������) = ……. (7) ������ ������ ������������������������������������������ ������ ������ (������ ������ ������������(������)) Where 0 < α, β, γ, θ ≤ 1 are control parameters to control effect of each part according to special cases and their default value is one. This equation shows that a fitter solution (Schedule) has less maxspan, less communication cost, higher processor utilization and higher Average number of acceptable processor queues. Selection The selection process used here is based on spinning the roulette wheel, which each chromosome in the population has a slot sized in proportion to its fitness. Each time we require an offspring, a simple spin of the weighted roulette wheel gives a parent chromosome. The probability pi that a parent Ti will be selected is given by:
  • 9. ������(������������ ) ������������ = ������������������������������������������ ……. (8) ������ =1 ������(������������ ) Where F(Ti) is the fitness of chromosome Ti. Crossover Crossover is generally used to exchange portions between strings. Crossover is not always affected; the invocation of the crossover depends on the probability of the crossover Pc. We have implemented two crossover operators. The GA uses one of them, which is decided randomly. Single-Point Crossover This operator randomly selects a point, called Crossover point, on the selected chromosomes, then swaps the bottom halves after crossover point, including the gene at the crossover point and generate two new chromosomes called children. Proposed Crossover This operator randomly selects points on the selected chromosomes, then for each child non-selected genes are taken from one parent and selected genes from the other. Mutation Mutation is used to change the genes in a chromosome. Mutation replaces the value of a gene with a new value from defined domain for that gene. Mutation is not always affected, the invocation of the Mutation depend on the probability of the Mutation Pm. We have implemented two mutation operators. The GA uses one of them, which is decided randomly.
  • 10. First Mutation Operator This operator randomly selects two points on the selected chromosome, and then generates a chromosome by swapping the genes at the selected points. Second Mutation Operator The other approach is to check if any jobs could be swapped between processors which would result in a lower make span. If we want to test every possible swap, it would be computationally very intensive, and in larger problems would take an unfeasible amount of time. It also seems unreasonable to consider swapping processes on processors which their load is significantly below the make span, therefore we try to swap processes between overloaded and under loaded processors. This concept can be implemented as follows: 1. First, select a processor, say pv, which has maximum finish time. 2. Second, select a processor, say pu, which has minimum finish time. 3. Third, try to transfer a process from pv to pu or swap a single pair of processes between pv and pu that improves the make span of both processors the most. 4. This process is repeated until no improvement is possible. Replacement Strategy With genetic operators (crossover, mutation) are applied on selected patterns T1, T2 two new chromosomes T’ and T” are generated. These chromosomes are added to new temporary population. By repeating this operation, a new temporary population with size of 2*POPSIZE is generated. After that fitter
  • 11. chromosomes are selected from current population and new temporary population, at last selected chromosomes made new population and algorithm restarts. Termination Condition We can apply multiple choices for termination condition: Max number of generation, algorithm convergence, and equal fitness for fittest selected chromosomes in respective iterations. The Structure of Proposed Genetic Algorithm Our proposed GA-Based algorithm starts with a generation of individuals. A certain fitness function is used to evaluate the fitness of each individual. Good individuals survive after selection according to the fitness of individuals. Then the survived individuals reproduce offspring through crossover and mutation operators. This process iterates until termination condition is satisfied. It is Considerable to say that parameters such as pc, pm, POPSIZE, NOGEN, α, β, γ and θ must be determined before GA is started. The algorithm is as below: Procedure GA-based algorithm Begin Initialize P (k): {Create an initial population} Evaluation P (k): {evaluate all individuals in the population} Repeat For i=1 to 2*POPSIZE do Select 2 chromosomes as parent1 and parent2 from population Child1 and Child2←Crossover (parent1, parent2); Child1←Mutation (Child1); Child2←Mutation (Child2); Add (new temp population, Child1, Child2);
  • 12. End For Make (new population, new temp population, population); Population = new Population; While (not termination condition); Select best chromosome in population as solution and return it; End Conclusions Scheduling in distributed operating systems has a significant role in overall system performance and throughput. The scheduling in distributed systems is known as an NP-complete problem even in the best conditions. We have presented and evaluated new GA- Based method to solve this problem. This algorithm considers multi objectives in its solution evaluation and solves the scheduling problem in a way that simultaneously minimizes maxspan and communication cost, and maximizes average processor utilization and load-balance. Most existing approaches tend to focus on one of the objectives. Experimental results prove that our proposed algorithm tend to focus on all of the objectives simultaneously and optimize them. References 1. A Genetic Algorithm for Process Scheduling in Distributed Operating Systems considering Load Balancing, by M. Nikravan and M. H. Kashani 2. A Modified Genetic Algorithm for Process Scheduling in Distributed System, by Vinay Harsora and Dr. Apurva Shah, International Journal of Computer Applications, AIT – 2011